I remember chatting about this feature in the past. It's certainly
do-able. And seems useful, too. The complication that I see is that
your destination file will have a fork in its ancestry, which means
that answer questions like, "What did this line of history look like
in <some revison prior to the join>?" kinda complicated. Does the
answer include data from both tines of the fork (or all N of them,
right -- this operation can commute)?
Not that this is a new problem. We have the problem today, in trying
to answer "What does this line of history look like in <some revision
after a copy/branching operation>?"
Noel Torres <envite@rolamasao.org> writes:
> I'm not subscribed, so please CC me in the answer
>
> If a svn user decides to divide a bunch of code into two files, it's
> an easy task to accomplish using
>
> $ svn copy a_lot.c small_2.c
> $ svn move small_1.c
> then editing both small_*.c to delete the nonwanted section in each
> one, and then
> $ svn commit a_lot.c small_1.c small_2.c
>
> That way both small_1.c and small_2.c have the revision history of a_lot.c
> This is implemented actually.
>
> ¿But what if the svn-using developer wnat to JOIN the code of two
> files into one of them? This can happen if you have separate files
> during developing and want a single source code to release, or if you
> are taking code from several places of your repository to implement a
> new feature, but closely related to two actual pieces of code. Or
> simply if you are reorganizing a project.
>
> Can this be implemented in SVN? Maybe a 'svn join <main_small_source>
> <secondary_small_source> <destiny_big_source>' command which takes the
> history of its first argument, the log messages of first and second
> arguments signaling them with '<name>:\n' and puts the adequate marks
> in both three files' history.
>
> I'm writing this just because I've just needed that feature, and had
> to use several 'svn copy <piece> .', then edit them all to delete
> unwanted stuff, then 'cat <all but one pieces> > <main piece>' 'svn
> --force move <main piece> <destiny>' and 'svn delete <all but one -yet
> deleted- pieces>'.
>
> Thanks for any answer
>
> Noel Torres
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Dec 17 06:00:52 2004