我使用Tortoise客户端来检查/提交我对SVN的更改 . 但我发现这有点困难,因为我无法找到本地副本中更改的所有文件的列表 . 有没有我忽略的捷径或什么?
我是SVN的新手 . 仅供参考 .
如果你真的想列出 modified files only ,你可以通过引导"M"来减少svn st的输出,这表明文件已被修改 . 我会这样做:
svn st | grep ^M
svn status | grep 'M ' 在MacOSX上运行正常 .
svn status | grep 'M '
我刚试过这个 .
如果您只需要文件名,并且还想要添加任何文件(A) .
svn st | grep ^[AM] | cut -c9-
注意:前7列是一个字符宽,后跟一个空格,然后是文件名 .
这应该在Windows中执行:svn stat |找到“M”
svn状态| grep ^ M将列出被修改的文件 . M - 代表修改:)
龟甲中的“检查修改”命令将显示工作副本中所有已更改文件的列表 . “Commit”也会显示所有已更改的文件(然后您可以提交) . “还原”还会显示已更改的文件(然后您可以还原) .
我不熟悉乌龟,但是对于linux的颠覆,我会输入
svn status
一些谷歌搜索告诉我,龟也支持命令行突击队,在包含svn存储库的文件夹中尝试svn状态 .
我无法工作 svn status -q . 假设你在linux盒子上,只看到被修改的文件,运行: svn status | grep 'M ' 在Windows上我不知道你会做什么,也许是'FindStr'
svn status -q
下面的命令将在Windows中单独显示修改过的文件 .
svn status | findstr "^M"
如上所述,您必须在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> 的根相关的更改 .
SVN Check for modification
tortoiseproc.exe /command:repostatus /path:"<path-to-version-control-file-or-directory>"
<path-to-version-control-file-or-directory>
遗憾的是,但是此命令不会显示所有本地更改,它只会显示与请求的目录根相关的更改 . 单独进行的更改(如root子目录中的独立检出或孤立外部目录)将显示为Unversioned或Nested,您可能会错过提交/查找它们 .
要避免这种情况,您必须调用 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应用程序/实用程序/脚本来包装调用 .
tortoiseproc.exe /command:repostatus /pathfile:"<path-to-file-with-list-of-items-to-lookup-from>"
我已经编写了自己的一组脚本 for Windows 来自动调用 Total Commander :https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt(搜索 TortoiseSVN )
Total Commander
TortoiseSVN
- Opens TortoiseSVN status dialog for a set of WC directories (always opens to show unversioned changes).
Command: call_nowindow.vbs Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:repostatus "%P" %S
- Opens TortoiseSVN commit dialogs for a set of WC directories (opens only if has not empty versioned changes).
Command: call_nowindow.vbs Arguments: tortoisesvn\TortoiseProcByNestedWC.bat /command:commit "%P" %S
有关最新详细信息,请参阅 README_EN.txt (您必须在使用之前执行 configure.bat 并自行复制其余脚本,如 call_nowindow.vbs ) .
README_EN.txt
configure.bat
call_nowindow.vbs
使用Powershell,你可以这样做:
# Checks for updates and changes in working copy. # Regex: Excludes unmodified (first 7 columns blank). To exclude more add criteria to negative look ahead. # -u: svn gets updates $regex = '^(?!\s{7}).{7}\s+(.+)'; svn status -u | %{ if($_ -match $regex){ $_ } };
这将包括 property 变化 . 这些显示在第2列中 . 它还将捕获第3-7列中显示的文件中的其他差异 .
资料来源:
svn状态:http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.status.html
正则表达式匹配svn状态的结果:Using powershell and svn to delete unversioned files
右键单击文件夹 - >单击Tortoise SVN - >检查是否有修改
12 回答
如果你真的想列出 modified files only ,你可以通过引导"M"来减少svn st的输出,这表明文件已被修改 . 我会这样做:
svn status | grep 'M '
在MacOSX上运行正常 .我刚试过这个 .
如果您只需要文件名,并且还想要添加任何文件(A) .
注意:前7列是一个字符宽,后跟一个空格,然后是文件名 .
这应该在Windows中执行:svn stat |找到“M”
svn状态| grep ^ M将列出被修改的文件 . M - 代表修改:)
龟甲中的“检查修改”命令将显示工作副本中所有已更改文件的列表 . “Commit”也会显示所有已更改的文件(然后您可以提交) . “还原”还会显示已更改的文件(然后您可以还原) .
我不熟悉乌龟,但是对于linux的颠覆,我会输入
一些谷歌搜索告诉我,龟也支持命令行突击队,在包含svn存储库的文件夹中尝试svn状态 .
我无法工作
svn status -q
. 假设你在linux盒子上,只看到被修改的文件,运行:svn status | grep 'M '
在Windows上我不知道你会做什么,也许是'FindStr'下面的命令将在Windows中单独显示修改过的文件 .
如上所述,您必须在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>
的根相关的更改 .遗憾的是,但是此命令不会显示所有本地更改,它只会显示与请求的目录根相关的更改 . 单独进行的更改(如root子目录中的独立检出或孤立外部目录)将显示为Unversioned或Nested,您可能会错过提交/查找它们 .
要避免这种情况,您必须调用
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应用程序/实用程序/脚本来包装调用 .我已经编写了自己的一组脚本 for Windows 来自动调用
Total Commander
:https://sf.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/totalcmd/README_EN.txt(搜索TortoiseSVN
)- Opens TortoiseSVN status dialog for a set of WC directories (always opens to show unversioned changes).
- Opens TortoiseSVN commit dialogs for a set of WC directories (opens only if has not empty versioned changes).
有关最新详细信息,请参阅
README_EN.txt
(您必须在使用之前执行configure.bat
并自行复制其余脚本,如call_nowindow.vbs
) .使用Powershell,你可以这样做:
这将包括 property 变化 . 这些显示在第2列中 . 它还将捕获第3-7列中显示的文件中的其他差异 .
资料来源:
svn状态:http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.status.html
正则表达式匹配svn状态的结果:Using powershell and svn to delete unversioned files
右键单击文件夹 - >单击Tortoise SVN - >检查是否有修改