So I thought I understood exactly what HEAD, COMMITTED, BASE, etc. all
stood for, how they behaved, particularly in relation svn log. Turns
out that I don't, and I am thoroughly confused. Please correct my
understanding if the below is incorrect.
Looks to me like HEAD is a repository-wide variable. No matter where in
my working copy I go, HEAD is always the same, absolute latest in the
repos. Hence, if I do svn log -r HEAD in some subdirectory, I might not
get anything back if those files weren't touched as part of the single
Seems like BASE works the same way (i.e. sometimes I get nothing, if I
get a revision it is always the same, assuming that I don't selectively
update my working copy).
Now, COMMITTED seems like it varies depending on where I am. If I do
svn log -r COMMITTED in one subdirectory, I'll get a different revision
than if I do it in another directory, and the revisions returned did
indeed include at least one file from the directory. And these two
directories are updated to latest, as part of the same call to svn update.
This is very confusing! I can't believe the documentation (that I've
found) doesn't call out this location sensitive behavior of COMMITTED,
if that is in fact the case.
However, now I'm totally befuddled because I have a new directory
(something was just added and committed, nothing since) and svn log -r
COMMITTED gives me no results! So maybe my assumption above is flawed.
The goal of all this is I want have an automated build machine, which
svn updates to the latest (HEAD) and then I want to produce version
strings for various subdirectories, where the version string is the
latest revision (either in my copy or in the repos, I'll take either as
long as I know which I am getting) that included a file or files from
that subdirectory (or child subdirectories).
Someone please help me grok this behavior!
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Tue Feb 7 03:11:45 2006