Open main menu

Difference between revisions of "GIT Migration"

853 bytes added ,  22:20, 3 November 2010
Line 27: Line 27:
:Also, I think when we made the CVS conversion back then, something went slightly wrong with the very old history. Consider e.g. <http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/?pathrev=3486>, where the code that should be in trunk is hidden away in a subdirectory "scummvm-old" of trunk. Not terrible, but certainly annoying. Esp. since later on, at some point the two are mixed: Trunk is populated but "scummvm-old" is still there.This happened in revision 4785, see <http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=revision&revision=4785>, and while it lists me as the committer with commit message "Initial revision", I am not quite sure why that is... probably because we switch to a new CVS repository back then, with a revised file structure... And things were never properly stitched together. The annoying part is that "scummvm-old" is still visible much, much later, see e.g. <http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/?pathrev=18000>. It was only removed in revision 20419, see <http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=revision&revision=20419>, manually.
:Also, I think when we made the CVS conversion back then, something went slightly wrong with the very old history. Consider e.g. <http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/?pathrev=3486>, where the code that should be in trunk is hidden away in a subdirectory "scummvm-old" of trunk. Not terrible, but certainly annoying. Esp. since later on, at some point the two are mixed: Trunk is populated but "scummvm-old" is still there.This happened in revision 4785, see <http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=revision&revision=4785>, and while it lists me as the committer with commit message "Initial revision", I am not quite sure why that is... probably because we switch to a new CVS repository back then, with a revised file structure... And things were never properly stitched together. The annoying part is that "scummvm-old" is still visible much, much later, see e.g. <http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/?pathrev=18000>. It was only removed in revision 20419, see <http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=revision&revision=20419>, manually.


::Something built on the following filters should take care of scummvm-old: [[User:Wjp|Wjp]] 22:20, 3 November 2010 (UTC)
  git checkout -b remove_old_branch  `git svn find-rev r4784`
  git filter-branch --index-filter 'git ls-files -s |
    sed "s-\tscummvm\-old\/\"*-\t-" | GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
    git update-index --index-info && test -f $GIT_INDEX_FILE.new &&
    mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE || true' HEAD
  git checkout -b remove_old_branch_2 `git svn find-rev r20419`
  git filter-branch -f --prune-empty --parent-filter \
    'sed s/`git svn find-rev r4784`/`git rev-parse remove_old_branch`/' \
    --index-filter 'git ls-files -s | grep -v scummvm-old |
    GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info &&
    test -f $GIT_INDEX_FILE.new && mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE || true' HEAD


==== Where to host the GIT repository? ====
==== Where to host the GIT repository? ====
178

edits