Author: draenog Date: Tue Feb 8 20:03:43 2011 GMT Module: git-migration Tag: HEAD ---- Log message: - script to fix tags in repos produced by cvs2git
---- Files affected: git-migration: cvs2gi_fixes.sh (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: git-migration/cvs2gi_fixes.sh diff -u /dev/null git-migration/cvs2gi_fixes.sh:1.1 --- /dev/null Tue Feb 8 21:03:43 2011 +++ git-migration/cvs2gi_fixes.sh Tue Feb 8 21:03:38 2011 @@ -0,0 +1,18 @@ +#!/bin/sh +# Often in CVS repo only changed file are tagged. In this case cvs2git produces +# superfluouss commits to delete not tagged file. Here the tag in converted git +# repo is moved to the parent if the tagged commit: +# 1. was made by cvs2svn +# 2. the only change in the tree is deletion of files + + +git show-ref --tags | \ +while read rev tagname; do + if [ `git show --format="%an" --quiet $rev` = "cvs2svn" -a \ + -z "`git branch --contains $rev`" ]; then + git diff-tree --diff-filter=ACMRTUXB --quiet $rev~ $rev && \ + git update-ref "$tagname" $rev~ + fi +done + + ================================================================ _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
