tags:

views:

22

answers:

1

I want to check a svn url and to get the earliest revision, then checkout it, I don't want to use HEAD because I will compare the earliest revision to others.

so I use "svn info" to get the "Last Changed Rev" for the url like this:

D:\Project>svn info svn://.../branches/.../path
Path: ...
URL: svn://.../branches/.../path
Repository Root: svn://yt-file-srv/
Repository UUID: 9ed5ffd7-7585-a14e-96b2-4aab7121bb21
Revision: 2400
Node Kind: directory
Last Changed Author: xxx
Last Changed Rev: 2396
Last Changed Date: 2010-03-12 09:31:52 +0800 

but, I found the 2396 revision is not checkout-able, because this path is in a branch copied from trunk, and the 2396 is the revision modified in the trunk. so when I use svn checkout -r 2396, I will get a working copy for the path in the trunk, then I can not do checkin for the branch.

D:\Project>svn checkout svn://.../branches/.../path -r 2396 workcopy
.....
.....
D:\Project>svn info workcopy
Path: workcopy
URL: svn://.../trunk/.../path
Repository Root: svn://yt-file-srv/
Repository UUID: 9ed5ffd7-7585-a14e-96b2-4aab7121bb21
Revision: 2396
Node Kind: directory
Schedule: normal
Last Changed Author: xxx
Last Changed Rev: 2396
Last Changed Date: 2010-03-12 09:31:52 +0800

So, my question is how to get a checkout-able revision for the branch path, for this example, I want to get 2397 (because 2397 is the revision which copy occur).

And I know "svn log" can get the info, but "svn log" output maybe very long and parse it will be difficult than "svn info". I just want know which revision is the earliest checkout-able revision for the path.

+1  A: 

You will just need to look at the log and determine in what revision the branch path was created, then check out the branch at that revision.

Michael Hackner