仅在我的目录中而不是在根存储库中获取修订

时间:2013-06-05 20:47:44

标签: php svn command-line tortoisesvn

好的,这有点难以解释所以请耐心等待。

让我们说例如我有这个存储库我正在努力 路径/到/回购/用户

在此存储库中,例如有许多不同的用户。

* .. / .. / .. /用户/我

../../../用户/你*

我们都像往常一样在TortoiseSVN中进行提交,对于这个例子,让我们说修订版10是头版修订版。在“../me”目录中,我只提交了10,6和5.而“../you”目录提交了其他所有内容。

如果我在该目录中使用svn命令= svn update -r PREV并且我使用svnversion检查版本号,那么我得到的数字是9.但是,我不想要9 。这让我想到了我的问题,是否有任何方法可以使用命令行更新到以前的修订版并获得仅提交“../me”的修订版本?

对不起,如果有点难以理解,如果有任何我可以提供的东西让它更清楚,请告诉我。谢谢。

1 个答案:

答案 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);