0

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

例如,假设我有这个存储库,我正在使用 path/to/repos/users

例如,在这个存储库中有很多不同的用户。

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

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

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

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

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

4

1 回答 1

0

今天早上我想出了我的问题,回答我自己的问题,当使用签出存储库中的子文件夹时,每次svn update -r PREV调用命令时,它都会更新到目录中的先前修订。但是,此时运行 svnversion 将为您../../repos/users提供解决此问题的先前版本,我 svn info .me目录中调用并注意到Last Changed Rev:具有我需要的编号。为了得到这个,我调用了 svn info(这是在 php btw 中):

exec('svn info .', $info);

然后我使用正则表达式来获取密钥:

$versionKey = array_keys(preg_grep('/Last Changed Rev/', $info));

然后使用偏移量为 18 的 substr 将版本设置为该修订号:

$version = substr($info[$versionKey[0]], 18);

于 2013-06-06T14:19:38.380 回答