Ben Reser wrote on Thu, Aug 22, 2013 at 22:18:49 -0700:
> bA=^/project1/branches/branchA
> svn merge $bA

That was also the argument against adding ^/, wasn't it?

The counter-argument is that "Make URL targets easier to input" is
a problem that every user of the cmdline client has (scripts included,
btw), so it makes sense to solve it centrally.

> I'm sure you can probably even get your shell to be fancy and figure out
> what project you're working in and apply the proper root (you have
> access to this with svn info).
> 
> Additionally I'm concerned that this just confuses the meaning for users
> of how ^/ works.  I can already see the user complaints that Subversion
> merged the wrong thing for them because they forget -b.
> 
> Let's just say that at this point I'm skeptical of the need for this.

I don't like -b.  It's a confusing syntax, mixing named and positional
arguments (how would it work with 'svn diff --old=URL'?), interferering
with the '--' convention, etc.

But extending ^/bar to ^foo/bar is something I've long wanted to see,
precisely so that URLs other than the repository root may be
abbreviated.  (Right now ^ must always be followed by /.)  I've been
thinking of a config file entry, mapping "foo" to expanded value of
"^/foo", but an inherited property (so we don't need to figure out
"/subversion" from the wc root URL's[1]) is an interesting alternative.

A problem with the regexp captures approach is that it doesn't allow
shortening the basename, while I would like to, say, shorten
"fsfs-improvements" and "invoke-diff-cmd-feature" to "fsfs-imp" and,
say, "idc".  Perhaps we should extend the syntax to allow making
something other than \1 (first capture group) the shortname of a given
regexp match?

Daniel



[1] We can't assume a particular repository layout.

Reply via email to