This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: svn diff branch woprking copy against mainline?
Mike Stump wrote:
svn diff --old svn+ssh://gcc.gnu.org/svn/gcc/tags/gcc_4_0_1_release/
gcc/file.c --new file.c
Thanks, --old / --new does the trick. However, I must say the error
message is rather misleading.
svn needs to go on a long command line diet, it is seriously no fun
to repeat things, over, and over. In cvs, I used the equivalent of
svn+ssh://gcc.gnu.org/svn/gcc once a year or so, with svn, it is just
annoying.
Agreed. The problem here actually seems to be with the design (or
non-design) of branches
and tags in svn. IIUC, svn has no concept that all the files under
trunk are really the mainline, and
that the trees under branches/xxx bear any relation to trunk other than
that all the files and directories
happen to be related by a copy operation. In order to have a shorthand
to redirect from one branch
to another (or branch to mainline or vice versa), svn first would have
to have a concept of where
the mainline and the branch roots are in the first place, and what to
call them. Likewise for tags.
Considering different possible repository layouts and languages for the
trunk/branches designators
in the actual full tree, that seems require a configuration file (or a
section in a larger configuration
file).
Maybe something like:
#(nick)name-regexp location
trunk trunk
mainline trunk
\(.*branchpoint.*\) tags/\1
\(.*branch.*\) branches/\1
\(.*\) tags/\1
with the further constraint that a match occurs only if the associated
location exists.
E.g. if you say -rgcc_4_1_1_release, and tags/gcc_4_1_1_release exists,
you'd
refer to files in that subtree rather than the ones your current working
copy is based on.
Another problem with command line length extension is specifying the
number of lines
of context. To specify nine lines of context used to be a simple -9,
then the POSIX police
came and required us to use -U9, (without asking if we wanted to be
posixly corrected or
posixed any harder) and with svn this is finally expanded to -x -U9.