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

Php 仅在我的目录中获取修订,而不在根存储库中获取修订,php,svn,command-line,tortoisesvn,Php,Svn,Command Line,Tortoisesvn,好吧,这有点难解释,所以请耐心听我说 比如说,我有一个我正在使用的存储库 路径/收件人/回购/用户 例如,在这个存储库中有一群不同的用户 *../../../users/me ../../../users/you* 我们都像往常一样用乌龟做承诺,在这个例子中,我们假设第10版是头部修订版。在“./me”目录中,我只提交了10、6和5。还有“./you”目录提交了所有其他内容 如果我在该目录中使用svn命令=svn update-r PREV,并使用svversion检查版本号,那么我得到的数字是

好吧,这有点难解释,所以请耐心听我说

比如说,我有一个我正在使用的存储库 路径/收件人/回购/用户

例如,在这个存储库中有一群不同的用户

*../../../users/me

../../../users/you*

我们都像往常一样用乌龟做承诺,在这个例子中,我们假设第10版是头部修订版。在“./me”目录中,我只提交了10、6和5。还有“./you”目录提交了所有其他内容

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


很抱歉,如果有点难以理解,如果有什么我可以提供,让它更清楚一点,请告诉我。谢谢。

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

exec('svn info',$info)

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

$versionKey=array_key(preg_grep(“/Last Changed Rev/”,$info))

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


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

很难理解您在这里试图做什么。您是说您已经签出了整个存储库,但只想更新
me
目录?还是只更新特定用户提交的项目?@alroc抱歉,这有点难以解释。是的,我已经签出了那个存储库,我只想从“我”目录中进行修订,但我刚刚找到了解决问题的方法。请参阅下面我的答案。在一个工作副本中,您可以独立更新任何单个目录。如果这是经常发生的情况,您可能不应该首先检查整个存储库-只检查您需要的内容。我理解您的观点,但它有点偏离了我的观点,因为即使我有我的目录,例如使用svnversion将修订号存储在变量中,将给我存储库编号的编号(假设HEAD=500)。对于第一次调用svinversion,我将得到500,即使我的目录中最近的工作副本是498。如果我之前的承诺是490。如果我做了一个svn更新-r PREV,下次运行svnversion时,我不会得到我想要的490,我会得到499,因为尽管它适用于目录,但也适用于存储库@不过,谢谢你的评论。干杯。:)@阿尔罗克