Переименование каталогов с ископаемым DVCS

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

fossil mv oldname newname

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

RENAME oldname newname

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

Ответ 1

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

При переименовании каталога ископаемое выглядит следующим образом:

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

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

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

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

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