ラベル git の投稿を表示しています。 すべての投稿を表示
ラベル git の投稿を表示しています。 すべての投稿を表示

2021年12月25日土曜日

SVNからGitへの変換

こちらはsvn-gitを用いると簡単。このコマンドはsvn+sshプロトコルで使えるので、手元の計算機にsvn-gitをインストールできれば使える。macのbrewで入れた。
git svn clone svn+ssh://cvs.apgrid.org/grid/svnroot/sss -T trunk -b branches -t tags
こんな感じ。ただうまく行かない場合もある。切り分けができていない。

CSVからGitへの変換

CSVレポジトリからgitレポジトリへの変換。多分もう使うことがないであろうけど一応残しておこう。 csv2svnというツールを使う。なまえからわかるように本来はsvnに変換するツールなのだけど、svnだけでなくgitへも変換してくれるのだけど、使い方がわからん。。ドキュメントへのリンクが切れている。 このスクリプトを見たらなんとなくわかった。
#!/bin/bash -x
TARGET=$1
mkdir ./$TARGET.git
cd ./$TARGET.git
git init
../../cvs2svn/cvs2git /grid/cvsroot/$TARGET | git fast-import
git checkout 
このツール自体がpython 2系で書かれているので寿命がつきかけている。CSVを放置していたほうがわるいのだけど。。

2013年2月13日水曜日

github でforkしたrepositoryのupdateに追従

なんとなくgithub内で完結できるのかと思ったらできないらしい。やりかたは ここに書かれてる。

forkしたレポジトリをローカルにclone。以下PROJがプロジェクト名、ORGが元のユーザ、MEが自分とする。

git clone https://github.com/ME/PROJ
cd PROJ
元のプロジェクトをupstreamに登録
git remote add upstream https://github.com/ORG/PROJ
フェッチ
git fetch upstream
こうすると upstream/xxxx というところに内容がとれてくる。 で、これをマージする
git merge upstream/XXXX
XXXXはmaster とかtrunk? mergeに失敗したら修正してから
git add xxx
git commit
最後にpushして終わり
git push origin master
面倒。