ラベル Mercurial の投稿を表示しています。 すべての投稿を表示
ラベル Mercurial の投稿を表示しています。 すべての投稿を表示

2009年11月4日水曜日

Mercurial(TortiseHG)でWinMerge(日本語版)を使う

マージツール・Diffツールを設定する.
(MercurialHGは0.8.3 環境変数LANG=jaで日本語化,コンテキストメニューはそのまま英語)

参考:
http://d.hatena.ne.jp/Wacky/20080503/1209817242

http://www.02.246.ne.jp/~torutk/mercurial/intro.html


まず日本語版WinMergeをインストール

WinMerge

右クリック→TortoiseHG→Global Settings
で設定ダイアログを出す.



ダイアログの「ファイルを開く」 をクリックして設定ファイルを開く(HOMEフォルダに設定ファイル「mercurial.ini」が作られる.

 

赤字の部分を追加 

# Generated by tortoisehg-config

[ui]
username = Miura

[merge-tools]
winmergeu.args=/e /ub /dl other /dr local $other $local $output
winmergeu.regkey=Software\Thingamahoochie\WinMerge
winmergeu.regname=Executable
winmergeu.fixeol=True
winmergeu.checkchanged=True
winmergeu.gui=True

[extensions]
extdiff =

[extdiff]
cmd.wmdiff = C:\Program Files\WinMerge\WinMergeU.exe
opts.wmdiff = /r /e /x /ub


一旦,Global Settingを閉じ,再度Global Settingを開く.
3-wayマージツールに「winmergeu」
GUI差分表示コマンドに「wmdiff」を設定する.

 




あとは,右クリック→TortiseHG→Visual Diffをクリック
ダイアログから修正ファイルをクリックすると,






WinMergeが起動し,日本語もちゃんと出る(泣)



2009年11月3日火曜日

ソースコードの管理

たいがいソフトウェア開発では、バージョン管理ツールが使われるが、
うちとかだと、Microsoft のVisual Source Safeとかしか使っていない。

しかし、こいつでは、分散開発とかがやり難い。
(もっともVisual Source Safe 2005あたりから、Webアクセスとかできるようになってだいぶ改善しているようだ。使ったことないけど)

いまは、Microsoftももっと進んだ製品を出していて、Visual Studio Team Foundation Serverというのがあるらしい。

でも高いので買いたくないです。*1

やりたいことは、客先と自社で分散で作業し、自社で開発したソースを客先のリポジトリに格納したい。で客先のリポジトリからお客や他社が作ったソースとともに統合作業ができればOK。
「パッチファイルをメールで送る」でできれば万々歳なのだが、

git/Mercurialでなんとかならないか考え中

とりあえずMercurialを使ってみるか(←いまここ)

*1:

参考価格

・Team Foundation Server : 380,000 円
・Team Foundation Server CAL : 68,000 円
・Visual SourceSafe 2005 : 88,800 円
・git                                       : 0 円
・Mercurial                          : 0 円


Google codeでMercurial(TortoiseHG)

やっと念願のGoogle code Hostingにソースを上げることに成功した(ので記念カキコ)

参考にしたページ:

Mercurial の利用

Mercurial の使い方のチュートリアル


Mercurialは,WindowsのTortoiseHGを使用した.
インストールしただけで,特に設定はしていない.

1.とりあえずclone

サーバのソースをローカルリポジトリにコピーする.
作業開始前のおまじないみたいなもの.
作業フォルダの上で右クリックして,「Clone a Repository」を選ぶ



 以下のようなダイアログが表示されるので,
Source PathにGoogle Codeのリポジトリを,
Destination Pathにローカルのフォルダ(新規)を入れる.



Destination Pathのフォルダ(以下,作業フォルダ)が生成され,
中に.hgフォルダ(Mercurialのローカルリポジトリ)が作られる.

2.add - ファイルを追加

最初にcloneしたとき,プロジェクトにファイルは1つもないので,追加から始める.
ファイルを作成(今回はすでにあるファイルを作業フォルダにコピー)し,
 作業フォルダ内で右クリック「TortoiseHG」「Add Files」を選択.



以下のダイアログが表示されるので,
ファイルをチェックして「add」ボタンをクリックする.



これで,追加完了.
編集とかは,そのままエディタで編集すればいいはず.

3.commit

追加・削除・編集に一区切りついたら,commit.
commitしてもローカルのリポジトリにしか反映されない.
作業フォルダ内で右クリックし,「HG Commit」を選択.




以下のようなダイアログが表示されるので,上部の空欄にコメントを入れる.
Mercurialはバージョン番号とか無いはずなので,このコメントは後から見るとき重要.
(ここでは,「First Version」とだけ記載.ダメじゃん)

Commitボタンをクリックする.



結果が表示される.まあここで問題になることは多分ないよね.

 

ローカルリポジトリはネットに繋がっていないときでも,
使えるので頻繁にコミットすればいいのではないだろうか.

重要なのは,サーバ(大元のデータ)に上げることである.


4.pull

サーバのリポジトリに上げる準備として,pullを行う.
ほかの人が修正していたら,それを取り込むことになる.
今回,自分以外開発者がいないので,現状おまじないにしか過ぎない.

いつかマージとかそこら辺も試さないといけないが,今回はサボる.

作業フォルダで右クリックして,「TortoiseHG」「Synchronize」を選択


以下のダイアログが表示されるので,Pullボタンをクリック.
今回は特になにも言われない.



5.push

でローカルリポジトリの更新をサーバに上げるため,pushを行う.

作業フォルダで右クリックして,「TortoiseHG」「Synchronize」を選択.(Pullと同じ)


以下のダイアログでPushボタンをクリック.
ダイアログが出てくるので,ユーザ名,パスワードを入力する.(省略する方法は調査中)



気をつけないといけないのは,ユーザ名はgoogleのアカウント(xxx@gmail.comのxxxの部分)だが,
パスワードは,google codeのパスワードで,自動生成されるものを使う.

英語を読まないだめだね.(Google CodeのSourceのページのリンクをクリックすると表示される.)



追記:TortoiseHGのバージョンは0.7.3
            最新版は0.8.3で日本語化されているらしい。
            インストール中。

2009年6月14日日曜日

Google Code Hosting(その後)

登録したはずなのだが、待てど暮らせどGoogleから連絡なし。
登録の仕方がまずかったのだろうか?
なにしろ正直に、開発者1名(自分のみ)、開発経験なし(仕事はITなんでプロジェクト管理はやってるけどOpen Sourceなんかはないので)としたのが問題だったのだろうか?

っていうかSubversionとMercurial好きに選べるようにしておいてくれよ。>Google
と思っています。

しょうがないのでSubversionでやるか?

と思って検索していたら、

新規プロジェクトや既存プロジェクトで使えるようになっているとのこと
早速、Administer → Source と見ていくと、Repository typeが設定できるではないか!

というわけで、無事Mercurialが使えるようになった。

あとはソースを上げるだけか(ここからが本番だけどね)

2009年5月23日土曜日

Google Code Hosting

Google Code HostingがMercuralに対応したらしい。


勉強を兼ねてProjectを作ってみた。


WikiやIssue Tracking Systemもある。
物置としても使えそうだ。


レンタルサーバを借りようかと悩んでいるが、また理由が無くなった。
あとは、自分でサービスを立ち上げる場合位か?