[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [Subclipse-users] How do I resolve a tree conflict using Subclipse?

From: Stephen Elsemore <selsemore_at_collab.net>
Date: Fri, 23 Apr 2010 07:47:36 -0700

Hi Jacob,

There are a lot of different flavors of tree conflicts, and the Resolve Tree
Conflict wizard can only make an intelligent guess about what actions you
might want to take in the course of resolving each conflict. It uses the
information in the conflict, and sometimes the local resource status (for
example, a locally added resource potentially represents a rename in the
branch that was merged), to try and determine what happened and what you
might want to do to resolve the conflict. This process is not perfect, but
in most cases works pretty well. For example, consider the following tree
conflicts:

I. File f1 renamed to f2 in branch B. File f1 edited in branch A. Merge B
into A.

The Resolve Tree Conflict dialog prompts you to:

1) Merge f1 into f2.
2) Delete f1.
3) Mark conflict resolved.

The Compare option (to compare f1 to f2) is deselected by default.

This is probably a good guess about what you want to do.

II. File f1 renamed to f2 in branch A. File f1 edited in branch B. Merge
B into A.

The dialog prompts you to:

1) Merge branchB/f1 into f2.
2) Mark conflict resolved.

The Compare option (to compare branchB/f1 to f2) is deselected by default.

Again, probably a good guess.

III. File f1 deleted in branch B. File f1 edited in branch A. Merge B
into A.

The dialog prompts you to:

1) Merge f1 into some "arbitrary" resource that you can select.
2) Delete f1.
3) Mark conflict resolved.

The Compare option (to compare f1 to some "arbitrary" resource) is
deselected by default.

The merge target in step 1 is not completely arbitrary, as the dropdown is
prepopulated with all the local adds from the merge (making a stretch of an
assumption that one of them might have been the result of a rename in branch
B).

IV. File f1 deleted in branch A. File f1 edited in branch B. Merge B into
A.

The dialog prompts you to:

1) Merge branchB/f1 into some arbitrary resource that you can select.
2) Mark conflict resolved.

The Compare option is deselected by default.

Scenario IV is the example that you provided. The choices presented to you
by the wizard are certainly less than perfect. Your current option is
really only to deselect the Compare (deselected by default) and Merge
options, and choose Mark Resolved. It is still sometimes necessary to do
some investigation (looking at history, comparing revisions/branches, etc.),
from outside the Resolve Tree Conflict dialog.

You suggested providing an option to compare branchB/f1 to f1's common
parent in the two branches, but I don't know that even this would be
perfect. For example, there might be previous branchB/f1 changes that have
already been merged into branchA/f1 in the past.

If you want, please enter an issue for improving the Resolve Tree Conflict
wizard. I would suggest listing the tree conflict scenarios for which you
feel the resolution choices might be improved, with suggestions for what you
would like to see in each scenario. I'm not trying to put you off, but I
hope you can see that it can get complicated in a hurry.

Thanks,
Steve

On 4/21/10 4:40 PM, "Jacob Weber" <jacob_at_jacobweber.com> wrote:

> Can someone give me a quick tutorial on resolving tree conflicts with
> Subclipse?
>
> For example, say I deleted a file in branch A, and edited it in branch B. When
> I merge B into A, I get a tree conflict. In the Tree Conflicts view, it says
> "local missing, incoming edit upon merge". So far so good.
>
> Now, in order to resolve this conflict, I need to see what changes were made
> to the file in B. How do I do this? I don't see any way to do it from the
> Resolve dialog.
>
> It gives me the option to compare the file to an arbitrary file or folder,
> which I select from the workspace. Why would I want to do this, when the local
> file has been deleted? Wouldn't I just want to compare it to the common parent
> of the two branches?
>
> (The Compare/Merge target selection is a little strange too. When the conflict
> is on a file, it lets me select multiple files as targets, although it only
> seems to use one of them. When the conflict is on a folder, or on a file with
> no extension, it lets me select a folder as a target. But in this case I can
> select from anywhere in the workspace, not just the relevant project.)
>
> Any help would be appreciated. Thanks,
> Jacob
>
> ------------------------------------------------------
> http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=25920
> 20
>
> To unsubscribe from this discussion, e-mail:
> [users-unsubscribe_at_subclipse.tigris.org].

------------------------------------------------------
http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2593577

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subclipse.tigris.org].
Received on 2010-04-23 16:46:01 CEST

This is an archived mail posted to the Subclipse Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.