subversion についてのメモ

どうもりんこです。
本日,甥っ子所属の野球チームが江戸川グラウンドで行われる少年野球大会に参加するそうで,
早朝5時に,暇だったら見に来てくれという携帯メールを受信し,どうしたものかと思っているものの,
ちびっこが野球やサッカーをしているのを見るが好きなwhitypigさんは,
おそらく行くことになるでしょう。けど,遠いぞ。

なぜか今日日にsvn

昔,バイトしていたときに使ってたけど,かじった程度だし,それ以降使ってなかったので,
メモした。で,そのメモ用紙が邪魔なので,日記にする次第であります。


オープンソースのプロジェクトからソースコードをチェックアウトします。
編集します。オレオレバージョンのできあがりです。
その際に,版管理をしたいです。
しかし,C-xvvとかしてしまうと,オフィシャルなリポジトリにコミットかまそうと
すると思うんです。こいつは困ったぜ。オレは,ローカルでオレオレ版管理をしたいんです。

svn export してみる

記憶を想起して書いているので,パス関係の所は間違っているかもしれません。
詳細については,svn help import, svn help export して欲しいです。

# http://.../repos/svn/trunk で公開されているソースを,
# ホームディレクトリ下の path/to/src/ にダウンロードしたいとします。
% svn export --username foo --password bar http://.../repos/svn/trunk ~/path/to/src
# これで,悪玉菌である .svn 軍団を含まないきれいなソースツリーが,
# ローカルにダウンロードされるはずです。

# あとは,ローカルレポジトリを作って,import して,checkout して,
# 目的を達成です。
% svnadmin create ~/repos/svn_repos/someproject

% cd ~/path/to/src/someproject

# カレントディレクトリ下を,ローカルリポジトリにインポート
% svn import file:///home/whitypig/repos/svn_repos/someproject -m 'Initial import'
svn import をダイレクトに使えねぇのかなぁ?

上記では,export することで目的を達成していますが,

% svn import http://.../repos/svn/trunk ~/path/to/repos/someprojct -m 'Initial import'

みたいに一発でインポートできねぇのかなぁ?
svn help import を引用すると,

% svn help import
import: Commit an unversioned file or tree into the repository.
usage: import [PATH] URL

  Recursively commit a copy of PATH to URL.
  If PATH is omitted '.' is assumed.
  Parent directories are created as necessary in the repository.
  If PATH is a directory, the contents of the directory are added
  directly under URL.
  Unversionable items such as device files and pipes are ignored
  if --force is specified.

とあるので,いけそうですね。もちろん,ユーザ名とパスワードは必要でしょうが。
でも,.svn とかもインポートしてしまいそうな気もする。
時が来たら試してみるかも。

まとめ

最新版の綺麗なソースを欲しい,でもtarとかでは置いてないお。
こまったお。
==> svn export をどうぞ。