Поскольку git не поддерживает статус mercurial/bazaar между двумя ревизиями, ни один беглец не может этого сделать. Вместо этого у Git есть git diff --name-status
, но простой grep показывает, что эта функция никогда не используется в fugitive, за исключением проверки того, что какой-то файл является чистым (т.е. немодифицированным) при выполнении :Gw
и др.
Если вы не боитесь несколько экспериментального кода, вы можете попробовать мой aurum, он может вывести вам окно состояния с
AuStatus rev topic wdrev development
и увидеть vimdiff определенного файла с C
(по умолчанию закрывает окно состояния, используйте let g:aurum_statwincmd='k'
, чтобы избежать).
Примечание: с hg-git и vim, скомпилированным с +python, aurum будет использовать более стабильный код, поскольку mercurial — это основная VCS, которую я использую.
Другая идея заключается в использовании vcscommand, mercurial/bazaar и hg-git/bzr-git. Затем статус будет просматриваться с помощью
VCSStatus -r topic -r development
(mercurial, не помню как на базаре). Я не знаком с vcscommand, поэтому не могу сказать, предлагает ли он столько же интерактивных функций в буфере состояния, сколько fugitive или aurum (кажется, нет: nmap <buffer>
в буфере состояния git ничего не показывает). Приведенный выше код должен работать в соответствии с документацией, но я не проверял.
person
ZyX
schedule
09.11.2012
git diff --name-status {REV1}..{REV2}
в окно. Или, может быть, есть какой-то лучший рабочий процесс... буду звездой и буду следить за любым волшебством. - person Dan Fitch   schedule 10.11.2012