Кртек обнаружил, что вы делаете должно работать.Вот я запускаю его локально:
~$ 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
.