git-tf: зарегистрируйте фиксацию, которая перемещает файл из папки, которую нужно удалить.

У меня возникла проблема с проверкой определенного коммита с помощью git-tf. Проблемная фиксация включает в себя перемещение (переименование) файла, который является дочерним элементом папки, которую нужно удалить. По-видимому, в TFS это запрещено (см. in-of-change">это сообщение SO).

В будущем я, очевидно, постараюсь не делать этого в одном коммите на стороне git. Но поскольку я уже сделал эту ошибку, мне нужно найти способ обойти ее, чтобы проверка git-tf заработала. Я относительно новичок в git, поэтому, возможно, есть простое решение. Похоже, мне нужно как-то вернуться и «разделить» оскорбительную фиксацию на две части: одну, в которой файл перемещается/переименовывается из папки, и одну, в которой папка удаляется. Или, может быть, я могу что-то сделать на стороне TFS, чтобы сделать его счастливым.

Ошибка, которую выдает TFS, выглядит следующим образом: TF14060: элемент $/blah/... не может быть удален. У одного или нескольких дочерних элементов есть ожидающие изменения.

Любые идеи?


person ManicBlowfish    schedule 12.11.2012    source источник


Ответы (1)


От полезных людей в codeplex:

Чтобы обойти эту ошибку, вы можете попробовать следующее

git tf checkin --renamemode=justFiles

Что это сделает, так это то, что он переименует файлы, которые необходимо переименовать, но оставит пустые папки в TFS.

Это помогло мне. Как и было обещано, эта опция оставила пустую папку на стороне TFS. Я смог удалить папку в TFS, а затем выполнить «git-tf pull» без каких-либо дополнительных проблем.

person ManicBlowfish    schedule 12.11.2012
comment
Примечание. Если вы используете git tfs (а не git tf), вам следует обновиться до версии 0.17.1 или новее. Это должно решить эту проблему. - person VitalyB; 18.04.2013
comment
Я вижу это с git tfs 0.25.1.0. - person Don Branson; 10.02.2017
comment
У меня была точно такая же проблема в 0.27.0. Чтобы обойти это, мне пришлось создать фиктивный файл в папке, которую пытались удалить. Затем удалите его в tfs, как только он будет зарегистрирован! :( - person caveman_dick; 21.11.2017