how to use subversion

「how to use subversion」の編集履歴(バックアップ)一覧はこちら

how to use subversion」(2008/09/11 (木) 05:25:24) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

この記事を書いた日 忘れた この記事の更新日時2008/09/08 *Subversion バージョン管理を使ってみる。 ここでは一人でバージョン管理を行うので競合などは発生せず、ネットワーク越しでもない。ローカルマシン内で完結する。 **参考文献(というかなんというか) こちらがすばらしいです。 [[http://digilib.silkroad.net/modules/bwiki/index.php?Subversion]] [[http://www.collab.net/scdocs/ddUsingSVN_command-line.html.ja]] **install まずはインストール。自分はdebian etchなのでapt-getを試してみた。どうやらこれで出来るようだ。 apt-get install subversion インストールは管理者権限で行う。終わったらすぐに抜けないと管理者権限でファイルとか作っちゃって面倒だからすぐ抜ける。 **before using 使いかた。の前に用語。 :リポジトリ(repositry)|貯蔵庫などの意味。svnではここに全ての情報を格納していく。 リポジトリ用ディレクトリの指定 mkdir "リポジトリ用に使いたいディレクトリ名" svnadmin create "リポジトリ用に使いたいディレクトリ名" まずディレクトリを作成。そしてsvnがここをリポジトリに使うように指定します。ここに様々な情報が格納されていきます。以下ではリポジトリを/home/hoge/svn-reposとします。 **import リポジトリに格納します。インポートと呼びます。 バージョン管理を行いたいファイルがあるディレクトリが  /home/hoge/work/hogehoge にあり、リポジトリを /home/hoge/svn-repos だとすると、 cd /home/hoge/work/hogehoge svn import -m "importing file ..." . file:///home/hoge/svn-repos/hogehoge/trunk とする。-mオプションで、このインポートに任意のメッセージを付けることが出来る。わかりやすいメッセージを付けておくと後々便利。このとき指定したhogehogeがプロジェクト名で、trunkは開発のメインラインということを示す。枝わかれしたときはtrunkではなくてbranchにする。開発が枝わかれしないことが判っているなら、 svn import -m "importing file ..." . file:///home/hoge/svn-repos/hogehoge でもよい。これでファイルがリポジトリに格納される。 **check out リポジトリから出します。チェックアウトと呼びます。 プロジェクトのディレクトリに移動します。 cd /home/hoge/work/hogehoge 移動したらそこにあるファイルを確認します。リポジトリから出してこようとするファイルと重複するファイルが存在すると失敗してしまうので、出してくるファイル(つまりインポートしたファイル)と同じファイル名のファイルは消しておきましょう。重複がないことを確認した上で、 svn co file:///home/hoge/svn-repos/hogehoge/trunk . coはチェックアウトのことです。これで前回インポートしたファイルの作業コピーがディレクトリに出来ました。以降このファイルはsvnによって監視され、差分情報などを見ることが出来ます。 **変更を見る status,diff hoge.txtをチェックアウトしたら、それらを編集するはずです。 あれ、このファイル編集したっけ?というときに確認するには↓ svn status hoge.txt どこを編集したっけ?というときには↓ svn diff hoge.txt 編集する前の最新バージョンとの差分が見れます。 **リポジトリの更新(リポジトリへの格納) 変更したファイルはリポジトリに格納しなければ意味がありません。 変更したファイルがある作業ディレクトリで以下のコマンドを実行。 svn commit -m "message ..." 変更したファイルはsvnが監視しているので、変更したファイルのみをリポジトリに格納します。 これでリポジトリは更新されます。バージョン管理されているので、一回目にインポートした状態に戻すことも容易です。この例だとリビジョン2になっているはずです。 hoge.txt以外のファイルは変更していないとしても、それらのファイルにもリビジョン2が付けられます。svnは変更点を管理していくので、変更されていないファイルは変更点ゼロという情報がリポジトリに格納されます。 **更新状態の確認 更新の推移などを確認するには以下のコマンドを使います。 svn log hoge.txt 更新の推移を詳細に見たいときは svn log --verbose hoge.txt で見れます。 **必要なリビジョンのチェックアウト svn -r 3 file:///home/hoge/work/hogehoge . のようにすれば数字で指定した(ここでは3)のリビジョンがチェックアウトできます。 **diffとpatch diffを取りpatchを作る。パッチを作りたいファイルのあるディレクトリに移動する。ここでは/home/hoge/work/hogehogeである。 cd ここでは/home/hoge/work/hogehoge そして以下のコマンドを打ち込む!打ち込む!打ち込む!するとあら不思議、現在のディレクトリ以下のファイルのパッチを作ってくれます。すごいですね。 svn diff > mychanges.patch patchコマンドは頭がいいのでこのdiffファイルを食べさせてあげるとうまいことやってくれます。すごいですね。 patch -p0 -i mychanges.patch 詳しい意味はわかりません。ごめんなさい。 diff -c とかでファイルを指定しても出来るみたいです。 **svncommand.vim vimで使えるsubversion http://www.vim.org/scripts/script.php?script_id=922
この記事を書いた日 忘れた この記事の更新日時2008/09/08 *Subversion バージョン管理を使ってみる。 ここでは一人でバージョン管理を行うので競合などは発生せず、ネットワーク越しでもない状態の使用について書きます。ローカルマシン内で完結します。 他の人が書いたすばらしい文章があるので、そちらを参考にされるととてもよいと思います。 **参考文献(というかなんというか) こちらがすばらしいです。 [[http://digilib.silkroad.net/modules/bwiki/index.php?Subversion]] [[http://www.collab.net/scdocs/ddUsingSVN_command-line.html.ja]] **install まずはインストール。自分はdebian etchなのでapt-getを試してみた。どうやらこれで出来るようだ。 apt-get install subversion インストールは管理者権限で行う。終わったらすぐに抜けないと管理者権限でファイルとか作っちゃって面倒だからすぐ抜ける。 **before using 使いかた。の前に用語。 :リポジトリ(repositry)|貯蔵庫などの意味。svnではここに全ての情報を格納していく。 リポジトリ用ディレクトリの指定 mkdir "リポジトリ用に使いたいディレクトリ名" svnadmin create "リポジトリ用に使いたいディレクトリ名" まずディレクトリを作成。そしてsvnがここをリポジトリに使うように指定します。ここに様々な情報が格納されていきます。以下ではリポジトリを/home/hoge/svn-reposとします。 **import リポジトリに格納します。インポートと呼びます。 バージョン管理を行いたいファイルがあるディレクトリが  /home/hoge/work/hogehoge にあり、リポジトリを /home/hoge/svn-repos だとすると、 cd /home/hoge/work/hogehoge svn import -m "importing file ..." . file:///home/hoge/svn-repos/hogehoge/trunk とする。-mオプションで、このインポートに任意のメッセージを付けることが出来る。わかりやすいメッセージを付けておくと後々便利。このとき指定したhogehogeがプロジェクト名で、trunkは開発のメインラインということを示す。枝わかれしたときはtrunkではなくてbranchにする。開発が枝わかれしないことが判っているなら、 svn import -m "importing file ..." . file:///home/hoge/svn-repos/hogehoge でもよい。これでファイルがリポジトリに格納される。 **check out リポジトリから出します。チェックアウトと呼びます。 プロジェクトのディレクトリに移動します。 cd /home/hoge/work/hogehoge 移動したらそこにあるファイルを確認します。リポジトリから出してこようとするファイルと重複するファイルが存在すると失敗してしまうので、出してくるファイル(つまりインポートしたファイル)と同じファイル名のファイルは消しておきましょう。重複がないことを確認した上で、 svn co file:///home/hoge/svn-repos/hogehoge/trunk . coはチェックアウトのことです。これで前回インポートしたファイルの作業コピーがディレクトリに出来ました。以降このファイルはsvnによって監視され、差分情報などを見ることが出来ます。 **変更を見る status,diff hoge.txtをチェックアウトしたら、それらを編集するはずです。 あれ、このファイル編集したっけ?というときに確認するには↓ svn status hoge.txt どこを編集したっけ?というときには↓ svn diff hoge.txt 編集する前の最新バージョンとの差分が見れます。 **リポジトリの更新(リポジトリへの格納) 変更したファイルはリポジトリに格納しなければ意味がありません。 変更したファイルがある作業ディレクトリで以下のコマンドを実行。 svn commit -m "message ..." 変更したファイルはsvnが監視しているので、変更したファイルのみをリポジトリに格納します。 これでリポジトリは更新されます。バージョン管理されているので、一回目にインポートした状態に戻すことも容易です。この例だとリビジョン2になっているはずです。 hoge.txt以外のファイルは変更していないとしても、それらのファイルにもリビジョン2が付けられます。svnは変更点を管理していくので、変更されていないファイルは変更点ゼロという情報がリポジトリに格納されます。 **更新状態の確認 更新の推移などを確認するには以下のコマンドを使います。 svn log hoge.txt 更新の推移を詳細に見たいときは svn log --verbose hoge.txt で見れます。 **必要なリビジョンのチェックアウト svn -r 3 file:///home/hoge/work/hogehoge . のようにすれば数字で指定した(ここでは3)のリビジョンがチェックアウトできます。 **diffとpatch diffを取りpatchを作る。パッチを作りたいファイルのあるディレクトリに移動する。ここでは/home/hoge/work/hogehogeである。 cd ここでは/home/hoge/work/hogehoge そして以下のコマンドを打ち込む!打ち込む!打ち込む!するとあら不思議、現在のディレクトリ以下のファイルのパッチを作ってくれます。すごいですね。 svn diff > mychanges.patch patchコマンドは頭がいいのでこのdiffファイルを食べさせてあげるとうまいことやってくれます。すごいですね。 patch -p0 -i mychanges.patch 詳しい意味はわかりません。ごめんなさい。 diff -c とかでファイルを指定しても出来るみたいです。 **svncommand.vim vimで使えるsubversion http://www.vim.org/scripts/script.php?script_id=922

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。