Переименование каталогов с помощью Fossil DVCS - PullRequest
12 голосов
/ 15 декабря 2009

Можно ли переименовать каталоги с помощью Fossil? Я попробовал очевидную команду:

fossil mv oldname newname

Затем Fossil сообщает мне, что он что-то сделал:

RENAME oldname newname

Однако, при вызове "ископаемых изменений" получается пустой список. Насколько я могу судить, переименование каталогов либо не поддерживается, либо еще не реализовано, либо просто не работает. Есть ли уловка с этим?

1 Ответ

18 голосов
/ 15 декабря 2009

После некоторых исследований я обнаружил, что это можно сделать, но это нелогично. Ископаемому действительно все равно, что происходит с каталогами; все, что его волнует, - это расположение файлов внутри них.

При переименовании каталога, Fossil появляется на:

  • цикл по списку файлов репозитория для старого каталога;
  • найдите файл в новом каталоге файловой системы;
  • обновить метаданные файлов, чтобы они отображались как часть нового каталога.

Если новый каталог не существует, произойдет сбой. В новом месте нет файлов, поэтому Fossil не может сопоставить старое с новым, поэтому изменения не вносятся.

Вкратце: вы должны переименовать папку через файловую систему, прежде чем пытаться внести изменения в Fossil. Если вы этого не сделаете, Fossil игнорирует вас.

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

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

...