[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: newbie subversion questions

From: Stefan Sperling <stsp_at_elego.de>
Date: Mon, 3 Jan 2011 15:45:37 +0100

On Sat, Jan 01, 2011 at 12:30:23AM +0530, shirish शिरीष wrote:
> Hi all,
> This is going to be a long post and actually a repost of what I asked
> in Debian forum few days ago.
> http://forums.debian.net/viewtopic.php?f=10&t=58799 but got no answer.
>
> This is from svn version 1.6.12 .
>
> <quote>
> Hi all,
> I am no programmer, just a user who sometimes downloads svn snapshots
> or trunk builds and compiles them. My subversion skills are hence
> extremely poor and hence need the forum expertise to know. Few
> questions below :-
>
> a. Is there a way in subversion when you are downloading some new
> project progress as in megabytes downloaded etc. An excerpt so it will
> make clear what I am asking :-
>
> $ svn co https://pagesofadventur.svn.sourceforge.net/svnroot/pagesofadventur
> pagesofadventur
> A pagesofadventur/trunk
> A pagesofadventur/trunk/.classpath
> A pagesofadventur/trunk/COMPILING
> A pagesofadventur/trunk/compile.sh
> A pagesofadventur/trunk/LICENSE
> A pagesofadventur/trunk/.project
> A pagesofadventur/trunk/lib
> A pagesofadventur/trunk/lib/libopenal64.so
>
>
> This is just an small FOSS game coming up which I checked out recently
> and its just an excerpt of the whole svn release. What I want to know
> is can something be added to the command so it gives something like
> this :-
>
> A pagesofadventur/trunk ------ downloaded 5 KB
> A pagesofadventur/trunk/.classpath ...... downloaded 15 KB
> A pagesofadventur/trunk/COMPILING ...... downloaded 25 KB
>
> Something that will either give the total bandwidth being consumed
> (total size of the directory being downloaded in real-time or the size
> of the file in real-time) either of them will be good. As of right now
> I don't see or know how much data is being downloaded.
>
> a1. Also is there some sort of progress meter or something which can
> be used ? Something like we get in wget ?

wget can easily do this because it can ask the server for the total file size.

Data in Subversion repositories is deltified against previous versions,
and also compressed. So the amount of data in the repository is often
much smaller than the amount of data that ends up in the working copy.
Also, wget is only getting one file, whereas Subversion is downloading
a directory tree of unknown size.

It might be possible to add additional meta data to the repository
in order to allow Subversion clients to request to total expanded size
of the tree they are downloading. But this hasn't been implemented and
I'm not aware of plans to do so (though design ideas and patches are
always welcome).

> b. At the moment, svn info gives very sparse information. I get
> something like this only :-
>
> $ svn info
> Path: .
> URL: https://pagesofadventur.svn.sourceforge.net/svnroot/pagesofadventur/trunk
> Repository Root:
> https://pagesofadventur.svn.sourceforge.net/svnroot/pagesofadventur
> Repository UUID: 61f2b476-27aa-424f-a2cb-73af79cd3606
> Revision: 38
> Node Kind: directory
> Schedule: normal
> Last Changed Author: edwardlii
> Last Changed Rev: 38
> Last Changed Date: 2010-12-28 22:34:51 +0530 (Tue, 28 Dec 2010)
>
> Now I know that whenever people make a changeset or do a svn push,
> they usually comment the update/release whatever. How can I access
> whatever comment the author has made ?

Use the svn log command.

> </quote>
>
> Looking forward for answers to the above.
>
> Also is it just possible just to kinda browse/look in/get messages of
> the newest svn commits and not the actual code ?

Yes, svn log can also work with URLs.

Depending on the project there might also be a web interface to the
repository, such as this one for Subversion itself:
http://svn.apache.org/viewvc/subversion/trunk/

> I'm asking as I'm in a constrained bandwidth environment and have to
> pick and choose when I can pull svn commits. It would be handy to just
> get and read through the commit messages and decide when to pull them.

I'd suggest that you save the log of the project into a file, like this:
  svn log http://svn.example.com/repository/trunk > log.txt
Then you can browse that file locally to identify interesing revisions.

Note that svn log also accepts a revision range argument, so you don't
need to download the entire log again to get a list of new changes:
  svn log -r0:HEAD http://svn.example.com/repository/trunk > log.txt
Note the current value of HEAD from the bottom entry in the log. In case
it was 100, the next time you would run the following to append to the log:
  svn log -r101:HEAD http://svn.example.com/repository/trunk >> log.txt

Stefan
Received on 2011-01-03 15:46:15 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.