Существует ли путь (возможно, с некоторым кодированием) для загрузки локальной истории CVS в Google Code SVN?

У меня есть некоторый старый персональный/собственный код, который я хочу "способствовать" открытому исходному коду.

Но я действительно хотел бы сохранить (и опубликовать), полная история CVS... - это возможное через репозиторий SVN Кода Google?

1
задан Alex R 30 May 2010 в 18:28
поделиться

2 ответа

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

Код Google поддерживает Mercurial (можно включить на вкладке управления проектом) и Mercurial имеет механизм преобразования (который вы можете включить) для импорта из других систем, включая CVS . Так что я думаю, что это можно сделать в коде Google, если вас устраивает Mercurial .

Я недавно проходил преобразование SVN в Mercurial и теперь считаю, что стоит посмотреть, размещается ли он в коде Google. Я думаю, что это перевоспитание подрывной деятельности дает достойный обзор того, почему вам следует заботиться.

1
ответ дан 3 September 2019 в 00:13
поделиться

Вам придется сделать это в два этапа: сначала преобразовать репозиторий из CVS в Subversion, а затем импортировать существующий репозиторий subversion. Из FAQ:

Как импортировать CVS-репозиторий в мой проект?

Инструмент cvs2svn - это хорошо зарекомендовавший себя инструмент для преобразования CVS в историю Subversion. Используйте его для создания репозитория Subversion, а затем используйте svnsync для переноса историю Subversion в ваш репозиторий Google Code репозиторий. (См. "Как импортировать существующую историю Subversion?")

Затем проверьте запись чуть выше:

Как импортировать существующий репозиторий Subversion?

Чтобы загрузить историю существующего репозитория Subversion, используйте svnsync. репозитория Subversion, используйте svnsync который поставляется вместе с Subversion 1.4 или более поздней версии. Выполните команду svnsync help, чтобы узнать больше об этом инструменте.

Обратите внимание, что ваш репозиторий Google Code должен быть сброшен на ревизию 0, чтобы это чтобы это сработало. На вкладке Source вашего проекта появятся инструкции о том, как сбросить репозиторий самостоятельно. (Примечание: вы должны быть владельцем проекта, чтобы сбросить свой собственный репозиторий, а также для того, чтобы продвигать код с помощью svnsync.)

Вот пример транскрипта, который демонстрирует, как вы можете продвигать историю из существующего репозитория (расположенного по адресу file:///my/repos) в ваш репозиторий в Google Code:

$ svnsync init --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn file:///path/to/localrepos
Скопированы свойства для ревизии 0.
$ svnsync sync --username YOURUSERNAME https://YOURPROJECT.googlecode.com/svn
Зафиксирована ревизия 1.
Скопированы свойства для ревизии 1.
Зафиксирована ревизия 2.
Скопированы свойства для ревизии 2.
[...]

Когда появится запрос на ввод пароля, используйте свой пароль googlecode.com, который можно найти на вкладке настройки на на странице вашего профиля.

Запуск svnsync на большом хранилище займет значительное количество времени. Если вы будете отключены от сети во время во время процесса, вы можете увидеть сообщение об ошибке сообщение "svnsync: Couldn't get lock on destination repos after 10 attempts". Если это произошло, вы можете снять блокировку самостоятельно; см. раздел "Блокировки" of svnsync.txt.

1
ответ дан 3 September 2019 в 00:13
поделиться
Другие вопросы по тегам:

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