Как мне всегда использовать «удаленную» версию файла в Mercurial? - PullRequest
2 голосов
/ 01 сентября 2010

Новичок Mercurial здесь, я работаю над проектом Django, который использует Sqlite в качестве базы данных.Я разрабатываю шаблоны и пользовательский интерфейс, пока мой коллега работает над внутренним кодом.Мы оба вносим изменения в Bitbucket.

Он единственный, кто на самом деле изменяет модели и, соответственно, файл SQLite, однако, в результате моего тестирования приложения, файл также изменяется.Я всегда сбрасываю свои изменения, выполняя 'hg revert database.sqlite' после того, как я закончу тестирование и перед тем, как нажимать.что у нас нет проблем слияния каждый раз, когда мы пытаемся и синхронизировать?Вроде как исключение, которое говорит «если есть конфликт, всегда используйте удаленную версию файла».Я где-то видел что-то подобное в подсказке, но я не могу найти это снова.

Ответы [ 2 ]

2 голосов
/ 01 сентября 2010

Я согласен с комментарием Мэтью о том, что лучшее решение - не отслеживать этот файл.

Однако ваша идея попросить Mercurial всегда использовать удаленную версию на самом деле не так уж далека ...:-) Вы делаете это с помощью , настраивая инструмент слияния для этого файла, где вы указываете Mercurial использовать другую (удаленную) версию при всех слияниях:

[merge-tools]
database.sqlite = internal:other

Это должно гарантировать, что вывсегда отменяет ваши изменения на database.sqlite при слиянии.Это позволяет вам сделать

$ hg pull
$ hg merge

У меня просто появилась другая идея - использовать ловушку перед слиянием для возврата файла:

[hooks]
pre-merge = hg revert mydb.sqlite

Это в значительной степени эквивалентно использованию internal:other инструмент слияния сверху, но вы можете найти его концептуально проще, поскольку он моделирует то, что вы уже делаете.

1 голос
/ 01 сентября 2010

Пока вы работаете с оболочкой, существует множество способов выполнения hg revert database.sqlite перед фиксацией.

с bash:

alias hgcommit = hg revert database.sqlite;hg commit

(это немногодешево, я знаю, но именно поэтому мне нравится работать с оболочкой)

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