SVN переместить в несуществующий каталог - PullRequest
0 голосов
/ 24 октября 2018

Я использовал svn move раньше, но не так, я спрашиваю здесь, потому что не могу допустить ошибку:

У меня есть проект, который является подпроектом другогоодин и теперь должен быть отдельным проектом верхнего уровня:

Текущий макет (вложенный):

/
└── company
    └── otherproject
        └── trunk
            └── project

Требуемый макет (отделенный):

/
└── company
    └── otherproject
    │   └── trunk
    └── project
        └── trunk

ЯЯ не уверен, нужно ли мне сначала запускать svn mkdir или svn move создает новые каталоги для вас.

Также неясно, как мне сделать svn commit после svn move.

1 Ответ

0 голосов
/ 24 октября 2018

Прежде всего, как уже сказал royalTS, весь смысл контроля версий заключается в возможности откатиться назад.Это включает в себя все виды изменений, которые вы можете придумать.Если ревизия 1234 решит, что все (!) Нужно жестоко очистить (может быть, это снова в это время года), ревизия 1233 не заботится о ней.

Теперь к вашей проблеме:

Вы говорите, что целевой каталог не существует.Это не относится к делу.Вы хотите переместить project в company.Очевидно, company уже существует.Нет необходимости mkdir ничего.

У вас есть 2 варианта здесь.

  1. Редактировать локальную рабочую копию:

    # cd to somwhere in the working copy, let's say `company`.
    cd /working-copy/company
    
    # move
    svn mv otherproject/trunk/project .
    
    # commit changes
    svn ci
    
  2. Работа с удаленными адресами (http является лишь примером здесь, это зависит от фактической конфигурации)

    svn mv http://..../company/otherproject/trunk/project http://..../company  
    

    Это будет зафиксировано немедленно.

Кстати, если вы укажете несуществующийфайлы или каталоги, Subversion выдаст вам сердитое сообщение об ошибке, как и все остальные.

Может быть, вам следует создать собственный репозиторий и провести несколько экспериментов ...

...