Как получить копию более ранней версии файла в Mercurial, не создавая новую рабочую копию файла по умолчанию в вашем рабочем пространстве?
Я нашел команду hg revert
и я думаю, что он делает то, что я хочу, но я не уверен.
Мне нужно получить копию более ранней версии моего кода для работы в течение нескольких минут. Но я не хочу беспокоить текущую версию, которая работает нормально.
Так что я собирался сделать это:
hg revert -r 10 myfile.pls
Есть ли способ вывести его в другой каталог, поэтому моя текущая рабочая версия файла не беспокоить? Примерно так:
hg revert -r 10 myfile.pls > c:\temp\dump\myfile_revision10.pls
Команду cat можно использовать для получения любой версии файла:
$ hg cat -r 10 myfile.pls
Вы можете перенаправить вывод в другой файл с помощью
$ hg cat -r 10 myfile.pls > old.pls
или с помощью -- флаг вывода
. Если вам нужно сделать это для нескольких файлов, то обратите внимание на команду archive, которая может сделать это для всего проекта, например,
$ hg archive -r 10 ../revision-10
Это создаст папку revision-10
, который содержит снимок вашего репозитория в том виде, в каком он выглядел в версии 10.
Однако в большинстве случаев вам следует просто использовать команду обновления, чтобы получить более раннюю версию. Update — это команда, которую вы используете для обновления рабочей копии после внесения новых изменений, но при необходимости эту команду также можно использовать для того, чтобы ваша рабочая копия устарела. Так
$ hg update -r 10 # go back
(look at your files, test, etc...)
$ hg update # go back to the tip
Вы используете следующую команду:
hg cat -r 10 myfile.pls > C:\temp\dump\myfile_revision10.pls
Знакомство с Unix помогает с командами Mercurial. Возможно, cat
должен иметь встроенный псевдоним print
или что-то подобное.