hg rename не удаляет исходную папку в рабочей копии - PullRequest
1 голос
/ 06 марта 2011

У меня есть каталог в репозитории Mercurial, который называется httpdocs / css / ui-lightness.Я хочу переместить этот каталог и все его содержимое в httpdocs / css / jquery / themes / ui-lightness.Итак, я думаю, что это команда для запуска:

hg rename httpdocs/css/ui-lightness httpdocs/css/jquery/themes/ui-lightness

На самом деле, я уже пробовал, и это похоже на работу, за исключением того, что в рабочей копии "исходный" каталог (то есть httpdocs/ css / ui-lightness) НЕ удаляется (хотя в репозитории она есть).

Может кто-нибудь объяснить, почему?

Ответы [ 3 ]

1 голос
/ 06 марта 2011

Что вы называете "хранилищем" и "рабочей копией" и где вы делаете команду hg rename?

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

Я только что проверил, hg rename удаляет файлы очень хорошо.

1 голос
/ 06 марта 2011

Кртек обнаружил, что вы делаете должно работать.Вот я запускаю его локально:

~$ mkdir -p httpdocs/css/ui-lightness
~$ cd httpdocs/
~/httpdocs$ hg init
~/httpdocs$ echo test > css/ui-lightness/file
~/httpdocs$ hg commit -A -m "initial commit, old location"
adding css/ui-lightness/file
~/httpdocs$ hg rename css/ui-lightness css/jquery/themes/ui-lightness
moving css/ui-lightness/file to css/jquery/themes/ui-lightness/file
~/httpdocs$ ;s
bash: syntax error near unexpected token `;'
~/httpdocs$ ls
css
~/httpdocs$ tree
.
`-- css
    `-- jquery
        `-- themes
            `-- ui-lightness
                `-- file

4 directories, 1 file
~/httpdocs$ hg stat
A css/jquery/themes/ui-lightness/file
R css/ui-lightness/file

Если у вас есть какие-нибудь неотслеживаемые (возможно игнорируемые) файлы в httpdocs/css/ui-lightness, они не будут переименованы, и, следовательно, каталог не будет пустым и, следовательно, не будет удален, ноотслеживаемое содержимое в этом каталоге должно быть перемещено.

Обратите внимание, что я еще не зафиксировал это переименование (и оно отображается как «Добавить» и «Удалить», хотя Mercurial знает, что это переименование), но для этого нужночтобы быть отраженным в других клонах, мне нужно было бы hg commit, hg push, а им нужно было бы hg pull и затем либо hg update, либо hg merge.

0 голосов
/ 06 марта 2011

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

...