On Oct 2, 2008, at 6:56 PM, Babak S. H. wrote:
> before setting up a bug report in the svn bug database,
> we wanted to query this mailing list in the hope of getting an
> explanation
> for the following strange behaviour in a merge scenario:
>
> 1) A virgin repository is created (https://chucky:8443/svn/rep1)
> containing
> the directories "branches", "tags" and "trunk".
>
> 2) Repository is checked out in a working copy:
> svn co https://chucky:8443/svn/rep1 wc
>
> A wc\trunk
> A wc\branches
> A wc\tags
> Checked out revision 1.
>
> 3) Code project folder "proj" is copied into trunk. Folder "proj"
> contains merely the file test.cpp.
>
> 4) "proj" is added to be version managed via svn:
> svn add wc/trunk/proj
>
> A wc\trunk\proj
> A wc\trunk\proj\test.cpp
> -------------------------------------
> svn commit wc/trunk/proj -m "Genesis"
>
> Adding wc\trunk\proj
> Adding wc\trunk\proj\test.cpp
> Transmitting file data .
> Committed revision 2.
>
> 5) A private feature branch is created from trunk into branches:
> svn copy https://chucky:8443/svn/rep1/trunk/proj https://chucky:
> 8443/svn/rep1/branches
>
> Committed revision 3.
>
> 6) Working copy is sync'ed with repository:
> svn update wc
>
> 7) Now we rename in [wc/trunk/proj] test.cpp to xyz.cpp (off course
> via svn)
> svn mv test.cpp xyz.cpp
> A xyz.cpp
> D test.cpp
>
> svn commit -m "Moved test.cpp to xyz.cpp"
> Deleting proj\test.cpp
> Adding proj\xyz.cpp
>
> Committed revision 4.
>
> 8) Directory is changed to [wc/branches].
> We want to merge the recent changes in the baseline aka trunk
> (literally the diff between revisions 2 up to 4) into our
> private feature branch:
> svn merge -r 2:4 https://chucky:8443/svn/rep1/trunk/proj proj
>
> --- Merging r3 through r4 into 'proj':
> A proj\xyz.cpp
> D proj\test.cpp
>
> 9) In [wc/branches/proj] we modify the content of xyz.cpp and
> commit it
> creating svn revision 6.
>
>
> 10) Now we want to merge back the work in our branch into the
> baseline(trunk).
> Directory is changed to [wc/trunk].
>
> svn merge --dry-run -r 3:6 https://chucky:8443/svn/rep1/branches/
> proj proj
>
> --- Merging r4 through r6 into 'proj\xyz.cpp':
> C proj\xyz.cpp
> Skipped missing target: 'proj\test.cpp'
>
>
> We wonder about the skipped missing target (proj\test.cpp) message
> which
> actually shouldn't be any longer around neither in the private
> feature branch
> nor in trunk after the first merge and commit (steps: 8+9).
>
> Any hints ?
Wrong merge.
You already merged changes from trunk into the branch. To now bring
the changes from the branch into the trunk, you should therefore do
this merge:
svn merge https://chucky:8443/svn/rep1/branches/proj@6 https://chucky:
8443/svn/rep1/trunk/proj_at_6 proj
If you are not yet upgraded to at least Subversion 1.5 on both the
client and the server, you may want to do so. Then you can use the
new merge tracking features and don't have to worry about specifying
revisions to merge. Read about them here:
http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-10-03 12:16:13 CEST