subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: I need some help with a bad revision :(
Date Wed, 02 Feb 2011 11:06:14 GMT
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

Mime
View raw message