Сбой при слиянии в Mercurial с «Операция не поддерживается» - PullRequest
1 голос
/ 03 декабря 2010

Я настроил ~ / .hgrc согласно https://www.mercurial -scm.org / wiki / MergingWithVim для использования vimdiff.

[ui]
merge = vimdiff

[merge-tools]
vimdiff.executable = vim
vimdiff.args = -d $base $local $output $other +close +close

Тем не менее, когда я пытаюсь запустить фактическое слияние, оно просто не очень помогает следующим образом:

bash-3.2$ hg --debug merge
  searching for copies back to rev 7
resolving manifests
 overwrite None partial False
 ancestor 88aaf3a2e10f local 311bb03b96cd+ remote 29bec6ac5dd3
 junk: versions differ -> m
preserving junk for resolve of junk
updating: junk 1/1 files (100.00%)
picked tool 'vimdiff' for junk (binary False symlink False)
abort: Operation not supported: /Accounts/rainest/mtest/junk.orig

Есть идеи, почему он это делает?

Ответы [ 2 ]

2 голосов
/ 03 декабря 2010

Я понял это.

Оказывается, есть очень специфическая ошибка в библиотеке shutil Python2.6, которая возникает, если вы работаете с монтированием NFS в BSD-подобной системе.Дополнительную информацию и исправление можно найти по адресу http://bugs.python.org/issue7512.

1 голос
/ 03 декабря 2010

В зависимости от того, как вы его установили, Mercurial обычно поставляется с vimdiff, предварительно настроенным для слияния.На моем компьютере, который находится в /etc/mercurial/hgrc.d/mergetools.rc, но я думаю, что он отличается от вашего OSX.

Вы можете проверить, не использует ли он уже vimdiff для слияния, если вы удалите все это из вашего .hgrc.

Вы можете использовать команду hg showconfig --debug, чтобы просмотреть все действующие элементы конфигурации для каждого пользователя, для репо и для всей системы.Если вы увидите там vimdiff после того, как добавленные вами строки будут удалены, то, возможно, вам стоит пойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...