Hi,

this may be some thing already convered, but then it may be hidden … I
work a lot in a repository with several levels of directories that have
copy/merge relations to each other. Hence I often need to do something like

$ cd /checkout/some/dir
$ svn merge ^/some/dir/foo/bar baz/flu

(Ideally I'd like to be able to say 'merge foo/bar baz/flu, but it is
bothersome to find out what to do to satisfy E195002, addressing the
repo is easier than that.)

Or I might just want to know what is there in the repo before doing

$ svn up --parents some/path

in a shallow working copy. There I also have to do

$ svn list ^/some/dir/some

to see my options.

Is there a way to shorten the ^/some/dir? It seems like something
obvious that there would be a shorthand for 'the location in the repo
that corresponds to the current working durctory'. Pardon me if I
managed to miss it in the documentation. If it is not existing, would
the project be open to adding it? I'm not sure about all implicatons of
handling ^ in paths … but I halfway expected something like

$ svn list ^^/

to give me a listing of ^/some/dir/. Or of

$ svn merge ^^/foo/bar baz/flu

meaning to merge the path foo/bar in the current working directory into
baz/flu, with the state it has in the repo.

Is this something that has been considered before? I only find old
questions and hacks like on

        
https://stackoverflow.com/questions/41416499/this-working-copys-repository-url-shorthand-in-svn

where a shell function defines shell variables with the respective
parent paths. Doesn't seem that convenient.

As I repeatedly tell people who wonder why anyone is still using svn,
working with the paths in a directory structure, and even just paths
without actual data (empty directories) is the strong aspect of
subversion, compared to git, which is very good at handling content,
less so the structure around it.

It would be nice if the svn command line would make working with
directory trees and partial checkouts a bit easier by providing such a shortcut 
for

$ svn merge "$(svn info | grep ^Relative\ URL:| cut -f 3- -d ' ')"/foo/bar 
baz/flu

Well … I can define that as command or shell function … but ^^ is still
a lot nicer to type than $(svnrelpath).


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg

Reply via email to