我想要一种方法来获取我当前工作副本中的最新更改版本。我试过这样做:
svn info –show-item last-changed-revision这大部分时间都有效,但如果我做了……
的 TLDR: 强> 您可以使用以下命令获取最后一个本地可用的已更改修订:
svnversion -c
以下是关于SVN为何如此工作的更多想法,以及我们的解决方案,它不仅仅是直接使用此修订版:
其实我 能够 想一想日志不包含最后一次提交的原因:SVN会让你提交对存储库的更改,即使这些存储库中你没有本地更改,只要这些更改中受影响的文件没有与受你影响的人重叠。这意味着您可以在没有修订版本8和9的情况下提交修订版本10。因此,当要求整个目录的日志时,它不能显示10,因为那时缺少8和9.但是,它 能够 当它要求特定文件的最新版本时,它会得到10,因为如果它们也影响了文件,它将不允许你在没有获得8和9的情况下提交10,因此它们不会被包含在日志中该文件。
我想这种工作方式源于SVN在存储库中没有项目的方式,但只有很多文件夹,你可以查看任何子文件夹并对其进行更改,而不考虑包含它的文件夹。
这就是我们决定工作的方式:
$ echo test6 > test.txt $ svn commit -m "Test 6" Sending test.txt Transmitting file data .done Committing transaction... Committed revision 170633. $ svnversion -c 20414:170633 $ svn update -r 170633 Updating '.': At revision 170633.
这样我们都得到了最新变化的修订, 和 我们确保在构建之前工作副本的状态是在SVN中表示的状态。