Я видел много путаницы в этой теме, и по общему признанию я был слишком поначалу. Насколько я понимаю, вариант использования этого следующий.
Если вы делаете копию файла, и кто-то еще может работать над одним и тем же файлом в одно и то же время или расходиться / разветвляться в упрощенном или фактическом направлении от момента времени, который перекрывается с наборами изменений, этот файл будучи скопированным и, возможно, измененным, это кандидат на hg copy.
Это решает проблему наличия регрессии в этом файле от будущих изменений до тех пор, пока о ней не узнают другие «руководители» ветви.
То, для чего он не используется, это:
- Периодически синхронизируемые и обновляемые файлы, скопированные из оригинала
Проблема усложняется, особенно после того, как вы приступите к ре-факторингу. Это было бы нежелательно, чтобы применить изменения к файлу, который был скопирован давным-давно. Кажется, что это будет работать только так, если вы сохранили свою разработку скопированного файла в совершенно отдельной ветви, но как только две ветви снова слились воедино, hg copy больше не будет делать то, что вы ожидаете.
Моя ссылка: http://hgbook.red -bean.com / read / mercurial-in-daily-use.html