【问题标题】:svn list of files that are modified in local copysvn 本地副本中修改的文件列表
【发布时间】:2009-07-22 21:45:42
【问题描述】:

我使用 Tortoise 客户端来签出/提交对 SVN 的更改。但是我发现这有点困难,因为我无法找到在我的本地副本中更改的所有文件的列表。有什么捷径或我忽略的东西吗?

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

【问题讨论】:

  • 也许一个模组可以清理这个线程,这里有大约 10 个帖子包含相同的答案。

标签: svn tortoisesvn


【解决方案1】:

我不熟悉乌龟,但是我会输入对 linux 的颠覆

svn status

一些谷歌搜索告诉我,乌龟也支持命令行突击队,在包含 svn 存储库的文件夹中尝试 svn status。

【讨论】:

  • windows命令行客户端有同样的命令,所以即使你用cmd也可以用这个。
  • 只显示目录中修改过的文件:svn status -q
  • @BrokenLink svn 安装包含您想要的所有二进制文件。不要总是选择 UI。这将是痛苦和耗时的
  • @sarat,“这将是痛苦和耗时的,”阿门!对于某些事情,我使用图形客户端(Tortoise SVN),但对于报告之类的事情,CLI 要好得多,因为捕获报告并将其发送给某人进行审查要容易得多。
【解决方案2】:

我无法让svn status -q 工作。假设你在一个 linux 机器上,只查看被修改的文件,运行:svn status | grep 'M ' 在 Windows 上,我不确定你会做什么,也许是 'FindStr'

【讨论】:

  • svn st | grep ^M 更短:)
  • svn st|grep ^M 甚至更短,但这不是我在 Stackoverflow 上回答任何问题的方式,除非问题是专门关于代码高尔夫的。 @DavidRivers 有最好的答案。
【解决方案3】:

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

【讨论】:

  • 啊!我错过了尝试“检查修改”
  • TIL Tortoise 有一个“检查修改”功能 :) 非常感谢。
【解决方案4】:

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

svn status | findstr "^M"

【讨论】:

  • 在 windows 中我使用了 powershell 广告这样做svn status | Where-Object {$_.StartsWith("M")}
【解决方案5】:

如果您真的想列出仅修改过的文件,您可以通过前导“M”来减少 svn st 的输出,表示文件已被修改。我会这样做:

svn st | grep ^M

【讨论】:

    【解决方案6】:

    svn status | grep 'M 'MacOSX 上运行良好。

    我刚刚测试了这个。

    【讨论】:

    • 从命令行这是我的入门解决方案。但是 OP 要求在 TortoiseSVN 中提供解决方案。
    • 这里只显示文件的变化,不显示文件的变化
    • 顺便说一句,这是一个重复的答案,2014 年 nils 也发布了同样的答案。
    • svn status | grep ^M
    【解决方案7】:

    如果您只想要文件名并且还想要任何已添加的文件 (A)。

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

    注意:前 7 列各一个字符宽,后跟一个空格,然后是文件名。

    【讨论】:

      【解决方案8】:

      这应该在 Windows 中执行: svn 统计 |找到“M”

      【讨论】:

        【解决方案9】:

        svn 状态 | grep ^M 将列出已修改的文件。 M - 代表修改:)

        【讨论】:

          【解决方案10】:

          使用 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){ $_ } };
          

          这将包括属性更改。这些显示在第 2 列中。它还将捕获第 3-7 列中显示的文件中的其他差异。

          来源:

          【讨论】:

            【解决方案11】:

            如前所述,您必须在 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 本地更改,它只显示与请求的目录根目录相关的更改。单独进行的更改,例如根子目录中的独立签出或孤立的外部目录将显示为 UnversionedNested,您可能会错过提交/查找它们。

            为避免这种情况,您必须调用 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://sourceforge.net/p/tacklebar/tacklebar/HEAD/tree/trunk/src/scripts/scm/tortoisesvn (tortoiseproc_by_nested_wc.bat)

            https://sourceforge.net/p/contools/contools/HEAD/tree/trunk/Scripts/Tools/ToolAdaptors/vbs(call_nowindow.vbs)

            - 打开一组 WC 目录的 TortoiseSVN 状态对话框(总是打开以显示未版本化的更改)。

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

            - 打开一组 WC 目录的 TortoiseSVN 提交对话框(仅在没有空版本更改时打开)。

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

            查看README_EN.txt了解最新详情(您必须在使用前执行configure.bat,并将其余脚本复制到自己身上,如call_nowindow.vbs)。

            【讨论】:

              【解决方案12】:

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

              【讨论】:

              • 这已经发布,只是从已经接受的答案中复制而来
              猜你喜欢
              • 1970-01-01
              • 2023-04-04
              • 1970-01-01
              • 1970-01-01
              • 2019-03-27
              • 1970-01-01
              • 1970-01-01
              • 2016-01-08
              • 1970-01-01
              相关资源
              最近更新 更多