Nic Daniau wrote:
> Context:
> - I've got two branches on my project, branches/1 and branches/2.
> - At revision 1000 I've deleted branches/1
> - Time has passed and the HEAD revision is now 1200
>
> Problem:
> What I'm trying to do is a merge from revisions 799:999 of branches/1
> onto the current HEAD of branches/2. I wouldn't have thought this could
> be a problem, as I'm not interested in the fact that revision 800
> "deleted" branches/1, I'm only interested in the diff between 799:999 on
> that branch; but in fact it appears to puzzle Subversion completely!
Which revision was it deleted in? 1000 or 800?
> Tests:
> I get this:
> C:\myproject>svn merge svn://myserver/myproject/branches/1 -r 799:999
> svn: File not found: revision 1200, path '/branches/1'
> I also get the same output by the way when I do:
> C:\myproject>svn ls svn://myserver/myproject/branches/1 -r 799
> or
> C:\myproject>svn log svn://myserver/myproject/branches/1 -r 799
Please see the sections in the svn book on peg revisions. The path
branches/1 does not exist in the HEAD revision so to refer to it, you
will have to use a peg revision, such as branches/1@799 if it was
deleted in rev 800.
> Question:
> Why does it insist on the branch still being around at the HEAD revision
> when I ask it what happened at a specific revison and path in the past?
> Is this a limtation of Subversion or is there a way round or am I simply
> missing the point?
The book explains but basically -r does not have the meaning you think
it does. It means take the file specified, and go back to how it looked
in rev r. FINDING the file specified is done in the HEAD revision
unless you specify a peg revision.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed May 16 16:59:47 2007