"svn info", "Last Changed Rev", and inconsistencies with "svn log"
From: Nik Clayton <nik_at_ngo.org.uk>
Date: 2006-06-27 14:53:13 CEST
Hi,
[ not subscribed, I'd appreciate cc's on replies ]
Following a conversation in #svn-dev malcolmr suggested I post this here
I've run in to an inconsistency with how the _fs and _ra layers treat
The shell script, at
will create a test repository. Run "mkrepo.sh /tmp/repo" to create it.
file:///tmp/repo/branches/test2/foo
This was copied from /trunk/foo, which was itself created in r2. The
svn log file:///tmp/repo/branches/test2/foo
you'll see that the most recent change (with log message) to the file
svn info file:///tmp/repo/branches/test2/foo
then you see
Last Changed Rev: 2
If you don't want to run this yourself you can see the output at
2 != 5
malcolmr explained that this is because although the name of the node
However, it's counter-intuitive, and I'd like to suggest that the "svn
In addition, it seems to be a shortcoming of the svn_ra interface that
svn_fs_revision_root(root_p, fs, youngest_rev, pool);
will result in "revision" containing 5.
The closest svn_ra equivalent I can find is
svn_ra_stat(..., dirent, ...)
and then inspecting dirent->created_rev, which will contain "2".
The approaches that we came up with on IRC seem kludgy.
The first is to use svn_ra_get_log() with a limit of 1.
The second is to use svn_ra_get_locations() and just use the first
The third is svn_ra_get_file_revs(), which looks interesting, but
Finally, the context in which I'm doing this. I'm the maintainer of
/svnweb/checkout/branches/test2/foo?rev=2
Of course, the file doesn't exist at that location in r2, and if the
So I need a cheap way of finding the most recent interesting rev using
N
[1] This is on a development branch, the production release of SVN::Web
---------------------------------------------------------------------
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.