好的,这有点难以解释所以请耐心等待。
让我们说例如我有这个存储库我正在努力 路径/到/回购/用户
在此存储库中,例如有许多不同的用户。
* .. / .. / .. /用户/我
../../../用户/你*
我们都像往常一样在TortoiseSVN中进行提交,对于这个例子,让我们说修订版10是头版修订版。在“../me”目录中,我只提交了10,6和5.而“../you”目录提交了其他所有内容。
如果我在该目录中使用svn命令= svn update -r PREV
并且我使用svnversion
检查版本号,那么我得到的数字是9.但是,我不想要9 。这让我想到了我的问题,是否有任何方法可以使用命令行更新到以前的修订版并获得仅提交“../me”的修订版本?
对不起,如果有点难以理解,如果有任何我可以提供的东西让它更清楚,请告诉我。谢谢。
答案 0 :(得分:0)
我今天早上想出了我的问题,回答我自己的问题,当从子文件夹中检出已检出的存储库时,每次调用svn update -r PREV
命令时,它都会更新到中的先前修订版我目录。但是,在此时运行svnversion将为您提供../../repos/users
中的先前修订版来解决此问题,我在svn info .
目录中调用me
并注意到 Last Changed Rev :有我需要的号码。为了得到这个,我调用了svn信息(这是在php btw中):
exec('svn info .', $info);
然后我使用正则表达式来获取密钥:
$versionKey = array_keys(preg_grep('/Last Changed Rev/', $info));
然后使用带有偏移量为18的substr将版本设置为该版本号:
$version = substr($info[$versionKey[0]], 18);