Вопрос: Subversion COPY / MOVE - Файл не найден: транзакция «XXX-XX»


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

Файл не найден: транзакция '3062-2e6', путь '/ Программное обеспечение / XXXXXX / branches / testbranch'

Я заметил, что первая часть «3063-3e6» в приведенном выше сообщении является последней успешной версией исправления в репозитории. Мои журналы apache не дают больше информации:

[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] Could not MOVE/COPY /svn/p070361/!svn/bc/3049/Software/SXXXXXX/trunk.  [404, #0]
[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] Unable to make a filesystem copy.  [404, #160013]
[Wed Nov 24 14:10:38 2010] [error] [client x.x.x.x] File not found: transaction '3059-2e2', path '/Software/XXXXXX/branches/testbranch'  [404, #160013]

Все это происходит на сервере с интерфейсом nginx, который проксирует Apache для битов subversion. Другие репозитории могут отлично работать, и я смог создать ветку, используя файл: /// из командной строки на сервере, на котором это происходит. Разрешения на этот репозиторий соответствуют всем репозиториям и дисковым пространствам.


5
2017-11-24 19:51


Источник


Это звучит очень ужасно, как повреждение вашего репо. - Avery Payne
Я думал, что сначала тоже, но svn-копия из командной строки с использованием файла: /// работала нормально. - Steve Platz
Я сузил его до пробелов в пути к каталогу. Иногда XXXXX на пути выше содержит пробелы. В этих случаях я вижу ошибку выше. Если путь не содержит пробелов, ошибки не возникает. Это, скорее всего, потребует некоторой реконфигурации интерфейса Nginx, который будет проверяться через часы. - Steve Platz


Ответы:


Вероятно, ваша структура svn не имеет директории «Software / XXXXXX / branches», она должна существовать, чтобы создать здесь «testbranch». Вы должны сделать этот каталог («ветви») руками, а затем сделать ветку.


9
2018-06-13 10:18





Это бесполезное сообщение об ошибке может возникнуть, если подкаталоги на пути назначения еще не существуют. Пока вы можете вручную их создать (с помощью svn mkdir), проще использовать --parents вариант.

    svn cp ^/trunk/bigproject ^/branches/experimental/bigproject -m 'test branch'

Если branches или experimental не существовало, тогда команда потерпит неудачу. Это должно работать:

    svn cp --parents ^/trunk/bigproject ^/branches/experimental/bigproject -m 'test branch'

6
2018-03-15 17:44



если вы небрежно используете -parents(только один -), возможно, эта ошибка: svn: E200007: Cannot mix repository and working copy sources - zhuguowei


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

Или, если вы не хотите выполнять полную миграцию, вы можете использовать git-svn - это «front-end» вашего репозитория svn, я рекомендую вам прочитать это узнать больше о git-svn.


-1
2017-11-24 20:19