subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anton Shepelev <>
Subject Re: Automatically supply the origin URL in svn merge
Date Thu, 26 Mar 2020 22:21:07 GMT
Stefan Sperling:

> It's not that simple, as the conflict resolver demonstates.
> You're not taking cases into account where multiple copies within
> a signle revision correspond to a single deletion.
> So if you want to handle that then you must either error out when
> the heuristic fails, or morph 'svn merge' into an interactive
> question and answer game with the user, much like the conflict
> resolver can behave when it finds ambiguity trying to match up
> copies and deletions.

I do not think the first usable version should implement such
smart logic. Even the most primitive algorithm that uses the source
of the last `svn cp', if it has not been `svn rm'ed later, will
cover 95% or more of cases when SVN copies are used as true
branches, that is as lateral lines of development that are merged
back into the trunk when the task is considered complete.

OK, let the user specify the source if it has been moved, even
though with more work even that can be traced.

> All instead of requiring the user to simply type one simple
> argument on the command line to run a merge!

In a way, yes -- because it is a difference between delegating work
to SVN or doing it manually. An SVN developer or contributor can
spend, say, five hours and save thousands of hours for the users.

> The ultimate goal here is to allow users to type less characters
> when starting merges.

Not only to type less, but also to think less. In the pure branch
usecase, the origin URL may be thought of as being part of the
branch metadata, so that sync-merge and reintegraion merge are
well-defined without *any* additional arguments: each branch "knows"
its parent bow or trunk, from which it sprouts.

> Scripting tab-completion for SVN URL arguments into your
> favourite shell would also be a usable and effective solution.

I do not think it a good idea because there is only one SVN but
many shells. There are already similar short-cuts in SVN, such as
the caret symbol. They belong to SVN rather than to external
automation, because the most basic and frequent operations should
be supported natively and in the most efficient manner possible.

()  ascii ribbon campaign - against html e-mail
/\ [archived]

View raw message