Подвижный: файлы восстановления

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

svn cp src@REV dest

т.е. используйте изменения штепселя. Каков эквивалент в Подвижном?

12
задан Martin v. Löwis 27 July 2010 в 16:17
поделиться

2 ответа

Я не думаю, что в Mercurial есть встроенный способ сделать это. Но я думаю, что вы можете получить тот же эффект с помощью:

hg up -C REV # Update to revision containing a copy of the file
<modify the file in question>
hg commit  # Create second head based on old revision
hg merge # Merge two heads into one
# Note: make sure to choose to have the file exist
hg commit
hg mv MYFILE MYNEWNAME

Это заставит файл хранить всю свою старую историю, насколько Mercurial может ее отслеживать.

7
ответ дан 2 December 2019 в 21:01
поделиться

Разве просто (если вы "hg удалить"d src в REV+1):

hg revert -rREV src
hg status
A src
hg rename src dest
hg commit -m"restored src and renamed it to dest"

работать?

edited: Я только что протестировал его, и, кажется, все в порядке. На самом деле никакое «hg add» не требуется для src, так как revert заботится об этом. Однако, если вы сделаете только одну фиксацию вместо двух (как в коде выше), hg выдаст предупреждение:

src еще не был зафиксирован, поэтому нет копирование данных будет храниться для dest.

Надеюсь, это поможет.

7
ответ дан 2 December 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: