Есть ли у hg, svn или других вариант, например git stash?
Git эквиваленты stash в других системах контроля версий?
Ответ 1
Общее имя для этой функции:
Стеллажи: возможность фактически загружать промежуточные версии на сервер, не проверяя их.
В CVCS (централизованный VCS) вам действительно необходимо загрузить эти промежуточные данные на центральный сервер.
Но в DVCS (Distributed VCS) вам просто нужно сохранить их в локальном репозитории.
Существует:
- расширение полки для Mercurial
- временные ветки для SVN или файлы патчей
- p4tar (опять же основанный на патче) для Perforce, хотя Perforce 2009.2 имеет теперь откладывает и отключает функции.
- сохраненные извлеченные данные в Plastic SCM (для отложенных данных)
В этой таблице сравнения SCM в Википедии вы можете найти все другие команды стеллажа SCM.
- Accurev:
keep/co(это спорный в этом вопросе) - Базар: shelve/unshelve
- Darcs: revert/unrevert
Ответ 2
Jazz Source Control, интегрированный в IBM Rational Team Concert, поддерживает эту функциональность. Он называется "Suspend".
С сайта Jazz.net: "Jazz позволяет временно удалить набор изменений из вашей рабочей области, приостановив его. В какой-то момент в будущем вы можете возобновить набор изменений и продолжить работу над ним".
Ответ 3
Если вы не хотите использовать полки, вы можете сделать это следующим образом.
hg diff > mylocalchanges.txt
hg revert -a
# Do your merge here, once you are done, import back your local mods
hg import --no-commit mylocalchanges.txt