Комментарии 5
А зачем может понадобиться ломать линки?
0
В mercurial каждый файл из репозитория в простейшем случае представлен 1 файлом в каталоге .hg. При операции clone в пределах одной FS, поддерживающей hardlinks, создаются просто ссылки. Таким образом склонировав репоизторий с историей в 200Mb, занимаемое место на диске увеличится не на 200Mb, а только на размер рабочей копии.
При коммите в первый репозиторий (A), условно говоря, файла «foo», нужно добиться, чтобы это изменение не было отображено в репозитории B до тех пор, пока пользователь явно их не синхронизирует. Для этого соответствующий файл в ".hg" разлинковывается и вместо хардлинка далее будет использоваться вторая копия.
При коммите в первый репозиторий (A), условно говоря, файла «foo», нужно добиться, чтобы это изменение не было отображено в репозитории B до тех пор, пока пользователь явно их не синхронизирует. Для этого соответствующий файл в ".hg" разлинковывается и вместо хардлинка далее будет использоваться вторая копия.
0
Вообще не очень понятно, ради чего такой CoW городили.
0
Не знаю о каких коровах шла речь, но если вы про хардлинки в hg… Например, удобно если на сервере развернуто несколько копий cms для различных сайтов, с одной стороны сохраняется возможность отследить и зафиксировать изменения под конкретный проект(если они вдруг затронули ядро), а с другой, не занимает кучу не бесплатного пространства.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Жесткие ссылки при клонировании репозитория в mercurial