Архив 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. Выполните следующие действия:

  1. Перейдите на страницу архива Google Code для проекта. Например. https://code.google.com/archive/p/majesticuo/
  2. Скопируйте URL-адрес загрузки в разделе "Источник".
  3. В 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.

  1. Следуйте инструкциям bahred для загрузки архива repo.svndump.gz.

  2. Создайте локальный репозиторий Subversion и импортируйте дамп

    svnadmin create /home/mloskot/svn
    svnadmin load /home/mloskot/svn < /home/mloskot/repo.svndump
    
  3. Измените репозиторий Subversion для создания файла авторов

    svn checkout file:///home/mloskot/svn
    

    и найдите один из множества скриптов для генерации authors.txt.

  4. Загрузите последнюю версию SubGit с https://subgit.com

  5. Прочитайте руководство по импорту SubGit, https://subgit.com/documentation/import-book.html.

  6. Инициализируйте репозиторий Git, где SubGit будет переводить репозиторий Subversion.

    subgit configure --minimal-revision 1 --layout std file:///home/mloskot/svn /home/mloskot/git
    
  7. Отредактируйте файл subgit/config сгенерированный в /home/mloskot/git/subgit/config

  8. Импортируйте репозиторий Subversion в Git

    subgit import /home/mloskot/git
    subgit uninstall --purge /home/mloskot/git
    
  9. Клонируйте репозиторий 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
    
  10. Наслаждайтесь вашим кодом нового дома!

Ответ 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.