Various fixes.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 5 Apr 2011 19:08:58 +0000 (21:08 +0200)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 5 Apr 2011 19:08:58 +0000 (21:08 +0200)
cvs2git-inc.sh

index 715d1ca..ee9e478 100755 (executable)
@@ -3,6 +3,7 @@
 #
 # incremental import using git
 #
+# required git repo already imported by cvs2git
 # requires synced CVS files
 # commit IDs need to be updated after new full cvs2svn import
 #
 # ==== import ====
 
 # sync (fetch) files into jra1mw.cvs
-#
+./cvssync.sh
 
 # sync fetched CVS repo to one-module CVS repo
 rsync --archive --verbose jra1mw.cvs/ jra1mw-cvssync.cvs/jra1mw/
 
 # import!
-[ -d "jra1mw-cvssync.git/.git" ] || (echo "First run! Preparation steps and initial import must be done manually." && exit 1)
+[ -d "jra1mw-cvssync.git/.git" ] || (echo "First run! Initial cvs2svn import must be done manually (although 'git cvsimport' will import something too)." && exit 1)
 unset CVSROOT
+echo "git cvsimport..."
 git cvsimport -d `pwd`/jra1mw-cvssync.cvs -C jra1mw-cvssync.git -a -k -z30 -A authors.txt jra1mw
 
-# firsttime setup
-#echo "jra1mw git repo for sync from LCG CVS." > jra1mw-cvssync.git/.git/description
-#
-#git clone /var/lib/git/jra1mw.git jra1mw-transfer
-#cd jra1mw-transfer
-#git remote add cvssync ../jra1mw-cvssync.git
-#git fetch cvssync
-#for b in branch_RC31_3 branch_2_0 branch_2_1 branch_workflow; do
-#      echo $b
-#      git checkout -b $b cvssync/$b || break
-#done
-#cd -
+# firsttime setup for incremental sync
+if [ ! -d "jra1mw-transfer/.git" ]; then
+       echo "jra1mw git repo for sync from LCG CVS." > jra1mw-cvssync.git/.git/description
+
+       git clone /var/lib/git/jra1mw.git jra1mw-transfer
+       cd jra1mw-transfer
+       git remote add cvssync ../jra1mw-cvssync.git
+       git fetch cvssync
+       for b in branch_RC31_3 branch_2_0 branch_2_1 branch_workflow; do
+               echo $b
+               git checkout -b $b origin/$b || break
+               #zadat tag do skriptu!
+               git log -n 1 cvssync/$b
+       done
+       git checkout master
+       cd -
+fi
 
 cd jra1mw-transfer
 git fetch cvssync
 
-#git checkout branch_RC31_3
-#git cherry-pick `git log --format=%H 4316f8ac93d4cfa61b471676c2f81e70f62f1b69..cvssync/branch_RC31_3`
-#
-#git checkout branch_2_0
-#git cherry-pick `git log --format=%H 385a0a242b5e4666192f1198df92d7d451c79164..cvssync/branch_2_0`
-#
-git checkout branch_2_1
-git cherry-pick `git log --format=%H 46021c94148d9d688604bcdbec0344e946d70053..cvssync/branch_2_1`
-
-git checkout branch_workflow
-git cherry-pick `git log --format=%H a0a362418b99167f40d1328ea8a934b147372329..cvssync/branch_workflow`
+echo "\
+branch_RC31_3   4316f8ac93d4cfa61b471676c2f81e70f62f1b69
+branch_2_0      385a0a242b5e4666192f1198df92d7d451c79164
+branch_2_1      46021c94148d9d688604bcdbec0344e946d70053
+branch_workflow a0a362418b99167f40d1328ea8a934b147372329
+master          86d4a33945bc77fe59369840a54d9d8a7c9e3ef3" | while read branch start; do
+       echo "$start..cvssync/$branch"
+       git checkout $branch || break
+       c=`git log --format=%H $start..cvssync/$branch --`
+       [ -z "$c" ] || git cherry-pick $c
+done
 
-git checkout master
-git cherry-pick `git log --format=%H 493486149be0129dd115b64cf1d15933c1d09da7..cvssync/master`
+echo "Really push? (CTRL-C for quit)"
+read
+git push