SubversionでVSSぽい管理をする。
現在ソース管理にSubversionを使用中。
もともとsvnベースなのでコマンドラインで使うようにできているが、GUIベースのクライアントツールがいろいろでている。
日本語化されていてかなり使いやすいTortoiseSVNというクライアントツールがある。
これはエクスプローラに追加されるもので、エクスプローラ側で更新やコミットを行う。
ソリューションファイル全体や初期設定(インポートとか)はこちらが使いやすく便利だが、
開発中のファイル単位の操作にはちょっと不便だったりもする。
vssみたいに直接VisualStudioからできるものはないかと調べたところ、AnkhSvnというものがある。
こちらは日本語化されていないので、メニューもダイアログも全部英語だが、グラフィカルなので全然直感でいける。
ただちょっとサポート的なHPはあんまりないかも。
インストールはsouceForgeから。
おおざっぱな使い方はこんな感じ。
一部試してない機能もあるけど、基本的な操作はこれで十分。
インストーラを起動し、「Next」連打でOK。
インストールが完了したら、Subversionで管理されているソリューションを開くと初回に
という画面が開く。
ようは、AnkhSVNをこのソリューション内で使いますか?ということなので
「はい」を選択。
すると↓のような記号がソリューションエクスプローラの各ファイル名の横に追加される。
ちなみに緑色チェックマークは最新の印。
変更が入ると↓の丸で囲ったようなマークへ変更される。
ちなみに追加すると黄色いマークがつく。このへんはやってみると直感で分る範囲なので割愛。
ankhSVNをインストールすると、ソリューションエクスプローラの右クリック時のドロップダウンメニューに赤丸の項目が追加される。
上部○は右クリックしたファイルを直接コミットもしくは更新するときにしようする。
それぞれの機能はこんな感じ
Update・・・ローカルをリポジトリと同期
Diff・・・差分表示
Create patch・・・差分手動追加用パッチ作成
Commit・・・リポジトリへ変更を確定更新
ローカルをコミットせずに同期をかけると悲惨なことになるのでくれぐれも注意すること。
下部赤丸をさらにクリックすると↓のメニューが表示される。
logは対象ファイルのリポジトリ更新履歴が表示される。(VSのタブとして開かれる)
refreshはたとえばTortoiseSVNで更新を掛けたときなど、グラフィック表示が実際の状態とずれているときなどに、最新の表示に再描画するときに利用する。
これも対象ファイルのみ。ソリューション全体で行いたい時は、一番上のソリューション名を右クリックして処理を行うとOK。
これだけ把握すれば英語のままでも問題はあんまりないとおもう。。。。
vssとsubversionの私にとっての大きな違いはvssは基本ロック状態で、使うもののみ自分だけ解除して、他の人には触れなくする仕様だけれど、subversionはロックしたければわざわざかけることができるけど、基本フリーで衝突を知らせてくれるところかな。
こいつのマージはアホなので、
>>リビジョン番号
で退避された部分を自分で探してチェックしてマージし、衝突回避を行う必要がある。
subversion自体の機能をちょっぴり使わないと戻すときに、デグレしてるぞこらって起こられて古いバージョンに対し修正した風になってしまうことがある。
これは、
前々回から改行一個増えたもの(前回)に対し、無駄な改行を取り除いて修正し更新
なんてことをしたときにデグレとして上げられなくなってしまうという困った状態も引き起こすので注意が必要。
そんなときは、一回明示的にリビジョンをファイル単位で戻してあげてそこに対し更新をかければ回避できる。
くれぐれもこの処理の最中に本当にデグレさせない様注意すること。
トラックバック(0)
このブログ記事を参照しているブログ一覧: SubversionでVSSぽい管理をする。
このブログ記事に対するトラックバックURL: http://akieika.com/mt/mt-tb.cgi/83

コメントする