2009-07-22 103 views
52

我使用龟客户端来检出/提交对SVN的更改。但是我发现这一点很困难,因为我无法找到在本地副本中更改的所有文件的列表。有没有捷径或我忽视的东西?svn在本地副本中修改的文件列表

我是SVN的新手。仅供参考。

回答

25

乌龟中的“检查修改”命令将显示工作副本中所有更改文件的列表。 “提交”也会显示所有更改的文件(然后您可以提交)。 “恢复”还会显示更改的文件(您可以恢复)。

108

我不熟悉的乌龟,而是颠覆到Linux,我会键入

svn status 

一些谷歌搜索告诉我,乌龟还支持命令行突击队,试图包含svn库文件夹中的SVN状态。

+2

我用windows bro! – 2009-07-22 21:55:28

+8

Windows命令行客户端具有相同的命令,因此如果甚至使用cmd,则可以使用此命令。 – DeadHead 2009-07-22 21:56:54

+22

仅显示*目录中的已修改文件:svn status -q – 2010-03-03 21:59:02

42

我无法获得svn status -q的工作。假设你是在Linux中,只看到被修改的文件,运行:svn status | grep 'M ' 在Windows上,我不知道你会做什么,或许真的有“FINDSTR”

2

这应该做到这一点在Windows中: svn stat |找到“M”

8

下面的命令将在windows中单独显示已修改的文件。

svn status | findstr "^M" 
1

svn status | grep^M会列出被修改的文件。 米 - 代表修改:)

0

右击文件夹 - >点击龟SVN - >检查修改

6

如果你真的想列出修改的文件只有可以减少输出SVN ST通过引导指示文件已被修改的“M”。我会做这样的:

svn st | grep ^M 
2

如果只想文件名,也希望已添加的所有文件(A)。

svn st | grep ^[AM] | cut -c9- 

注意:第一个7列是每一个字符宽后跟一个空格,则文件名。

4

svn status | grep 'M '正常工作MacOSX

我刚测试过这个。

0

如上所述,您必须在GUI中使用SVN Check for modification并在CLI中使用tortoiseproc.exe /command:repostatus /path:"<path-to-version-control-file-or-directory>"才能查看与<path-to-version-control-file-or-directory>的根相关的更改。

不幸的是,这个命令不会显示ALL本地更改,它只显示与请求的目录根相关的更改。独立更改或根目录子目录中的孤立外部目录的更改将显示为未版本化的嵌套的,您可能会错过提交/查找它们。

为避免这种情况,您必须拨打tortoiseproc.exe /command:repostatus /pathfile:"<path-to-file-with-list-of-items-to-lookup-from>"(请参阅命令行上的详细文档:https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html),或者使用一些3dparty应用程序/实用程序/脚本来打包呼叫。

我已经写我自己的一套脚本为Windows自动从Total Commander电话:https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt(搜索TortoiseSVN

- 打开TortoiseSVN的状态对话框的一组WC目录(始终打开以显示未受版本控制的变化)。

Command: call_nowindow.vbs 
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:repostatus "%P" %S 

- 打开TortoiseSVN的提交对话框一组WC目录(仅开如果没有空版本变化)。

Command: call_nowindow.vbs 
Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:commit "%P" %S 

README_EN.txt最新细节(你必须执行使用前configure.bat和对自己复制脚本的其余像call_nowindow.vbs)。