git svn status - показывает изменения, которые не зафиксированы в svn - PullRequest
20 голосов
/ 11 марта 2010

Я ищу команду в git-svn, которая покажет мне изменения, которые я зафиксировал в своем git-репозитории, но которые еще не зафиксированы в центральном svn-репозитории. Я ищу что-то, что работает как svn status, но я использую git-svn, и, к сожалению, git svn status не является допустимой командой.

Я пытался git status, но это не решает эту проблему, поскольку показывает изменения, которые не были внесены в мое локальное git-репо.

Я также пытался git svn dcommit --dry-run, но он не сообщает мне, какие файлы готовы для передачи - он показывает только URL-адрес хранилища.

Ответы [ 2 ]

22 голосов
/ 15 марта 2010

Предполагая, что ветвь для удаленного хранилища Subversion находится в remotes / git-svn, выполните следующее:

git svn fetch

Извлечение будет гарантировать, что remotes / git-svn обновлен.(Спасибо Марку за то, что он указал это в комментарии.)

git diff --name-status remotes/git-svn

Это должно показать вам имя и статус всех файлов, которые были переданы в git, но не в Subversion, как svn status command.

В случае, если вы не уверены, где находится ветвь, содержащая удаленный репозиторий Subversion, вы можете выполнить:

git branch -a

, которая должна выдать вывод, подобный следующему:

* master
  remotes/git-svn

Вероятно, из этого можно догадаться, что удаленный репозиторий Subversion находится в remotes / git-svn.

0 голосов
/ 11 июля 2013

Вы также можете использовать

git diff git-svn HEAD -d

или, если вы указали difftool:

git difftool git-svn HEAD -d
...