wiki:GitMigration

Version 3 (modified by brevilo, 12 years ago) (diff)

--

Git Migration

This page describes the SVN -> git migration. It should be considered as not yet complete so stay tuned for more...

Conversion

During conversion the different projects previously hosted in SVN git separated into dedicated repositories:

BOINC

Command:

git --bare svn init --trunk=trunk/boinc --tags=tags --branches=branches --ignore-refs="(SCHEDULER|boinc_app_release|boinc_release|boinc_server|checkin_notes|seti_boinc|start|vendor|unlabeled|setiathome|boinc_server|unlimited_stderr_out|staging|Pegasus|boinc_depends)" http://boinc.berkeley.edu/svn

Tracked branches:

  • boinc_core_release_5_10
  • boinc_core_release_5_2
  • boinc_core_release_5_4
  • boinc_core_release_5_6
  • boinc_core_release_5_8
  • boinc_core_release_5_8a
  • boinc_core_release_6_10
  • boinc_core_release_6_10_36_a
  • boinc_core_release_6_12
  • boinc_core_release_6_2
  • boinc_core_release_6_4
  • boinc_core_release_6_6
  • boinc_core_release_6_6a
  • boinc_core_release_6_8
  • boinc_core_release_6_8_26
  • boinc_core_release_6_8_27
  • boinc_core_release_6_8_28
  • boinc_core_release_7_0
  • boinc_core_release_7_0a

Build dependencies VS 2005

Command:

git --bare svn init --trunk=trunk/boinc_depends_win_vs2005 --branches=branches --ignore-refs="(vendor|unlabeled|setiathome|boinc_server|unlimited_stderr_out|staging|Pegasus|boinc_core_release|boinc_depends_win_vs2008|boinc_depends_win_vs2010|server_stable)" http://boinc.berkeley.edu/svn

Tracked branches:

  • boinc_depends_win_vs2005_6_10
  • boinc_depends_win_vs2005_6_12
  • boinc_depends_win_vs2005_6_8
  • boinc_depends_win_vs2005_7_0
  • boinc_depends_win_vs2005_7_0a

Build dependencies VS 2008

Command:

git --bare svn init --trunk=trunk/boinc_depends_win_vs2008 --branches=branches --ignore-refs="(vendor|unlabeled|setiathome|boinc_server|unlimited_stderr_out|staging|Pegasus|boinc_core_release|boinc_depends_win_vs2005|boinc_depends_win_vs2010|server_stable)" http://boinc.berkeley.edu/svn

Tracked branches:

  • boinc_depends_win_vs2008_6_12
  • boinc_depends_win_vs2008_7_0
  • boinc_depends_win_vs2008_7_0a

Build dependencies VS 2010

Command:

git --bare svn init --trunk=trunk/boinc_depends_win_vs2010 --branches=branches --ignore-refs="(vendor|unlabeled|setiathome|boinc_server|unlimited_stderr_out|staging|Pegasus|boinc_core_release|boinc_depends_win_vs2005|boinc_depends_win_vs2008|server_stable)" http://boinc.berkeley.edu/svn

Tracked branches:

  • boinc_depends_win_vs2008_6_12
  • boinc_depends_win_vs2008_7_0
  • boinc_depends_win_vs2008_7_0a

Cleaning / rewriting history

Binary removal

Binaries removed, path starting with:

  • curl
  • icu
  • openssl
  • zlib

Command:

git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch curl; git rm -rf --cached --ignore-unmatch icu; git rm -rf --cached --ignore-unmatch openssl; git rm -rf --cached --ignore-unmatch zlib' --tag-name-filter cat -- --all

Rewriting author details

SVN_USER - REAL_NAME/EMAIL mapping to be provided later (upon David's consent).

Command:

git filter-branch --env-filter 'if [ "$GIT_AUTHOR_NAME" = "<SVN_USER>" ]; then GIT_AUTHOR_NAME="<REAL_NAME>"; GIT_AUTHOR_EMAIL="<EMAIL>"; fi; export GIT_AUTHOR_NAME; export GIT_AUTHOR_EMAIL' 

Removing SVN UUID from commit messages

Command:

git filter-branch --msg-filter 'sed "s/677681c0-c3c0-48b4-bd46-92119ef6d97a//g"' --tag-name-filter cat -- --all