You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Ing. Paolo Mazzoni" <pa...@it-expert.it> on 2011/02/02 09:18:38 UTC

I need some help with a bad revision :(

?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 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.

Thank you


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

Posted by "Ing. Paolo Mazzoni" <pa...@it-expert.it>.
?Thank you, we solved :-)

My scenario was:

>  - 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"

But i didn't selected revision range N-M, so i suppose my old SVN Server 
included the revisions before the branch in which i moved the project root 
inside trunk and then branched:

revision N - 2:

- web
- ....
- build.xml

Revision N - 1:

trunk\web
....
trunk\build.xml

Here there is a delete of directories.

In revision N i branched...


Selecting manually a range N+1, M (HEAD) i got only conflicts on 
files....and i was able to fix them.

Maybe a recent version of SVN (with merge tracking) could automatically 
selecte the correct range of revisions ?

Thank you a lot!!!

--------------------------------------------------
From: "Stefan Sperling" <st...@elego.de>
Sent: Wednesday, February 02, 2011 12:06 PM
To: "Ing. Paolo Mazzoni" <pa...@it-expert.it>
Cc: <us...@subversion.apache.org>
Subject: Re: I need some help with a bad revision :(

> 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
>
>
> -----
> Nessun virus nel messaggio.
> Controllato da AVG - www.avg.com
> Versione: 10.0.1204 / Database dei virus: 1435/3417 -  Data di rilascio: 
> 01/02/2011
> 

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

Posted by Stefan Sperling <st...@elego.de>.
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