You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by ge...@t-mobile.at on 2006/07/25 13:02:54 UTC

Bug in rename / merge - producing unmergeable revisions [Virus checked]

Hi everybody,
I think I encountered a bug with rename  that resuls in revisions that
can't be merged, or more precisely,
can be merged but the result can't be committed.

It goes like

1. create trunk/A.txt
2. create a branch from trunk to b1
3. rename A.txt to something else
4. create  a new A.txt, with different content
5. commit it

When merging the results from this operation back  to trunk, and trying to
commit it, this error message occurred:

   Replacing      trunk\A.txt
   svn: Commit failed (details follow):
   svn: Out of date: '/trunk/A.txt' in transaction '3-1'

This first happened originally during refactoring of java sources in
eclipse (via subclipse), but was perferctly
reproducible later with TortoiseSvn 1.3.5 and later with plain commandline
subversion 1.3.2 on Windows 2000.
I think this is a severe problem, since it can produce branches that can't
be merged back, which is close to  a
corrupted repository.

I attached a svnadmin dump output of a repository to reproduce this
problem:

1. svnadmin load renamebug.dmp
2. checkout the whole repository and cd to root
3. Edit the repository url in creatbranch.bat  and  mergebranch.bat  (
windows batch files)
3. creatbranch.bat will create the branch
4. mergebranch.bat will do the merge (and fail at the commit)

Please confirm if this is a bug, so it can be posted as one.
regards,
Gernot

(See attached file: renamebug.dmp)

Re: Bug in rename / merge - producing unmergeable revisions [Virus checked]

Posted by Erik Huelsmann <eh...@gmail.com>.
On 7/25/06, gernot.eger@t-mobile.at <ge...@t-mobile.at> wrote:
>
> Hi everybody,
> I think I encountered a bug with rename  that resuls in revisions that
> can't be merged, or more precisely,
> can be merged but the result can't be committed.
>
> It goes like
>
> 1. create trunk/A.txt
> 2. create a branch from trunk to b1
> 3. rename A.txt to something else
> 4. create  a new A.txt, with different content
> 5. commit it
>
> When merging the results from this operation back  to trunk, and trying to
> commit it, this error message occurred:
>
>   Replacing      trunk\A.txt
>   svn: Commit failed (details follow):
>   svn: Out of date: '/trunk/A.txt' in transaction '3-1'

This issue is fixed in 1.4.0: until then, replacements-with-history are broken.

HTH,

Erik.

PS: The workaround is to merge until the delete, commit that and then
merge from the add...

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org