« 今日の日記:通じないということ。 | トップページ | 今日の日記:いかんなぁ。 »

2008年6月28日 (土)

[Linux][IT覚書][subversion]バージョン管理を始めてみる。

subversion 関連 備忘録です。
自分のホームのテキストと、Webページのソースをとりあえずリポジトリに入れてバージョン管理を開始します。

★その1.Subversion リポジトリを作る

リポジトリ自体は、/var/lib/svn/repo
初期インポート元、~/temp
作業コピーは、~/work

 root になってみる。

$ su
パスワード:
su: 認証失敗

 ああ、ubuntu ではこうやるんだった。

$ sudo su
[sudo] password for kazuya:

# pwd
/var/lib
# mkdir svn

# ls -al ./svn
合計 8
drwxr-xr-x  2 root root 4096 2008-06-28 15:32 .
drwxr-xr-x 50 root root 4096 2008-06-28 15:32 ..

# cd ./svn/
# pwd
/var/lib/svn

 ここにリポジトリ作成。

# svnadmin create repo
# ls -al
合計 12
drwxr-xr-x  3 root root 4096 2008-06-28 15:34 .
drwxr-xr-x 50 root root 4096 2008-06-28 15:32 ..
drwxr-xr-x  7 root root 4096 2008-06-28 15:34 repo
# ls ./repo/
README.txt  conf  dav  db  format  hooks  locks
#

★その2.リポジトリ内に trunk ディレクトリを切って
     初期インポートする

 メッセージ"trunk create 20080628"とともに
 trunk を作成する。

$ svn mkdir file:///var/lib/svn/repo/trunk \
  -m "trunk create 20080628"

リビジョン 1 をコミットしました。
$ ls -l
合計 8
drwx------ 4 kazuya kazuya 4096 2008-05-04 13:17 local_html_master
drwxr-xr-x 2 kazuya kazuya 4096 2008-06-28 15:46 text

 メッセージ"first import 20080628"とともに
 trunk下にインポートする。

$ svn import -m "first import 20080628" ./* \
  file:///var/lib/svn/repo/trunk
svn: import コマンドへの引数が多すぎます

 あれ? 怒られた。じゃあこうかな?

$ svn import -m "first import 20080628" . \
  file:///var/lib/svn/repo/trunk

(リストが標準出力に出る)

追加しています  (バイナリ)  ...
追加しています              ...
追加しています  (バイナリ)  ...
追加しています              ...
追加しています              ...
...

リビジョン 2 をコミットしました。
$

★その3.リポジトリの中身を見てみる

 どのコマンドを使うと良いのかな?

$ svnlook tree
リポジトリの引数が必要です
使用方法を知りたいときは 'svnlook help' と打ってください。
$ svnlook tree file:///var/lib/svn/repo/
'file:///var/lib/svn/repo' は URL です。そこはパスで指定するべきです
$ svnlook tree file:///var/lib/svn/repo/trunk
'file:///var/lib/svn/repo/trunk' は URL です。そこはパスで指定するべきです

 …。
 なんかコマンドが違うみたい。
 こっちかな?

$ svn list file:///var/lib/svn/repo/trunk/

 これだと trunk 1行しか出てこない。

$ svn list -R  file:///var/lib/svn/repo/

(リストが出る)

★その4.チェックアウトして
     バージョン管理を開始する

$ pwd
/home/kazuya
$ ls
Examples           svn01.log  テンプレート  ドキュメント  音楽  公開
old_bookmark.html  temp       デスクトップ  ビデオ        画像

 インポート元はもう要らないのでバッサリ削除する。

$ rm -rf ./temp
$ ls
Examples           svn01.log     デスクトップ  ビデオ  画像
old_bookmark.html  テンプレート  ドキュメント  音楽    公開

 作業コピー用ディレクトリを作成する。

$ mkdir work
$ cd work/

 ここにチェックアウトする。

$ svn checkout file:///var/lib/svn/repo/trunk ./

(以下のようなリストが出る)
A    local_html_master/homepage2/ayuzaka/ail.htm
A    local_html_master/homepage2/ayuzaka/xxx.htm
A    local_html_master/homepage2/ayuzaka/yyy.htm
A    local_html_master/homepage2/ayuzaka/hi_ranking_cinema.htm
A    local_html_master/homepage2/ayuzaka/backup.bak
...
リビジョン 2 をチェックアウトしました。
$

$ pwd
/home/kazuya/work
$ ls
local_html_master  text
$

 ディレクトリの指定に一定のクセというか、決まりがあるみたいでした。
 trunk を指定すると、trunk 自身ではなく、その下の階層から出てくる。

 やっぱりGUIじゃなくてコマンドで試すべきだ。
 基本的な動きやクセがわかる。

以上、備忘録でした。

|

« 今日の日記:通じないということ。 | トップページ | 今日の日記:いかんなぁ。 »

コメント

そうそう.コマンドってやり取りが出来るんだよね.ダイアログって怒られている気がする.

投稿: HAWK2700 | 2008年6月29日 (日) 14時34分

>HAWK2700さん
 GUIはとっつき易いのですが、毒されてしまうとかえって何もできなくなるんですね。良し悪しありますけれど…。

投稿: あゆざかけい | 2008年6月29日 (日) 18時18分

コマンド使いだ!
CUI使いが現れた!

GUIは、使い勝手のいいインタフェースを作ってくれればいいんだけど、中途半端なインタフェースだと、いらいらしますね。
で、CUIに入って、こまこまと指定する。

世代なのかもー。
Eclipseなんて、コンパイルコマンドもビルドコマンドもいらないし。

投稿: くりにゃー | 2008年6月30日 (月) 20時06分

>くりにゃーさん
 Eclipse はわけわかめですね。
 何だって「エクスポート」しないと実体ファイル化しないのか。世代ですね。

投稿: あゆざかけい | 2008年6月30日 (月) 22時41分

この記事へのコメントは終了しました。

« 今日の日記:通じないということ。 | トップページ | 今日の日記:いかんなぁ。 »