Автоматическая полка перед вытягиванием в Mercurial (с TortoiseHG)? - PullRequest
3 голосов
/ 09 февраля 2012

У меня есть некоторые измененные файлы, которые я не хочу фиксировать (например, web.config).Прежде чем я вытяну и обновлю новые наборы изменений, я должен отложить их.После извлечения и обновления я должен снять их.

В настоящее время я использую TortoiseHG.Есть ли расширение, которое может сделать это автоматически?

Ответы [ 3 ]

5 голосов
/ 10 февраля 2012

Я бы предложил что-то другое: вместо того, чтобы всегда откладывать и откладывать, вы можете использовать два разных конфигурационных файла: один, который является частью репозитория и содержит фиктивные / примерные данные, и другой, который каждый пользователь действительно использует локально, которыйMercurial игнорирует.

Ознакомьтесь с этим ответом для более подробного объяснения того, что я имею в виду.
Пример, который я привожу здесь, относится к Visual Studio, и я вижу из вашегодругие вопросы и ответы, которые вы, очевидно, используете .net и Visual Studio, так что вы можете просто использовать мой пример в точности так, как написано.

2 голосов
/ 10 февраля 2012

В Mercurial просто hg pull -u.Незавершенные изменения объединяются с подсказкой.Тот же результат, что и у полки, тянуть / обновлять, без полки.С TortoiseHg появится диалоговое окно с предложением сбросить / отложить / слить.

Вы можете получить диалоговое окно слияния таким образом, но это будет верно для подхода с полками, поскольку небрежному может потребоваться также слияние.Из командной строки вы не получите подсказку, если нет конфликтов.TortoiseHg может иметь опцию подавления диалога, если нет конфликтов, но я не проверял.

0 голосов
/ 10 февраля 2012

Я бы попробовал несколько разных вещей с этим.

Что касается, в частности, файла Web.config, вы можете захотеть использовать локальные файлы конфигурации для переопределений, а не оставлять локальные изменения незафиксированными.(например, ссылка на отдельный файл, который находится в .hgignore).Проекты, над которыми я работал в прошлом, делали это, чтобы отделить конфигурации test / prod от настроек для разработки или наоборот.

Я не думаю, что есть какое-либо расширение, которое сделает это для вас,но вам может быть лучше написать быстрый пакетный сценарий или скрипт powershell, чтобы сделать этот рабочий процесс для вас.В предыдущих проектах у меня был скрипт, который делал бы что-то похожее в том смысле, что он делал бы тягу / обновление / ребазирование, чтобы держать мои изменения в курсе (я работал с hg против сервера SVN, который сделал это важным.)

Я знаю, что не ответил на ваш вопрос напрямую, но надеюсь, это поможет!

...