Подтвердить что ты не робот

Как решить ошибку svn "Запись для" xxx отмечена как "скопированная", но сама по себе не запланирована для добавления ".

Когда я пытаюсь зафиксировать определенный файл (xxx.java), появляется следующее сообщение об ошибке:

svn: Entry for 'C:\aaa/bbb/ccc/xxx.java' is marked as 'copied' but is not itself scheduled
for addition.  Perhaps you're committing a target that is
inside an unversioned (or not-yet-versioned) directory?

Как решить эту SVN-ошибку?

4b9b3361

Ответ 1

Я решил это с помощью следующих шагов:

  • Резервное копирование изменений в папке "ccc"
  • удалить папку "ccc".
  • запустите "SVN UPDATE" в верхней папке "aaa"
  • повторить изменения в файле xxx.java
  • Повторите попытку

Затем транзакция работала.

Ответ 2

Если вы извлечены из большого исходного дерева и хотите не обновлять все, я нашел еще одну проблему для этой проблемы. Поскольку альтернатива - все равно ударить все остальное, это, по крайней мере, стоит того, чтобы выстрелить (это сработало для меня).

В папке .svn вы заметите, что у вас есть файл "entries". Если вы откроете одного из этих парней в папке .svn, где находится XXX.java, вы увидите кучу "скопированных" флагов в тексте. Я не совсем уверен, как ты туда попал, но моя пришла от игры с VisaulSVN.

Я обнаружил, что удаление этих скопированных флагов из этих файлов записей приведет к тому, что ошибка исчезнет и позволит вам снова зафиксировать. Несколько примечаний:

  • обратите внимание, что файл записей изначально является файлом ReadOnly, и вам нужно снять этот флажок, чтобы внести изменения, и перепроверить его, когда закончите.
  • Этот скопированный флаг может находиться в нескольких областях исходного дерева, поэтому вам может понадобиться исправить несколько этих файлов записей.
  • Будьте осторожны, чтобы вы сохраняли номера строк одинаково и просто удаляли "скопированный" текст из файла.