У меня была та же проблема, но не на code.google.com: я зарегистрировал некоторые файлы, которые не должны быть доступны через историю в googlecode, но я не хотел отбрасывать всю историю после некоторого поиска, попытки, повторения и повторения Я имел успех. Ниже приведен рецепт, который работал для моего маленького проекта (6,5 МБ, 90 ревизий). Большая часть знаний пришла из googlecode , остальные - из svn redbook
Сначала создайте локальное репо, где вы загрузите репозиторий googlecode по адресу:
svnadmin create /tmp/your_local_repo
создать файл / tmp / isd_gc / hooks / pre-revprop-change с содержимым
#!/bin/bash
exit 0
сделать его исполняемым:
chmod +x /tmp/isd_gc/hooks/pre-revprop-change
в случае неудачи в этом разделе вы, скорее всего, увидите ошибку: изменение Revprop заблокировано обработчиком pre-revprop-change (код выхода 255) без вывода.
теперь вы можете запустить синхронизацию SVN с code.google.com
svnsync init --username yourname@youremail file:///tmp/your_local_repo https://yourproject.googlecode.com/svn
и начинайте скачивать всю историю:
svnsync sync --username yourname@youremail file:///tmp/your_local_repo
Совершенная редакция 1.
Скопированные свойства для ревизии 1.
Передача данных файла .......................
Скопированные свойства для ревизии 87.
Теперь мы создадим дамп-файл, который будет подан в svndumpfilter для удаления ненужных файлов.
svnadmin dump . > /tmp/tst_dump_gc.dmp
используйте svndumpfilter, чтобы удалить из него первый нежелательный файл.
svndumpfilter exclude /trunk/unwanted file_1.jsvg < /tmp/tst_dump_gc.dmp > /tmp/tst_dump_clean1.dmp
Отброшен 1 узел:
'/ trunk / unwanted file_new.jsvg'
удалить второй нежелательный файл:
svndumpfilter exclude /trunk/unwanted file_2.jsvg < /tmp/tst_dump_clean1.dmp > /tmp/tst_dump_clean2.dmp
воссоздание "старого временного репо"
rm -rf /tmp/your_local_repo
svnadmin create /tmp/your_local_repo
загрузить отфильтрованный дамп в репо
[/tmp]$svnadmin load --ignore-uuid your_local_repo < /tmp/tst_dump_clean2.dmp
Убедитесь, что в клиенте svn все в порядке (проверка истории транка показывает только 25 первых результатов в моем клиенте svn).
svnsync sync --username yourname@youremail https://yourproject.googlecode.com/svn