代码之家  ›  专栏  ›  技术社区  ›  JW.

Subversion:一条路径的日志,不考虑副本

svn
  •  1
  • JW.  · 技术社区  · 15 年前

    当我这么做的时候 svn log <path>

    有没有一种方法可以获取特定路径的所有更改的历史记录,而不管它是否是从其他地方复制的?我知道你可以通过 --stop-on-copy ,但这会切断复制之前的所有历史,这正是我想要看到的。

    我找到的唯一解决办法就是 svn日志<路径> ,查找复制的修订,然后执行 svn log <path>@<revision - 2> (假设原始文件在副本之前被删除)。然后对后续副本重复此操作。但一定有更简单的方法。

    这在以下几种情况下很有用:

    • 有时复制一个文件,不是因为你想分享它的历史,而是因为你想要它的内容。如果要将其复制到现有文件上,则可能仍希望保留现有文件的历史记录。

    • 从分支执行合并时使用 --reintegrate have to delete 分支,因为它将在将来的合并中中断。如果要重用相同的分支名称,则必须为其创建一个新副本。但是你可能想看看在重新复制之前在分支中有什么。

    如果这是不可能的,这不是一个相当大的遗漏吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Community CDub    8 年前

    This question 我想是在寻找类似的数据。

    没有原生的Subversion方法可以做到这一点,因为Subversion将文件而不是路径作为要跟踪的对象。您在问题中描述的获取文件日志、在复制时停止、然后在复制之前使用peg修订等方法似乎是跟踪该路径历史的唯一方法。相关问题中的人通过脚本做了类似的事情。