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

Re: I need some help with a bad revision :(

From: Stefan Sperling <stsp_at_elego.de>
Date: Wed, 2 Feb 2011 12:06:14 +0100

On Wed, Feb 02, 2011 at 09:18:38AM +0100, Ing. Paolo Mazzoni wrote:
> ?First of all, sorry for my english that is not my mother language.
>
> Some times ago i did a branch in my project, i tryed to do a project folder:
>
> - trunk
> - branches
> - branch1
> - tags
>
> Later i had to develop disconnected from my SVN server so i checked out in my notebook ALL the project folder,
> because i don't know when i have to work on the trunk (for example, i'm developing the branch one and the customer call me to fix a bug in the trunk).
> I had TortoiseSVN installed.
>
> So i modified the trunk and the branch1 and then i committed all with TortoiseSVN at the project root level of directory. Doing so several times i had that in every revision i have files modified from trunk and from branch togheter.
>
>
> The problem is when i try to merge revisons of trunk to the branch1, i got all "local tree conflicts" on every directory at the project main directory:
> For example (for a Netbeans project):
>
> - src
> - web
> - nbproject
> - ...
> - build.xml
>
> So it is impossible to merge...
>

How are you trying to merge, exactly?

Merge (in general) needs the following arguments:
  - left side of source: A repository URL and a revision
  - right side of source: A repositry URL and a revision
  - merge target: a working copy path

Merge applies the difference between left and right to the target.
So when you merge from trunk branch, you'd use arguments like:

  - left side of source: URL to "trunk", revision N
  - right side of source: URL to "trunk", revision M (where N < M)
  - merge target: a working copy of "branches/branch1"

With merge tracking, Subversion is smart enough to automatically
fill in N and M for you.

In Tortoise, you would perform this merge by using the first merge
method in the merge dialog. In the next window, use an empty revision
range (so that N and M will be calculated automatically), and put the
URL of trunk as the merge source, and use the path to a working copy
of branches/branch1 as the target (this path can be a subdirectory
of an existing working copy).

Is this how you are trying to do the merge?

> How can i resolve this ? It is due to my "cross-branch" revisions ? Because i don't think to have deleted or renamed files in the project.

The revisions that modify both trunk and branch should not be a
problem if you use the right URLs and the right target working copy
in the arguments to merge.
Merge always needs both a path and a revision because a revision alone
can be ambiguous (as it is in your situation).

Stefan
Received on 2011-02-02 12:06:57 CET

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