Conflict detection during checkin

Friday, December 21, 2012 0 Comments

If you’re working on a shared branch (more developers committing to the branch you’re also using), chances are that at some point you’ll need to sync your workspace prior to complete a checkin.

You’re on changeset 12 of the branch:

Now you make some changes on your local copy that are not yet checked in to the branch.

At some point you decide to checkin but… another developer checkedin first, so you now have to merge from his changes first.

What’s the solution now?

So far you had to merge from changeset 13 into your workspace (what I drawn as cset 12’) and then checkin.

But, most of the times, fortunately, the changes made on “13” won’t collide with the ones you made on your workspace, so the merge wouldn’t be really necessary.

There are two options here:

  • The first one is manually updating your workspace. If there are not conflicting changes, your cset “12’” will now start from 13 instead of 12 (changes are perfectly applicable there) so there’s no merge conflict anymore
  • What we recently added to Plastic is the ability to do that operation automatically upon checkin: it will ask you if you want to update, and then it will complete the checkin.

The scenario after updating will be:

Actually, the dialog that the GUI will show is the following:

The title of the dialog is very explicative: “New files in the branch, update needed”. So, you can now update before checking changes because “ Since the changes in the branch don’t conflict with the changes in the workspace, you can simply update the workspace before checking in”

The following video summarizes this new feature of Merge and GUI.

0 comentarios: