You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Robert Voliva <rv...@gmail.com> on 2015/04/21 19:20:48 UTC
Merge from a branch of a branch to trunk, losing files
Hello,
I created a branch off of trunk. Files were added to that branch. A
branch was created off of that branch. Files were added/changed in that
branch. The second branch was merged back to trunk. The files added in
the first branch, before the second branch was cut from it, were not
included in the merge.
Slightly more visual:
trunk
----project1
--------file1
(make branch)
branches
----branch1
--------file1
--------branchfile1
(make branch of branch1)
----branch2
--------file1
--------branchfile1
--------branchfile2
--------branchfile3
When you go to merge branch2 into trunk, branchfile1 is not merged. Can
someone explain this to me as to what is going on? Bug in svn?
Documentation to why you can't do this?
Thanks,
Robert Voliva
Re: Merge from a branch of a branch to trunk, losing files
Posted by Johan Corveleyn <jc...@gmail.com>.
On Tue, Apr 21, 2015 at 7:20 PM, Robert Voliva <rv...@gmail.com> wrote:
> Hello,
>
> I created a branch off of trunk. Files were added to that branch. A branch
> was created off of that branch. Files were added/changed in that branch.
> The second branch was merged back to trunk. The files added in the first
> branch, before the second branch was cut from it, were not included in the
> merge.
>
> Slightly more visual:
>
> trunk
> ----project1
> --------file1
> (make branch)
> branches
> ----branch1
> --------file1
> --------branchfile1
> (make branch of branch1)
> ----branch2
> --------file1
> --------branchfile1
> --------branchfile2
> --------branchfile3
>
> When you go to merge branch2 into trunk, branchfile1 is not merged. Can
> someone explain this to me as to what is going on? Bug in svn?
> Documentation to why you can't do this?
Hi Robert,
Sorry it took a while to get a response. However, I cannot reproduce
what you are seeing, when trying something like this with svn 1.8.11
(see below).
What version are you using? Maybe this was a bug in older versions of
svn that has since been fixed ... Alternatively, maybe I'm missing
something in my scenario. In that case, can you show a series of steps
or a transcript to reproduce this?
Below is a transcript of what I tried (I tried doing exactly what you
described above). At the end you can see that both branchfile1 (from
branch1) and branchfile2 (from branch2) are merged to trunk.
[[[
C:\Temp\svntest>svn --version -q
1.8.11
C:\Temp\svntest>svnadmin create repos
C:\Temp\svntest>svn mkdir -mm file:///c:/temp/svntest/repos/trunk
file:///c:/temp/svntest/repos/branches
Committed revision 1.
C:\Temp\svntest>svn co file:///c:/temp/svntest/repos/trunk wc-trunk
Checked out revision 1.
C:\Temp\svntest>cd wc-trunk
C:\Temp\svntest\wc-trunk>echo test > file1
C:\Temp\svntest\wc-trunk>svn add file1
A file1
C:\Temp\svntest\wc-trunk>svn ci -mm
Adding file1
Transmitting file data .
Committed revision 2.
C:\Temp\svntest\wc-trunk>cd ..
C:\Temp\svntest>svn cp -mm file:///c:/temp/svntest/repos/trunk
file:///c:/temp/svntest/repos/branches/branch1
Committed revision 3.
C:\Temp\svntest>svn co file:///c:/temp/svntest/repos/branches/branch1 wc-branch1
A wc-branch1\file1
Checked out revision 3.
C:\Temp\svntest>cd wc-branch1
C:\Temp\svntest\wc-branch1>echo test > branchfile1
C:\Temp\svntest\wc-branch1>svn add branchfile1
A branchfile1
C:\Temp\svntest\wc-branch1>svn ci -mm
Adding branchfile1
Transmitting file data .
Committed revision 4.
C:\Temp\svntest\wc-branch1>cd ..
C:\Temp\svntest>svn cp -mm
file:///c:/temp/svntest/repos/branches/branch1
file:///c:/temp/svntest/repos/branches/branch2
Committed revision 5.
C:\Temp\svntest>svn co file:///c:/temp/svntest/repos/branches/branch2 wc-branch2
A wc-branch2\branchfile1
A wc-branch2\file1
Checked out revision 5.
C:\Temp\svntest>cd wc-branch2
C:\Temp\svntest\wc-branch2>echo test > branchfile2
C:\Temp\svntest\wc-branch2>svn add branchfile2
A branchfile2
C:\Temp\svntest\wc-branch2>svn ci -mm
Adding branchfile2
Transmitting file data .
Committed revision 6.
C:\Temp\svntest\wc-branch2>cd ..\wc-trunk
C:\Temp\svntest\wc-trunk>svn merge
file:///c:/temp/svntest/repos/branches/branch2 .
svn: E195020: Cannot merge into mixed-revision working copy [1:2]; try
updating first
C:\Temp\svntest\wc-trunk>svn up
Updating '.':
At revision 6.
C:\Temp\svntest\wc-trunk>svn merge
file:///c:/temp/svntest/repos/branches/branch2 .
--- Merging r3 through r4 into '.':
A branchfile1
--- Recording mergeinfo for merge of r3 through r4 into '.':
U .
--- Merging r5 through r6 into '.':
A branchfile2
--- Recording mergeinfo for merge of r5 through r6 into '.':
G .
C:\Temp\svntest\wc-trunk>dir /b
branchfile1
branchfile2
file1
C:\Temp\svntest\wc-trunk>svn st
M .
A + branchfile1
A + branchfile2
C:\Temp\svntest\wc-trunk>svn ci -m"merged branch2 to trunk"
Sending .
Adding branchfile1
Adding branchfile2
Committed revision 7.
]]]
--
Johan