Можно ли обновить конкретную директорию до старой ревизии в Mercurial? - PullRequest
4 голосов
/ 16 сентября 2011

Я пытался обновить некоторые файлы до старой ревизии разными способами, но пока не нашел. (не постоянно, просто временно обновляется для тестирования)

Например, в SVN все в порядке.

svn up -r 100 foo.cpp
U    foo.cpp

Но в Mercurial команда 'up' не разрешает аргумент имени файла.

Можно ли обновить все дерево исходных текстов в Mercurial?

Ответы [ 2 ]

7 голосов
/ 16 сентября 2011

Вы должны будете использовать hg revert:

hg revert -r 100 foo.cpp

Обратите внимание, что это дает вам локальные изменения, что можно увидеть, выполнив hg diff.

См. hg help revertдля получения дополнительной информации.

2 голосов
/ 16 сентября 2011

Это категорически запрещено Mercurial и другими DVCS. И CVS, и Subversion отслеживают, какую ревизию вы извлекли для каждого файла. Вы можете иметь r1 файла x и r2 файла y. В видеорегистраторе весь репозиторий представлен в одной версии, которую в Mercurial можно увидеть с помощью hg id.

Как указывает @Tom, вы можете модифицировать файлы из разных ревизий, но если вы хотите увидеть другую ревизию без изменений, вам нужно сделать update в другом клоне (при условии, что локальные клоны используют жесткие ссылки на Быть (а) мгновенным и (б) экономным пространством) это не так уж много хлопот.

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