【问题标题】:svn log/diff frontend like gitk?像 gitk 这样的 svn log/diff 前端?
【发布时间】:2010-12-17 07:00:35
【问题描述】:

我想研究对 SVN 管理的 Google Chrome 源代码所做的更改。一个网页界面可以在http://src.chromium.org/viewvc/chrome/找到。

我想知道是否有 GUI 前端可以让我在本地检查时间线。使用 git,我可以简单地运行 gitk foo.c

我尝试了 qsvn 和 rapidsvn,但不知道如何让它们完成这项工作。看来我必须在 GUI 中导入存储库,但我已经签出了存储库。

【问题讨论】:

    标签: svn user-interface rapidsvn


    【解决方案1】:

    如果你喜欢从 svn-repo 浏览源代码,并且喜欢 gitk,为什么不使用 gitk? 做吧

    git svn init http://subversion.domain.org/repos
    git svn fetch
    git svn rebase
    

    你已经将 svn 存储库“转换”为本地 git 存储库,你可以在其中使用 gitk
    如果要更新本地 git 存储库,只需重新运行 fetch & rebase
    欲了解更多信息,请查看git-svn(1)

    【讨论】:

    • 很酷的解决方案。 :) 根据 repo 的大小,转换到 git 可能会很慢。
    • stackoverflow.com/questions/747075/…。初始结帐将非常缓慢地获得一个大项目的所有转速。
    • 注意gitk只显示git端的SHA1 ID。要查看 svn 修订 id,您需要使用 git svn log
    【解决方案2】:

    与 git 和 mercurial 等分布式 VCS 不同,在 subversion 中,当我们进行结帐时,我们不会获得存储库的“克隆”——只是一个特定的版本。

    在 RapidSVN 中,我们可以单击文件,右键单击选择 Log... 以获取文件更改的历史记录,但这涉及到服务器的连接以下载信息。 (一些客户喜欢 TortoiseSVN 缓存其中的一些,但不确定 RapidSVN)。

    【讨论】:

      【解决方案3】:

      为了回答我自己问题的第二部分,当我已经签出工作副本时,qsvnrapidsvn 都可以用来查看日志。在qsvn 中,转到菜单 -> 工作副本 -> 添加。在rapidsvn 中,转到菜单 -> 书签 -> 添加现有工作副本。

      @Raghuram 解释说,查看日志比在 git 中慢得多。

      【讨论】:

      • 在 rapidsvn 中,我没有找到一种方法可以在同一屏幕上查看提交消息 + 带有差异的更改文件。 gitk(不在特定文件上)对于翻阅最近的更改以查看发生了什么非常有用。有时查看差异对于弄清楚它是什么类型的变化至关重要。
      【解决方案4】:

      我尝试了几个 SVN 客户端,寻找类似于 gitk 的东西(没有文件参数)。我认为在大多数 SVN 客户端中显示特定文件的历史记录比显示整个项目的差异历史记录更容易。

      如果有办法同时查看提交消息、受影响的文件和差异,但我在 UI 中没有找到它,请发表评论让我知道我错过了什么。不过,我怀疑任何本地 SVN 客户端都会这样做,因为要区分的旧版本必须从服务器获取。

      最好,但不适用于现有的 SVN 结帐:

      git-svn 首先检查 svn 存储库,然后您将获得完整的 GIT 功能。对于历史悠久的项目,初始结帐需要很长时间,除非您进行浅层克隆:How to git-svn clone the last n revisions from a Subversion repository?

      其他:

      rapidsvn:将现有的 repo 添加为“书签”。右键单击“。” -> 日志。这会获取所有的修订,所以它真的很慢。 “日志历史记录”对话框在单独的选项卡中包含日志消息和受影响的文件,因此您无法同时查看两者。 (不过,您可以将日志消息的开头视为修订表中的一列)。开发停滞(https://github.com/RapidSVN/RapidSVN 上次更改时间为 2013 年 5 月)

      eclipse with subclipse: Open Perspective -> SVN Repository Exploring。右键单击某物-> 显示历史记录。影响该文件或子树的 SVN revs 的修订列表很快出现,因为它默认只获取前 25 个。 (您可以获取更多或全部)。显示受影响的路径,您可以看到当前版本,但我没有看到获取差异的方法。 (可能一次一个文件除外,通过右键单击一个文件并执行“比较...”,这会打开一个比较的菜单。)

      RabbitVCS:屏幕截图显示了通常的修订/日志消息/受影响的文件 3 窗格设置,没有差异。在图形文件浏览器 (Nautilus(GNOME) / Thunar(Xfce)) 之上实现,不能作为独立应用程序使用。也不适用于 Dolphin(KDE)。

      subcommander:最新版本 = 2009 年的 2.0.0beta5。尝试使用时崩溃了几次。

      svn-workbench:受影响的文件在修订列表的新窗口中打开。它比其他东西用处少得多。我也认为它被遗弃了,应该有问题。从 Debian/Ubuntu 中删除,因此它不会显示包搜索。

      qsvn: 没试过,因为作者切换到 git 的时候上游开发就停止了。

      http://svn-ref.assembla.com/linux-svn-client-reviews.html 提到了几个闭源商业 SVN 客户端,我没有尝试过。我厌倦了在 gitk 之外寻找 gitk 的行为,于是我继续 git-svn 克隆了我感兴趣的 repo。难怪人们放弃了 SVN,因为它显然不能有效地显示提交的差异。

      【讨论】:

        猜你喜欢
        • 2010-11-16
        • 1970-01-01
        • 2011-01-26
        • 1970-01-01
        • 2011-06-18
        • 2013-05-07
        • 1970-01-01
        • 2016-12-24
        • 2013-05-11
        相关资源
        最近更新 更多