我想检查一个svn url并获得最早的修订,然后结帐,我不想使用HEAD,因为我会将最早的版本与其他版本进行比较。
所以我使用“svn info”获取网址的“Last Changed Rev”,如下所示:
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
但是,我发现2396版本不能检出,因为此路径位于从trunk复制的分支中,而2396是在trunk中修改的版本。所以当我使用svn checkout -r 2396时,我将获得主干路径的工作副本,然后我无法检查分支。
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
所以,我的问题是如何为分支路径获得一个可以检出的修订版本,对于这个例子,我想得到2397(因为2397是修改版本发生)。
而且我知道“svn log”可以获取信息,但“svn log”输出可能很长并且解析它将比“svn info”困难。我只想知道哪条修订版是该路径最早的可检修版本。
答案 0 :(得分:1)
您只需要查看日志并确定创建分支路径的版本,然后查看该版本的分支。