Идиоты ведут к продвижению каталога в SVN

Нет, это не дубликат этого.

В то время как я обычно привык к использованию визуальных инструментов с SVN, я нахожу меня теперь сталкивающимся с желанием переместиться Repo/Parent/ChildX/ChildY кому: Repo/ChildY. Я получаю следующие ошибки, и просто ищу то, что я пропускаю здесь. Считайте сервер просто установленным (от дампа), ничто иное доступное, но svn.

> svn checkout https://localhost/Repo
svn: OPTIONS of 'https://localhost/Repo': 200 OK (https://localhost)

> svn move Repo/Parent/ChildX/ChildY Repo/ChildY
svn: 'Repo' is not a working copy
svn: 'Repo' does not exist

> svn move Parent NewParent
svn: '.' is not a working directory

> svn move https://localhost/Repo/Parent NewParent 
svn: Moves between the working copy and the repository are not supported

> svn move https://localhost/Repo/Parent https://localhost/Repo/NewParent
svn: OPTIONS of 'https://localhost/Repo': 200 OK (https://localhost)

> svn commit --message "Trying to get move command to work"
svn: 'C:\SVNTest' is not a working copy

Я нахожу это несколько нечетным, что первая команда (контроль) дает тот же ответ для того, как что я поместил позади 'Repo', https://localhost/Repo/SomeNonExistingName. Я уверен, что пропускаю что-то. Я нашел ссылки, говоря, что Вам не нужна рабочая копия для перемещения, но затем, как я делаю перемещение?

Ни одна из команд выше, дали ли они ошибку или хорошо, не сделала фактическое перемещение. Я использую Сервер VisualSVN и могу просмотреть repo онлайн.


Решение

Принятое решение ниже и другие ответы помогли решить эту проблему. Ответ на первую команду выше равен регулярному ответу с любого сервера Apache. 200 хорошо являются ответом HTTP.

При использовании Сервера VisualSVN стандартная установка находится под https://hostname/svn. К контролю необходимо снабдить префиксом название репозитория тот путь. Первая команда выше должна была читать:

> svn checkout https://localhost/svn/Repo
file1
file2
etc...
Revision XXX

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

> svn move Folder/SubFolder NewFolder

5
задан Community 23 May 2017 в 12:26
поделиться

3 ответа

Предполагая, что у вас есть действительный оформление заказа, самый простой способ быть чем-то вроде этого (где вы заменяете REPO_URL с правильным URL):

svn co REPO_URL
cd Repo
svn mv Parent/ChildX/ChildY .
svn commit -m "moved directory"

, который предполагает, конечно, что вы не понимаете t У стандартных каталогов багажника / тегов / ветвей.

Что подводит меня к вопросу, который вы должны ответить: как выглядит проверяемый рабочий каталог? У него есть структура, которую вы ожидаете, или у нее есть какие-то каталоги, о которых вы не знаете? Видите ли вы каталог .svn .svn . Под репом?


Редактировать: Я никогда не использовал сервер Visual SVN, но если у вас есть репозиторий на доступную файловую систему, вы всегда можете использовать «файл» URL:

svn co 'file:///localhost/Repo'

или, альтернативно (после того, как только что посмотрел на то, что VisualSvn вызывает «документацию»), я бы предложил проверить ваш рабочий каталог через Visual SVN, а затем выполнять команды выше.

Плюс, кажется, что Visual SVN создает каталоги багажника / тегов / ветвей, поэтому вы определенно хотят CD в рабочем каталоге и запустите там ваши команды , как только вы проверили Структура каталогов .

3
ответ дан 14 December 2019 в 19:13
поделиться

По мне, так это выглядит так, как будто проверка не удалась.

В случае успеха вы получите список проверяемых файлов, за которым следует строка "Checked out revision XXXXX."

Некоторые предложения из этого потока могут быть полезны. В частности, вы можете не настроить svn сервер должным образом для доступа по https. После того, как вы его исправите, вы должны просто следовать инструкциям в связанном потоке.

Пожалуйста, обновите / комментируйте / отвечайте, если возня со строкой 'svn checkout' не решит проблему.

1
ответ дан 14 December 2019 в 19:13
поделиться

В ответ на ваш комментарий, как выглядит камер, это хвост оформления одного из моих собственных проектов:

A    dblite\tags\pre-codeblocks\src\sqlite3.h
A    dblite\tags\pre-codeblocks\inc
A    dblite\tags\pre-codeblocks\inc\dblite.h
Checked out revision 31.

, и, конечно, T должен создать структуру каталогов , который похоже, твои не делают.

1
ответ дан 14 December 2019 в 19:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: