You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Andy Dingley <an...@talgentra.com> on 2006/09/22 14:39:00 UTC

Merging to a non-existent target?

I have a large project. Multi-team (Java, DB, Implementation), multi
development trunk, multi-customer. With the aid of embedded Dublin Core
properties, structured SVN comments and Bugzilla IDs, there's also a lot
of release document generation based on querying the SVN repository.

I do an average of one manual build a day. Typically this involves
taking a core product from the Java team, merging in the latest from the
DB team, then merging in customer-specific tweaks from the
Implementation team. It's then tagged and the release notes (list of
changes and related Bugzillas) are generated by diffing the logs from
this tag to the previous tag.

The first merge is easy. The (Java) core product includes old copies of
the DB work, I just have to make sure that they're current. The DB
team's work is in a separate directory of the same repository, so a
simple merge onto the core works fine. I also have full tracking of SVN
logs on the merged items so my release note generator works.

The second merge is what's causing the problem. The things being merged
in ( typically "<customername>-<taskname>.sql" ) simply don't exist in
the core. I can do the "merge" easily enough with an SVN export and SVN
add, but this doesn't preserve the SVN log. Every "added" customisation
is seen as appearing anew, and my release notes treat it as such.  This
is great for the first build, but for later builds I really do need to
have SVN log show the SVN history of the customisation, as it existed in
the Implementation team's SVN directory.

I can't "merge" because my target doesn't have a matching entity in it.
If I export (as I currently do), then I lose the log history. Is there
any way to do a merge like this?  I've been trying obvious ideas but it
seems that anything involving "export" or "add" loses the connection to
the past history.

Any advice?

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


RE: Merging to a non-existent target?

Posted by "Reedick, Andrew" <An...@BellSouth.com>.
> -----Original Message-----
> From: Andy Dingley [mailto:andy.dingley@talgentra.com] 
> Sent: Friday, September 22, 2006 10:39 AM
> To: users@subversion.tigris.org
> Subject: Merging to a non-existent target?
> 
> 
> The second merge is what's causing the problem. The things 
> being merged
> in ( typically "<customername>-<taskname>.sql" ) simply don't exist in
> the core. I can do the "merge" easily enough with an SVN 
> export and SVN
> add, but this doesn't preserve the SVN log. Every "added" 
> customisation
> is seen as appearing anew, and my release notes treat it as 
> such.  This
> is great for the first build, but for later builds I really do need to
> have SVN log show the SVN history of the customisation, as it 
> existed in
> the Implementation team's SVN directory.
> 
> I can't "merge" because my target doesn't have a matching 
> entity in it.
> If I export (as I currently do), then I lose the log history. Is there
> any way to do a merge like this?  I've been trying obvious 
> ideas but it
> seems that anything involving "export" or "add" loses the 
> connection to
> the past history.
> 

"svn copy" will preserve history.


> I can't "merge" because my target doesn't have a matching 
> entity in it.

A merge requires two passes.  One to merge the directory (add/remove
file objects,) and a second to merge the actual contents of the files in
the directory.

You can add files by merging sub-directories.  
- svn co svn://.../.../regular_code_base/a/b/c/db_scripts
- cd db_scripts
- svn merge -r X:Y svn://.../.../customerAlpha/sql_scripts




*****

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential, proprietary, and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from all computers. GA621


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