You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Matt England <me...@mengland.net> on 2006/02/10 16:39:06 UTC

Why does a merge require one to supply revs at cmdline?

Why does a 'svn merge' command require one to supply revs at the cmdline?


Details:

Put another way:  if the svn system already knows from which rev a branch 
was copied/branched (and --stop-on-copy demonstrates that it does, or at 
least can know), why does the human user need to manually extract this rev 
number (in addition to the *last* rev number) and supply it on command line 
as per:

$ svn merge -r 341:405 
http://svn.example.com/repos/calc/branches/my-calc-branch

As demonstrated at:

http://svnbook.red-bean.com/en/1.1/ch04s04.html#svn-ch-4-sect-4.1

?

In other words, why can't svn be "smart" about this operation:

$ svn merge http://svn.example.com/repos/calc/branches/my-calc-branch

...and simply apply all the changes made in my-calc-branch so that the user 
doesn't have to hunt down the rev numbers and type them in on the command 
line...which if you're merging a lot, particularly with individual files, 
can be a rather tedious task to do over and over.  Yes, the svn system 
would have to be smart enough to figure out, if the '-r' switch is not 
provided, if the target represented by the parameter (in the above example) 
is truly a branch/copy of the current working copy directory...but is that 
really that hard?

Is this simply a future feature?  I'd sure like it.  I can see continually 
merging to be a dreaded task, especially with all the branches I can see 
forthcoming in my open-source project.

-Matt 


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

Re: Why does a merge require one to supply revs at cmdline?

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Feb 10, 2006, at 17:39, Matt England wrote:

> Why does a 'svn merge' command require one to supply revs at the  
> cmdline?

Because Subversion does not support merge tracking yet. The feature  
request was entered into the tracker in July of 2002 but it is  
currently not scheduled for a specific future release. Many people  
want this, to be sure, but it is a very complex problem and has not  
been implemented yet.

http://subversion.tigris.org/issues/show_bug.cgi?id=820



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

Re: Why does a merge require one to supply revs at cmdline?

Posted by Lieven Govaerts <lg...@mobsol.be>.
Matt,


the feature you describe is called 'Merge Tracking', and is not implemented in
Subversion.

Issue 820 is logged for this feature:
http://subversion.tigris.org/issues/show_bug.cgi?id=820
Don't expect this to be finished anywhere soon, because yes, this feature is
hard to implement!

There are some scripts for Subversion that can partly assist you in merge
tracking:

svnmerge:
A Python script stored in the subversion repository here:
http://svn.collab.net/repos/svn/trunk/contrib/client-side/

svk:
A decentralized version control system using Subversion as backend:
http://svk.elixus.org/

Lieven.


Quoting Matt England <me...@mengland.net>:

> Why does a 'svn merge' command require one to supply revs at the cmdline?
>
>
> Details:
>
> Put another way:  if the svn system already knows from which rev a branch
> was copied/branched (and --stop-on-copy demonstrates that it does, or at
> least can know), why does the human user need to manually extract this rev
> number (in addition to the *last* rev number) and supply it on command line
> as per:
>
> $ svn merge -r 341:405
> http://svn.example.com/repos/calc/branches/my-calc-branch
>
> As demonstrated at:
>
> http://svnbook.red-bean.com/en/1.1/ch04s04.html#svn-ch-4-sect-4.1
>
> ?
>
> In other words, why can't svn be "smart" about this operation:
>
> $ svn merge http://svn.example.com/repos/calc/branches/my-calc-branch
>
> ...and simply apply all the changes made in my-calc-branch so that the user
> doesn't have to hunt down the rev numbers and type them in on the command
> line...which if you're merging a lot, particularly with individual files,
> can be a rather tedious task to do over and over.  Yes, the svn system
> would have to be smart enough to figure out, if the '-r' switch is not
> provided, if the target represented by the parameter (in the above example)
> is truly a branch/copy of the current working copy directory...but is that
> really that hard?
>
> Is this simply a future feature?  I'd sure like it.  I can see continually
> merging to be a dreaded task, especially with all the branches I can see
> forthcoming in my open-source project.
>
> -Matt
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>




----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


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