Svn log/diff интерфейс вроде gitk?

Я хочу изучить изменения, внесенные в исходный код Google Chrome, который управляется SVN. Веб-интерфейс можно найти на http://src.chromium.org/viewvc/chrome/

Я хотел бы знать, есть ли интерфейс GUI, который позволяет мне проверять временную шкалу локально. С помощью git я могу просто запустить gitk foo.c.

Я пробовал qsvn и rapidsvn, но не мог понять, как заставить их выполнять эту работу. Кажется, что мне нужно импортировать репозиторий в графическом интерфейсе, но у меня уже есть репозиторий.

Ответ 1

В отличие от распределенных VCS, таких как git и mercurial, в подрывной деятельности мы не получаем "клон" репозитория, когда делаем чек - только конкретную версию.

В RapidSVN мы можем щелкнуть по файлу, щелкнуть правой кнопкой мыши выбрать "Журнал...", чтобы получить историю изменений файла, но это связано с подключением к серверу для загрузки информации. (Некоторые клиенты, такие как TortoiseSVN, кэшируют некоторые из них, но не уверены в RapidSVN).

Ответ 2

если вы хотите просмотреть источник из svn-repo, и вам нравится gitk, почему бы не использовать gitk? просто сделай

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

и у вас есть svn repo, "преобразованный" в локальный репозиторий git, где вы можете использовать gitk
Если вы хотите обновить локальный репозиторий git, просто повторно выберите и переустановите
для получения дополнительной информации см. git -svn (1)

Ответ 3

Чтобы ответить на вторую часть моего вопроса, как qsvn, так и rapidsvn можно использовать для просмотра журналов, когда я уже проверил рабочую копию. В qsvn перейдите в Меню → Рабочая копия → Добавить. В rapidsvn перейдите в Меню → Закладки → Добавить существующую рабочую копию.

Просмотр журнала намного медленнее, чем в git, как объясняет @Raghuram.

Ответ 4

Я попробовал несколько клиентов SVN, ища что-то вроде gitk (без аргумента файла). Я думаю, что показать историю для конкретного файла проще в большинстве SVN-клиентов, чем показ истории с различиями по всему проекту.

Если есть способ увидеть сообщения об ошибках, затронутые файлы, а также отличается в одно и то же время, но я не нашел его в пользовательском интерфейсе, оставьте комментарий, чтобы сообщить мне, что я пропустил. Я сомневаюсь, что любые собственные SVN-клиенты делают это, потому что старые версии для сравнения должны были быть получены с сервера.

лучше всего, но не работает с существующей проверкой SVN:

git-svn, чтобы проверить сначала репозиторий svn, затем вы получите полные возможности GIT. Первоначальная проверка занимает ДЕЙСТВИТЕЛЬНО долгое время для проектов с длинной историей, если вы не сделаете мелкий клон: Как git -svn клонировать последние n ревизий из репозитория Subversion?

другие:

rapidsvn: добавьте существующий репо как "закладку". Щелкните правой кнопкой мыши на "." → Журнал. Это вызывает ВСЕ изменения, поэтому он очень медленно подходит. В диалоговом окне "История журнала" есть сообщение журнала и затронутые файлы на отдельных вкладках, поэтому вы не можете видеть их одновременно. (Однако вы можете увидеть начало сообщения журнала как столбца в таблице ревизий). Развитие остановилось (https://github.com/RapidSVN/RapidSVN последнее изменение 2013-мая)

eclipse с subclipse: Открыть перспективу → Просмотр хранилища SVN. Щелкните правой кнопкой мыши по чему-то → Показать историю. Список изменений SVN-оборотов, влияющих на этот файл или поддерево, быстро появляется, так как по умолчанию он выбирает только первые 25. (вы можете получить больше или все). Отображаются затронутые пути, и вы можете увидеть текущую версию, но я не вижу способа получить diff. (за исключением, может быть, для одного файла за раз, щелкнув правой кнопкой мыши на файле и сделав "Сравнить...", в котором отображается меню того, что можно сравнить с.)

RabbitVCS: снимок экрана показывает обычные версии/файлы сообщений/затронутые файлы. 3 панели, без различий. Реализован поверх графического файлового браузера (Nautilus (GNOME)/Thunar (Xfce)), недоступного в качестве автономного приложения. Также не доступен для Dolphin (KDE).

subcommander: last release = 2.0.0beta5 с 2009 года. Разбился пару раз, пытаясь использовать его.

svn-workbench: Затронутые файлы открывается в новом окне из списка ревизий. Это гораздо менее полезно, чем другие вещи. Также я думаю, что он заброшен и должен опробовать. отпадает из Debian/Ubuntu, поэтому он не отображает запросы пакетов.

qsvn: не пробовал, поскольку восходящее развитие остановилось, когда автор переключился на GIT для всего.

http://svn-ref.assembla.com/linux-svn-client-reviews.html упоминает пару коммерческих SVN-клиентов с закрытым исходным кодом, которых я не пробовал. Я устал искать поведение gitk вне gitk и просто пошел вперед, и git -svn клонировал репо, в котором меня интересовало. Неудивительно, что люди переключаются с SVN, поскольку, по-видимому, он не может эффективно показать различия для совершить.