Архив Google Code для Github
Я хочу перенести этот проект https://code.google.com/archive/p/majesticuo в GitHub, поддерживающий историю.
Когда я пытаюсь использовать кнопку "Экспорт в GitHub", он говорит: "Инструмент экспорта проектов Google Code больше недоступен
Инструмент Google Code для GitHub больше не доступен. Исходный код проектов Google Code теперь можно найти в Архиве Google Code. '
Каким будет лучший способ сделать это вручную? У меня нет знаний svn и знаю немного git. Спасибо!
Ответы
Ответ 1
Обновлено 06 ноября 2017 года
Похоже, что вы можете восстановить и загрузить историю проекта в виде файла gzipped svn dump stream. Выполните следующие действия:
- Перейдите на страницу архива Google Code для проекта. Например. https://code.google.com/archive/p/majesticuo/
- Скопируйте URL-адрес загрузки в разделе "Источник".
- В URL-адресе измените source-archive.zip на repo.svndump.gz и загрузите файл.
Файл представляет собой файл потока дампа репозитория SVZ в формате gzipped, и вы можете использовать инструмент svnadmin load
для загрузки его в новый репозиторий.
Ответ 2
Если вы перейдете на страницу своего проекта в Google Code, затем нажмите "Источник" на боковой панели, а затем нажмите "Источник" на итоговой странице, вы попадете на страницу со ссылкой "Загрузить", Это приведет к созданию файла с именем "source -archive.zip", который содержит какой-то архив вашего проекта - я не уверен, насколько он завершен, но он содержит некоторые метаданные svn. Однако, если изменить последнюю часть этого URL-адреса с "source-archive.zip" на "repo.svndump.gz", вы получите svn "дамп" вашего репо. Это должно содержать полную историю и быть конвертируемым в формат git с различными инструментами миграции svn-to-git. (Я понял это на основе информации в этом сообщении в блоге, в котором также перечислены некоторые предлагаемые шаги для окончательного преобразования. ваша первая попытка конвертировать дамп не удалась, попробуйте другие инструменты, есть много вариантов, и есть немного искусства, если ваша история репо сложна.)
Ответ 3
Вот процедура я выступал в последнее время, чтобы переместить архив Google Кодовое Гил вкладов в GitHub репо, локально без какого - либо экземпляра сервера Subversion.
-
Следуйте инструкциям bahred для загрузки архива repo.svndump.gz
.
-
Создайте локальный репозиторий Subversion и импортируйте дамп
svnadmin create /home/mloskot/svn
svnadmin load /home/mloskot/svn < /home/mloskot/repo.svndump
-
Измените репозиторий Subversion для создания файла авторов
svn checkout file:///home/mloskot/svn
и найдите один из множества скриптов для генерации authors.txt
.
-
Загрузите последнюю версию SubGit с https://subgit.com
-
Прочитайте руководство по импорту SubGit, https://subgit.com/documentation/import-book.html.
-
Инициализируйте репозиторий Git, где SubGit будет переводить репозиторий Subversion.
subgit configure --minimal-revision 1 --layout std file:///home/mloskot/svn /home/mloskot/git
-
Отредактируйте файл subgit/config
сгенерированный в /home/mloskot/git/subgit/config
-
Импортируйте репозиторий Subversion в Git
subgit import /home/mloskot/git
subgit uninstall --purge /home/mloskot/git
-
Клонируйте репозиторий Git, также как шаг проверки, и отправьте его на GitHub.
git clone --mirror /home/mloskot/git repo
cd repo
git config remote.origin.mirror false
git clone --mirror <GITHUB REPO URL>
git remote set-url origin <GITHUB REPO URL>
git push --all origin
git push --tags origin
-
Наслаждайтесь вашим кодом нового дома!
Ответ 4
Только что проверил принятый ответ сегодня и получил следующую ошибку:
"Доступ запрещен. Анонимный абонент не имеет доступа к storage.objects.get к google-code-archive-source/v2/code.google.com//repo.svndump.gz."
Однако есть способ импортировать его в git, включая историю коммитов:
- Загрузите файл "source-archive.zip", используя предоставленную кнопку /url;
- Используйте расширение hg-git Mercurial для преобразования его в репозиторий git (инструкции для Windows можно найти здесь here).
Я просто сделал это, используя пустой репозиторий GitHub (созданный только для этого, без файла README.md), и это сработало с первой попытки. Расширение hg-git сгенерирует локальную ветку в вашем git-репозитории под названием "hg", которую можно отправить на пульт Github.