Git
git-svn

git-svnでコミットする

あまりやらなくて忘れてしまうのでruby/rubyにコミットする時の最低限の情報をメモしておく。

git-svnのスナップショットを持ってくる

一からgit-svnの用意をするのは時間がかかりすぎて非現実的なので、 wget https://svn.ruby-lang.org/ruby-svn.tar.gz をやる。

解凍したリポジトリを ~/src/github.com/ruby/ruby-svn とかに置いておく。

svnリポジトリにsshできるようにしておく

ssh -T svn.ruby-lang.orgとかできるようにしておく。

Host svn.ruby-lang.org
  HostName svn.ruby-lang.org
  Port 22
  User svn
  IdentityFile ~/.ssh/id_rsa.ruby

git-svnのスナップショットのsvn-remote.svn.urlの確認

git config -lとかやるとsvn-remote.svn.url=svn+ssh://svn@svn.ruby-lang.org/rubyとかになっている。なのでssh -T svn@svn.ruby-lang.orgが通る必要がある。

git-svnのインストール

sudo apt install git-svn

git svn rebase

git svn rebase

git pull相当の操作がgit svn rebaseになる。

git svn dcommit

git svn dcommit

trunkブランチをgit svn rebaseで最新にした後、ローカルで普通にgit commitした後git svn dcommitをするとsvnリポジトリにコミットされる。