You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Simon McClenahan <sm...@healthcompartners.com> on 2004/05/11 15:48:32 UTC
Merging moved files
I am trying to execute a suggested example for branches as briefly stated in http://svnbook.red-bean.com/svnbook/ch04s02.html
--------------------------
Let's say that you've been given the task of performing a radical reorganization of the project. It will take a long time to write, and will affect all the files in the project. The problem here is that you don't want to interfere with Sally, who is in the process of fixing small bugs here and there. She's depending on the fact that the latest version of the project (in /calc/trunk) is always usable. If you start committing your changes bit-by-bit, you'll surely break things for Sally.
--------------------------
So I created my branch, and re-organized a whole bunch of stuff, by using svn move (or it's TortoiseSVN equivalent). In the mean time, work goes on in the trunk. Now I'm finally ready to merge the reorg branch into the trunk. An svn update in the branch produces nothing. Merging the branch into the trunk seems successful since a whole bunch of stuff was added or deleted. Unfortunately, the most recent stuff was deleted and the old stuff from the time of branch creation was added! The book says that svn move is actually an svn copy and delete. That means we keep the history, but the merge doesn't know anything about changes.
Here is an example of one file that was moved that need to be updated. No doubt there are many others. How do I find them and merge them now?
I have committed this merge. Do I need to reverse the merge again to back out? What would be a best practice for doing a file re-organization that would take a long time, as declared in the book?
My moved file in the reorg branch
C:\>svn log http://bart/svn/online/branches/reorg/EJB/src/META-INF/ejb-jar.xml
------------------------------------------------------------------------
r105 | smcclena | 2004-04-06 13:48:08 -0500 (Tue, 06 Apr 2004) | 1 line
Moved remotely
------------------------------------------------------------------------
r98 | smcclena | 2004-04-05 11:38:03 -0500 (Mon, 05 Apr 2004) | 1 line
Starting on Java code re-organization and build scripts
------------------------------------------------------------------------
r1 | smcclena | 2004-02-09 12:04:33 -0600 (Mon, 09 Feb 2004) | 1 line
Initial Import
------------------------------------------------------------------------
C:\>svn log -v -r105 http://bart/svn/online/branches/reorg/EJB/src/META-INF/ejb-jar.xml
------------------------------------------------------------------------
r105 | smcclena | 2004-04-06 13:48:08 -0500 (Tue, 06 Apr 2004) | 1 line
Changed paths:
A /branches/reorg/EJB/src (from /branches/reorg/PatientCompass/src/ejb:104)
D /branches/reorg/PatientCompass/src/ejb
Moved remotely
------------------------------------------------------------------------
Updates to the file in its old location on the trunk
C:\>svn log -r 254:1 http://bart/svn/online/trunk/PatientCompass/src/ejb/META-INF/ejb-jar.xml
------------------------------------------------------------------------
r254 | johncm | 2004-05-07 19:04:27 -0500 (Fri, 07 May 2004) | 1 line
Changes for method parameters.
------------------------------------------------------------------------
r253 | johncm | 2004-05-07 17:34:19 -0500 (Fri, 07 May 2004) | 1 line
Formatting changes.
------------------------------------------------------------------------
r238 | smcclena | 2004-05-06 18:11:52 -0500 (Thu, 06 May 2004) | 1 line
Fix bug in reporting
------------------------------------------------------------------------
r215 | smcclena | 2004-04-20 17:02:42 -0500 (Tue, 20 Apr 2004) | 1 line
N-day resend
------------------------------------------------------------------------
r1 | smcclena | 2004-02-09 12:04:33 -0600 (Mon, 09 Feb 2004) | 1 line
Initial Import
------------------------------------------------------------------------
Merged branch into trunk, but none of the recent changes are applied because svn merge thinks it's a new added file.
C:\>svn log http://bart/svn/online/trunk/EJB/src/META-INF/ejb-jar.xml
------------------------------------------------------------------------
r256 | smcclena | 2004-05-10 21:22:04 -0500 (Mon, 10 May 2004) | 1 line
Merged branches/reorg changes r98:254 into the trunk.
------------------------------------------------------------------------
r105 | smcclena | 2004-04-06 13:48:08 -0500 (Tue, 06 Apr 2004) | 1 line
Moved remotely
------------------------------------------------------------------------
r98 | smcclena | 2004-04-05 11:38:03 -0500 (Mon, 05 Apr 2004) | 1 line
Starting on Java code re-organization and build scripts
------------------------------------------------------------------------
r1 | smcclena | 2004-02-09 12:04:33 -0600 (Mon, 09 Feb 2004) | 1 line
Initial Import
------------------------------------------------------------------------
--------------------------
NOTE: This message and any included attachments are from HealthCom Partners, LLC and are intended only for the addressee(s). The information contained herein may include trade secrets or privileged or otherwise confidential information. Unauthorized review, forwarding, printing, copying, distributing, or using such information is strictly prohibited and may be unlawful. If you received this message in error, or have reason to believe you are not authorized to receive it, please promptly delete this message and notify the sender by e-mail.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Merging moved files
Posted by Ben Collins-Sussman <su...@collab.net>.
On Tue, 2004-05-11 at 10:48, Simon McClenahan wrote:
> So I created my branch, and re-organized a whole bunch of stuff, by
> using svn move (or it's TortoiseSVN equivalent). In the mean time,
> work goes on in the trunk. Now I'm finally ready to merge the reorg
> branch into the trunk. An svn update in the branch produces nothing.
> Merging the branch into the trunk seems successful since a whole bunch
> of stuff was added or deleted. Unfortunately, the most recent stuff
> was deleted and the old stuff from the time of branch creation was
> added! The book says that svn move is actually an svn copy and delete.
> That means we keep the history, but the merge doesn't know anything
> about changes.
You've left out all the details of (1) how you made the branch, (2) how
you actually did the merge (what exact command did you run to do the
merge?) Without this information, it's hard to figure out what went
wrong. And I don't have the patience to look at your various log
outputs and try to guess what happened, or how to clean up the mess.
If I were you, I would undo the commit of the merge, so your trunk
returns back to its pristine pre-merge state.
Then, show us an exact transcript of your merge command, and the output
that results.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org