どうも検索でひっかかる CodeRepos の記事は読み手が Subversion とか Git の基礎知識を持っていることを前提で書かれているので、まともにそれらを触ったことがない自分は登録だけでも一苦労だった。
以前から Ruby の勉強でぼちぼち書いていた yabcel *1 がとりあえずクラスファイルの逆アセンブルくらいはできるようになったので、これを機に CodeRepos に登録してみた。
以下、はじめて Subversion を触る人がソースを登録するまでの手順をまとめる。
ディレクトリ作成
ソースを置くためのルートとなるディレクトリを作成する。svn import しないといけないのかと思っていたが、どうやら svn mkdir で良いらしい。
% svn mkdir --username fd0 -m 'mkdir' http://svn.coderepos.org/share/lang/ruby/yabcel Authentication realm: <http://svn.coderepos.org:80> coderepos password Password for 'fd0': Committed revision 13475. %
チェックアウト
作成したルートディレクトリ配下をチェックアウトする。さっき作成したばかりなので、当然ながら空である。
% svn checkout http://svn.coderepos.org/share/lang/ruby/yabcel Checked out revision 13475. % ls yabcel % cd yabcel % ls -a .svn %
ファイルの追加
何処かから登録したいソースのツリーを持ってきて、それらを svn add する。
% cp -R /path/to/src/* . % tree . . |-- lib | |-- yabcel | | |-- access_flags.rb | | |-- attribute.rb | | |-- code.rb | | |-- code_exception.rb | | |-- constant_pool.rb | | |-- constant_value.rb | | |-- deprecated.rb | | |-- exceptions.rb | | |-- field.rb | | |-- inner_class.rb | | |-- java_class.rb | | |-- line_number.rb | | |-- local_variable.rb | | |-- member.rb | | |-- method.rb | | |-- opcodes.rb | | |-- signature.rb | | |-- source_file.rb | | |-- types.rb | | `-- utility.rb | `-- yabcel.rb `-- yabcel_driver.rb 2 directories, 22 files %
% svn add yabcel_driver.rb lib A yabcel_driver.rb A lib A lib/yabcel A lib/yabcel/access_flags.rb A lib/yabcel/attribute.rb A lib/yabcel/code.rb A lib/yabcel/code_exception.rb A lib/yabcel/constant_pool.rb A lib/yabcel/constant_value.rb A lib/yabcel/deprecated.rb A lib/yabcel/exceptions.rb A lib/yabcel/field.rb A lib/yabcel/inner_class.rb A lib/yabcel/java_class.rb A lib/yabcel/line_number.rb A lib/yabcel/local_variable.rb A lib/yabcel/member.rb A lib/yabcel/method.rb A lib/yabcel/opcodes.rb A lib/yabcel/signature.rb A lib/yabcel/source_file.rb A lib/yabcel/types.rb A lib/yabcel/utility.rb A lib/yabcel.rb %
コミット
あとは svn commit するだけ。とっても簡単である。
% svn commit -m 'initial release' Adding lib Adding lib/yabcel Adding lib/yabcel/access_flags.rb Adding lib/yabcel/attribute.rb Adding lib/yabcel/code.rb Adding lib/yabcel/code_exception.rb Adding lib/yabcel/constant_pool.rb Adding lib/yabcel/constant_value.rb Adding lib/yabcel/deprecated.rb Adding lib/yabcel/exceptions.rb Adding lib/yabcel/field.rb Adding lib/yabcel/inner_class.rb Adding lib/yabcel/java_class.rb Adding lib/yabcel/line_number.rb Adding lib/yabcel/local_variable.rb Adding lib/yabcel/member.rb Adding lib/yabcel/method.rb Adding lib/yabcel/opcodes.rb Adding lib/yabcel/signature.rb Adding lib/yabcel/source_file.rb Adding lib/yabcel/types.rb Adding lib/yabcel/utility.rb Adding lib/yabcel.rb Adding yabcel_driver.rb Transmitting file data ...................... Committed revision 13478. %