Mats Nilsson <mats.nilsson@xware.se> writes:
> Commands like 'svn co', 'svn up', 'svn switch', as well as the modules
> subsystem operate on URL:s, and if desired you can supply a working
> revision if you don't mean HEAD.
>
> Alternatively, they can also refer to a tag, obviously without the
> need to specify revision.
The revision is only obvious if your repository has a policy of never
committing on a tag after the tag is created. (Of course, that would
be a sensible policy, but my point is it's not built into Subversion.)
> So in all these cases, svn has two equally promoted ways of dealing
> with the concept of specifying a point in space and time: either you
> make a tag or you remember the URL and working revision tuple.
Ermm. Hmmm. Not really, imho, but it depends on how you think of it.
Formally, you must always think of REV and URL; but if you happen to
know that certain URLs never change once created, then you can just
always use head for those URLs.
> But, when it comes to marking the files of a checked out ws, svn is
> lacking a $WorkingRev$ keyword. The consequence is that svn will not
> be able to record both the URL and working revision in the files
> [without external help]. Thus it would IMHO only fully support one
> model, the one where you'd make a tag and always imply HEAD.
The $LastChangedRevision$ (also "$Rev$") refers to the same object as
the working rev would, for a file. If you need a reference to a
precise incarnation of a file, $URL$ and $Rev$ will do that.
Perhaps you're thinking: "Yes, but if I ran an 'svn up' from the top
of the tree, then the working revision obtained from some random file
in that tree would be the same as the rev of the entire directory
tree, so I could just use that as a tag rev." Which is true, but only
because you happen to know that you just ran 'svn up' -- knowing the
working rev for a file doesn't, inherently, tell you anything about
other files or dirs around it. It only tells you about that one file,
and what it tells you is basically the same as what the current $Rev$
keyword would tell you.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 9 17:34:34 2002