This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: A couple more subversion notes


Here are my first impressions on trying to use subversion.

Note that I didn't go to any doc or wiki page yet, I simply copy/pasted
the commands I saw on the gcc list. I am familiar with cvs commands and
expect most things to be handled similarly.

- first check out:

svn co svn+ssh://gcc.gnu.org/svn/gcc/trunk

took a lot of time, but I assume this is somewhat expected, and not really
a concern as I am not doing complete check outs often.

Then tried a few "cvs" things without much success:

$ cd trunk/gcc/ada
$ svn status Makefile.in
-> didn't get any answer
$ svn status --help Makefile.in
-> saw --verbose and --show-updates options

$ svn status --verbose Makefile.in
           105364   103893 charlet      Makefile.in

Not clear how to interpret this output without having to go to the doc,
no easy way to guess with my cvs knowledge, nor with my english knowledge.

I guess I was expecting something more verbose ala cvs, e.g a real "status" 
in english, such as up-to-date, locally modified, needs merge, ...
instead of "nothing" or "M" which are rather cryptic for a subversion
novice.

$ svn status --show-updates Makefile.in
Status against revision: 105364

All right, I guess my Makefile.in file is at revision 105364.

Then:

$ svn log Makefile.in | more

figure out that the last two revs are 105364 and 103893 (and now I guess
I understand svn status --verbose output).

Note: coming from a cvs background, having non incremental version numbers
*per file* is very disruptive and non intuitive. I suspect it will take
me some time to adjust to this. Any suggestions/tricks welcome.

Now:

$ svn diff -r101581 -r103893 Makefile.in
svn: Multiple revision arguments encountered; try '-r M:N' instead of '-r M -r N'

All right, not very friendly to cvs users, but ok...

$ time svn diff -r101581:103893 Makefile.in
[repeated several times]

took between 16 and 22 seconds. 18 seconds typically.

Now, did a cvs diff -r1.120 -r1.121 Makefile.in

took between 3 and 5 seconds. 3.5 seconds typically.

Is there any way to improve such svn diff operation ? (Note that
I frequently do cvs diff on arbitrary revisions, not just the last two,
although doing cvs diff -rHEAD is probably the most frequent operation
I rely upon).

There is a factor more than 5 between svn diff and cvs diff in my set up
(svn 1.2.3, redhat 8), and this will likely significantly impact my work on
gcc

Log isn't as bad, but still annoying:

$ time svn log Makefile.in
gives about 5.5 seconds

$ time cvs log Makefile.in
gives about 4.5 seconds

Here, there's a 1 second difference (about 22%).

My 2 cents.

Arno


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]