このページの内容は古いです.最新版はこちら → Subversionレポジトリの使い方?
レポジトリの構成がまた変わりました。
です.
今までの作業コピーの切り替えは,コマンドライン版の場合は,
cd Springhead2 svn switch --relocate svn+ssh://springhead.info/export/spr/svn/repository/Springhead2/trunk svn+ssh://springhead.info/home/svn/spr2/Springhead2/trunk
でできます.
GUIではこの操作はできないようです.申し訳ないですが,コマンドライン版をインストールしてください.GUIの場合,springhead.info が putty の設定名になります.
Springheadの開発システムとして、Subversionを導入中です。
次のどれを使うかを選んでください。
Subversion
PuTTY
(win2kの場合) * コントロールパネル⇒システム⇒「詳細」タブ⇒「環境変数」ボタン * 「システム環境変数」のリストから「Path」を選択して、「編集」 * 変数値の末尾に(例えば)「;c:\Program Files\PuTTY」を追加
先ほど「Save public key」で保存した公開鍵を、メールに添付してmitake@hi.pi.titech.ac.jpまで送ってください。こちらでアカウントを作成して、鍵を登録します。 同じメールに、「ユーザ名」の希望も書いて送ってください。 長谷川メモ dsaの鍵から改行を削除して最後に「fw==」を追加して authorized_keys2に設定するとうまくいった.fw==ってなんなんだろう?
PUTTY.EXEを起動すると、設定画面が開きます。
エディタ(メモ帳でも何でも)で、"C:\Documents and Settings\(Windowsのユーザ名)\Application Data\Subversion\config"というファイルを開いて、次の内容を書き加えて、保存してください。
[tunnels] ssh = $SVN_SSH plink
c:\> svn checkout svn+ssh://sprsvn/home/svn/spr/Springhead/trunk ./Springhead
以上で準備作業は終わりです。
TortoiseSVN
PuTTY
(win2kの場合) * コントロールパネル⇒システム⇒「詳細」タブ⇒「環境変数」ボタン * 「システム環境変数」のリストから「Path」を選択して、「編集」 * 変数値の末尾に(例えば)「;c:\Program Files\PuTTY」を追加
先ほど「Save public key」で保存した公開鍵を、メールに添付してmitake@hi.pi.titech.ac.jpまで送ってください。こちらでアカウントを作成して、鍵を登録します。 同じメールに、「ユーザ名」の希望も書いて送ってください。
PUTTY.EXEを起動すると、設定画面が開きます。
エクスプローラの右クリックメニューを出すと、「TortoiseSVN」というメニューが追加されていると思います。そのメニューから「設定」を選ぶと、設定画面が出てきます。
以上で準備作業は終わりです。
Subversion
CygwinSSH
Cygwin上で、次のようにして鍵を作ってください。
$ ssh-keygen.exe -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/username/.ssh/id_dsa): [Enter] Enter passphrase (empty for no passphrase): [パスフレーズを入力] Enter same passphrase again: [同じパスフレーズをもう一度入力] Your identification has been saved in id_dsa. Your public key has been saved in id_dsa.pub. The key fingerprint is: 61:0d:a5:b9:21:a8:97:91:c0:7f:fb:63:44:a1:34:b4 username@host
公開鍵(拡張子が.pubの方)を、メールに添付してmitake@hi.pi.titech.ac.jpまで送ってください。こちらでアカウントを作成して、鍵を登録します。 同じメールに、「ユーザ名」の希望も書いて送ってください。
Cygwinのホームディレクトリに、.ssh/configというファイルを作って、次のように書き込んでください(.ssh/configがすでにある場合は、追記してください)。
Host sprsvn HostName springhead.info User username ←アカウントの作成、の所で決めた「ユーザ名」
c:\> svn checkout svn+ssh://sprsvn/home/svn/spr/Springhead/trunk ./Springhead
以上で準備作業は終わりです。
Subversion
Cygwin用のSubversionパッケージがあります。
$ which svn svn: command not found.
SSH
$ which ssh ssh: command not found.
次のようにして、ssh用の暗号鍵を作成してください。
$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/jumius/.ssh/id_dsa): [Enter] Enter passphrase (empty for no passphrase): [パスフレーズを入力] Enter same passphrase again: [同じパスフレーズを入力] Your identification has been saved in id_dsa. Your public key has been saved in id_dsa.pub. The key fingerprint is: 4c:fa:5c:61:53:fa:e6:b1:c7:fb:61:ae:19:10:57:38 Administrator@sora
先ほど作成した"id_dsa.pub"を、メールに添付してmitake@hi.pi.titech.ac.jpまで送ってください。こちらでアカウントを作成して、鍵を登録します。 同じメールに、「ユーザ名」の希望も書いて送ってください。
Cygwinユーザで、改行コードの設定を「DOS」にしている方は、改行コードによるトラブルを避けるために次のようにしてください(改行コードをどう設定したか覚えていない、という方も念のためにやってください)。
$ mount -b c:\subversionwork /home/someone/svnwork
「アカウントの作成」で、作成したアカウントのユーザ名が「username」であるとします。
$ cd ~/svnwork ← 先述の改行コード設定に該当していた場合は、必須 $ svn checkout svn+ssh://username@springhead.info/home/svn/spr/Springhead/trunk ./Springhead Enter passphrase for key '/home/jumius/.ssh/id_dsa':(パスフレーズを入力)
以上で準備作業は終わりです。
作業用のデータ(最新のソースコード他、一式)をダウンロードします。
$ svn checkout svn+ssh://someone@springhead.info/home/svn/spr/Springhead/trunk ./Springhead
一度チェックアウトしたら、以後はアップデートによって最新のソースコードに更新します。
$ svn update
新しく作成したファイル"hoge.cpp"を、Subversionに管理させるには次のようにします。
$ svn add hoge.cpp
また、次のようにすると、ファイル"hoge.cpp"をSubversionの管理からはずし、ファイルそのものも削除します。
$ svn remove hoge.cpp
ディレクトリに関しては、次のようにすると、ディレクトリ"fuga"を新しく作成すると同時にSubversionの管理下に置きます(コマンドライン限定)。
$ svn mkdir fuga
ディレクトリに関しても同じです。
$ svn move hoge.cpp fuga/piyo.cpp ## 現在のディレクトリから、fugaディレクトリの中へ移動する
$ svn move hoge.cpp piyo.cpp ## 名前がhoge.cppからpiyo.cppに変わる
自分の加えた変更を、サーバにアップロードします。コミットするときには、記録をとるためにメッセージの入力が必須です。
$ svn commit -m "Commit Log Message."
現在の状況の確認です。
左端の文字が、状況を表します。
$ svn status A hoge.h ←あなたは、hoge.hを追加しました(まだコミットしていません) M fuga.cpp ←あなたは、fuga.cppを編集しました(まだコミットしていません) M fuga.h ←上に同じ D test.ini ←あなたは、test.iniを削除しました(まだコミットしていません) ? test_1.txt ←test_1.txtは、Subversionの管理外にあります
特に変更のないファイルは、表示されません。
特に、「?」が付いているファイルは要注意です。もしかすると、新しいファイルを追加したのに「svn add」し忘れているのかもしれないからです。