subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Shahaf <>
Subject Re: Subversion checkout behavior at non-existent revision
Date Mon, 09 May 2016 22:15:11 GMT
Tati, Aslesh wrote on Fri, May 06, 2016 at 21:33:40 +0000:
> Hi,
> I have a question about the behavior of svn checkout. Here is the scenario:
> I have a standard trunk, branches, tags structure for one of my apps in a repo and I
created a branch, say at revision 500 of trunk.
> Later, I delete the branch and the recreate another branch with the same name and at
the same revision 500 of trunk.
> Now I'm trying to check out the branch at revision 500. I know that the branch doesn't
exist at r500 (it will be some higher revision), only trunk does and it probably doesn't make
sense to check out a branch at that revision; but I'm interested in knowing why this behavior
occurs and if it is expected.
> svn co <REPO_URL>/branches/<BRANCH>@500 --> svn info on that gives the
URL as expected i.e. <REPO_URL>/branches/<BRANCH>
> svn co -r 500 <REPO_URL>/branches/<BRANCH> --> svn info on that gives
an unexpected result i.e. <REPO_URL>/trunk
> Shouldn't subversion complain that the branch doesn't exist at revision 500?


«svn checkout -r 500 <REPO_URL>/branches/<BRANCH>» means "Look what
BRANCH is in rHEAD, trace copies back to r500, then operate on that",
which is why it checks out trunk@r500.

«svn checkout -r 500 <REPO_URL>/branches/<BRANCH>@500» will do what you
expect (error out with "does not exist at that revision").

The peg revision of URLs defaults to HEAD.  The operative revision
defaults to the peg revision.



> If it has checked out without complaining, why does svn info using the second way of
checkout show the unexpected result?

View raw message