Передача каталога в Subversion - PullRequest
11 голосов
/ 26 сентября 2008

Вроде вопрос новичка, но у меня проблемы с использованием SNVKit.

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

Команда, которую я пытаюсь запустить, это 'commit -m "Test Add" / svnroot / project1 /', но я продолжаю получать "svn: '/ home / user' не рабочая копия"

У меня есть структура, подобная этой:

  • / svnroot /
  • / svnroot / project1 /
  • / svnroot / project1 / grouping1 /
  • / svnroot / project1 / grouping1 / myfilesarehere

Если я пытаюсь зафиксировать файл, я получаю следующее сообщение: «/ svnroot / project1 / grouping1» не контролируется версией и не является частью фиксации, но его дочерний элемент является частью фиксации ».

Что я могу делать не так?

РЕДАКТИРОВАТЬ: Исправлены каталоги.

Ответы [ 9 ]

21 голосов
/ 19 мая 2011

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

2 голосов
/ 07 августа 2013

Я получил это сообщение и заметил, что делал коммит, пока находился в подкаталоге. Когда я переключился на корень дерева, он передал без вопроса.

1 голос
/ 26 сентября 2008

Я думаю, что проблема в том, что вы вносите изменения в сам фактический репозиторий SVN вместо того, чтобы выполнять импорт, извлекать копию для себя, вносить изменения, а затем делать коммит из извлеченной рабочей копии после добавления любых подкаталоги. Итак: import, checkout, вносят изменения , а затем, наконец, делают add для каждого нового файла или каталога и commit -m "message" формируют верхний уровень.

Больше информации в бесплатной онлайн книге SVN "Черепаха" .

1 голос
/ 26 сентября 2008

переместите ваш -m «комментарий» в конец. Я бы просто сменил каталог на каталог вашего проекта. Затем вы просто набираете svn commit -m "comment", а svn делает все остальное.

0 голосов
/ 29 апреля 2015

Возможно, вы провели некоторый рефакторинг и пытаетесь зафиксировать 'some.package.YourClass.java', в этом случае попробуйте зафиксировать каталог (пакет) 'some'.

Если вы хотите избавиться от такой головной боли в будущем, подумайте о переходе на GIT вместо svn. Помните, что SVN сохраняет ваши изменения в файле .SVN и пытается передать его в хранилище. Когда вы фиксируете это, в соответствии с этим файлом .svn будет выдвигаться «ваши изменения». Но что, если ваши изменения очень сложны? SVN не может справиться с этим.

GIT с другой стороны: вы получаете все обновления, чтобы ваш проект был актуальным. А при его совершении просто перезаписывается репо, так как он знает, что твое самое последнее и без суеты.

0 голосов
/ 29 октября 2013

Иногда при использовании некоторых программ, таких как eclipse или Versions.app, появляются такие ошибки. В этом случае выйдите из SVN-клиента и выполните это в командной строке.

0 голосов
/ 26 сентября 2008

Я отследил его до возможной ошибки где-то. Если я не добавлю сообщение, оно будет работать. Время больше копать. Спасибо за указатели.

0 голосов
/ 26 сентября 2008

Если вы хотите зафиксировать новый каталог, используйте вместо него svn import . В нынешнем состоянии вам, возможно, придется отменить или каким-либо другим действием очистить текущий беспорядок.

0 голосов
/ 26 сентября 2008

Это не совсем понятно, потому что вы их заменили непоследовательно, но похоже, что вы путаете пути к хранилищу / URL-адреса с путями рабочей копии. Если вы добавляете или фиксируете файлы, всегда используйте пути рабочей копии. Попробуйте поиграться с командной строкой svn, прежде чем использовать SVNKit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...