2015年1月16日 星期五

git 搬移log到svn下

需求:
git下的所有log資料搬到svn 某新資料夾下(svn其他資料夾已有log)

過程照參考資料做基本上就可以了...
1. Create Subversion-aware Git clone ( 首先你要安裝git-sv )
 $ git svn clone http://svn.localhost/svn/trunk/company
 $ cd trunk
 $ git fetch git@your.domain:username/project.git # 我是抓我gitlab上的git

 $ git branch tmp $(cut -b-40 .git/FETCH_HEAD)
$(cut -b-40 .git/FETCH_HEAD) 是原本gitlab最後一個commit id
 $ git tag -a -m "Last fetch" last tmp

2. Apply initial commit
 $ INIT_COMMIT=$(git log tmp --pretty=format:%H | tail -1)
$(git log tmp --pretty=format:%H | tail -1)是tmp branch log的最後一個 commit id
 $ git checkout $INIT_COMMIT .  #注意最後要有點(.)
 $ git commit -C $INIT_COMMIT

3. Rebase and submit
 $ git rebase master tmp
 $ git branch -M tmp master

 $ git svn dcommit

4. Update Google Code
 ...
 $ mv .git/refs/tags/newlast .git/refs/tags/last #這步我沒做



參考資料:
http://code.google.com/p/support/wiki/ImportingFromGit

沒有留言:

張貼留言