Могу ли я уничтожить каталог из истории SVN, который отличается только чувствительностью к регистру? - PullRequest
0 голосов
/ 11 августа 2010

Так много педантичных мнений, а не ответов на этот вопрос .

У нас была пара java-пакетов, случайно зарегистрированных с начальной заглавной буквой. (com.foo.PackageName) и затем правильно переименовал их (com.foo.packagename). Позвольте мне повторить, основываясь на чтении некоторых ответов. У нас есть существующее имя com.foo.packagename, которое нужно использовать. Раньше у нас было имя com.foo.PackageName, которое мы переименовали в com.foo.packagename.

Наш svn-сервер работает на Linux-машине с чувствительной к регистру файловой системой. Мы разрабатываем на Mac с "сохраняющими регистр" файловыми системами. Мой svn-клиент из командной строки, похоже, справился с проблемой и ничего не упоминает о файлах в com.foo.PackageName. Клиент SVN, встроенный в NetBeans, похоже, считает, что в двух каталогах, которые раньше использовались с большой буквы, есть файлы-призраки с «неизвестным» статусом.

Я предполагаю, что решение состоит в том, чтобы заставить сервер SVN думать, что эти каталоги никогда не существовали .... или, возможно, какое-то другое решение? Они были настолько недолговечны под неправильными именами, что потеря истории их содержания при неправильном названии не стала бы проблемой. Копирование файлов, удаление каталогов из SVN, а затем их повторное добавление ничего не сделали для нас. Кроме того, rm -Rf в моей локальной копии, а затем выполнение новой команды svn co все еще показывает каталоги-призраки.

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

Ответы [ 2 ]

1 голос
/ 11 августа 2010

Сначала взгляните на то, что в данный момент находится в вашем хранилище:

svn ls http://server/svn...

если com.foo.PackageName все еще там, удалите его с помощью

svn rm http://server/svn.../com.foo.PackageName

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

0 голосов
/ 11 августа 2010

Попробуйте использовать svn delete --force в каталоге "Packagename" с учетом регистра. O.s. и затем передайте это изменение.

...