Відповідь Іва Мартіна чудово працювала для нас на багатьох робочих примірниках з SVN 1.8, але ми все-таки стикалися з випадками, коли це не працювало.
Запуск команди Іва без "де id = 1" працював у всіх випадках для нас:
$ sqlite3 .svn/wc.db 'update REPOSITORY set uuid="1c0d1ec1-2326-0410-bef5-eb29cddfc032"'
Досліджуючи, чому це сталося, я з’ясував, що під час переміщення сховища зберігаються кілька UUID, всупереч інтуїції Іва, що цього ніколи не повинно відбуватися.
Новий запис у таблицю REPOSITORY додається після переміщення, а не оновлення існуючого, зберігаючи інкретований ідентифікатор з новим коренем сховища та його UUID. Тож випадки, які не спрацювали належним чином, були робочими копіями, які вже були переміщені в минулому: Команда, здавалося б, працює, але змінився лише початковий UUID, а не той, що використовується в даний час.
Можна перевірити список збережених коренів та UUID в робочій копії за допомогою цієї команди:
$ sqlite3 .svn/wc.db 'select id,uuid,root from REPOSITORY'
Нарешті зауважу, що мені довелося використовувати інший набір лапок для файлів командного рядка / пакетних файлів Windows таким чином:
> sqlite3.exe .svn\wc.db "update REPOSITORY set uuid='1c0d1ec1-2326-0410-bef5-eb29cddfc032'"