Вопрос

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

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

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

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

  • /svnroot/
  • /svnroot/project1/
  • /svnroot/project1/grouping1/
  • /svnroot/project1/grouping1/myfilesareздесь

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

Что я могу делать неправильно?

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

Это было полезно?

Решение 7

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top