<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/jw68o8by4d/">
    <title>備忘録</title>
    <link>http://w.atwiki.jp/jw68o8by4d/</link>
    <atom:link href="https://w.atwiki.jp/jw68o8by4d/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>備忘録</description>

    <dc:language>ja</dc:language>
    <dc:date>2012-09-08T15:28:48+09:00</dc:date>
    <utime>1347085728</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/29.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/28.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/jw68o8by4d/pages/18.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/1.html</link>
    <description>
      *備忘録
特にプログラミングに限定せず思いついたことを書き留めるつもり    </description>
    <dc:date>2012-09-08T15:28:48+09:00</dc:date>
    <utime>1347085728</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/19.html">
    <title>Mercurial/拡張</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/19.html</link>
    <description>
      *&amp;anchor(top,option=nolink){拡張}
-&amp;link_anchor(a){Color Extension}
-&amp;link_anchor(b){EOL Extension}
-&amp;link_anchor(c){Graph log extension}
-&amp;link_anchor(d){Mercurial Queues Extension}
-&amp;link_anchor(e){Rebase Extension}
**&amp;anchor(a,option=nolink){Color Extension}
***概要
[[Mercurial]]の出力が色分けされる。
***有効化
設定ファイルに
----

[extensions]
color =

----
と記述するだけで良い。
***利用
有効化していれば特に設定しなくても自動でMercurialの出力を色分けしてくれる。
有効にする前は「hg status」や「hg diff」の出力が
#ref(color_01.png)
のように色分けされないが、有効にすると
#ref(color_02.png)
のように色分けされる。
配色など様々な設定もできるので、興味があれば[[ここ&gt;http://mercurial.selenic.com/wiki/ColorExtension]]を参照すること。
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(b,option=nolink){EOL Extension}
***概要
環境によって異なる改行コードを統一する拡張。
ファイルごとに改行コードを設定できるようになっている。
***有効化
設定ファイルに
----

[extensions]
eol =

----
と記述するだけで良い。
***利用
プロジェクトの直下に.hgeolファイルを作成して改行コードのルールを指定する。
----

[patterns]
&amp;nowiki(){**.java = NATIVE}
&amp;nowiki(){**.xml = LF}

----
この場合は拡張子がJavaをNATIVE、拡張子がpomをLFと設定している。
改行の設定は以下の四種類がある。
-LF: UNIXの改行コードに変換する
-CRLF: Windowsの改行コードに変換する
-BIN: 改行コードの変換を行わない(バイナリファイル用)
-NATIVE: 稼動環境に応じた改行(リポジトリへの記録は常にLFで、作業領域への取り出しは稼働環境に応じた改行コード)

.hgeolがあれば、コミットや比較をする時に自動で改行コードを変換してくれる。
詳細は[[ここ&gt;http://mercurial.selenic.com/wiki/EolExtension]]や[[ここ&gt;http://d.hatena.ne.jp/flying-foozy/20111205/1323065152]]を参照すること。
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(c,option=nolink){Graph log extension}
***概要
ログをアスキーアートのグラフで確認できる。
「hg log」での出力は
#ref(glog_03.png)
このようにブランチを分けたりマージした場合に把握するのが難しい。
Graph log extensionを利用した出力は
#ref(glog_01.png)
このように左側にグラフが表示される。
***有効化
設定ファイルに
----

[extensions]
graphlog =

----
と記述するだけで良い。
***利用
「hg glog」でログを出力する。
#ref(glog_01.png)
チェンジセットの部分に色が付いているのはColor Extensionを有効化しているため。

そのままではチェンジセットの内容を何行も使って出力するのでテンプレートを使って見やすくすると良い。
設定ファイルに
----

[defaults]
glog = --template &#039;チェンジセット: {rev}:{node|short} , {branch}:{tags}\n要約: {desc|firstline|fill68|tabindent|tabindent}\n\n&#039;

----
と記述すれば「hg glog」でチェンジセットの内容が二行になる。
#ref(glog_02.png)
Color Extensionを使っていても色分けされていないのがわかる。
詳細は[[ここ&gt;http://mercurial.selenic.com/wiki/GraphlogExtension]]や[[ここ&gt;http://ja.hgtip.com/tips/beginner/2009-10-03-stay-sane-with-graphlog/]]を参照すること。
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(d,option=nolink){Mercurial Queues Extension}
***概要
***有効化
設定ファイルに
----

[extensions]
mq =

----
と記述するだけで良い。
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(e,option=nolink){Rebase Extension}
***概要
***有効化
設定ファイルに
----

[extensions]
rebase =

----
と記述するだけで良い。
#right(){&amp;small(){&amp;link_anchor(top){▲}}}    </description>
    <dc:date>2012-02-19T13:38:30+09:00</dc:date>
    <utime>1329626310</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/14.html">
    <title>Mercurial/インストール</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/14.html</link>
    <description>
      *&amp;anchor(top,option=nolink){インストール}
-&amp;link_anchor(a){ダウンロード}
-&amp;link_anchor(b){ユーザー環境変数を設定する}
-&amp;link_anchor(c){設定ファイルについて}
-&amp;link_anchor(d){設定した後}
**&amp;anchor(a,option=nolink){ダウンロード}
-[[ここ&gt;http://mercurial.selenic.com/]]から最新版をダウンロードする
-[[TortoiseHG&gt;http://tortoisehg.bitbucket.org/ja/]]を使う場合は、インストールしたフォルダにMercurial(hg.exe)も同梱されている
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(b,option=nolink){ユーザー環境変数を設定する (Windowsの場合)}
----

HOME = [[Mercurial]]の設定ファイルを置くパス
LANG = ja
Path = hg.exeのあるフォルダ

----
-HOMEを設定するとGIMPなどもそのフォルダに設定ファイルを置くので注意
-LANGを設定することでMercurialのメッセージが日本語になる
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(c,option=nolink){設定ファイルについて (Windowsの場合)}
----

[ui]
username = コミットする時のユーザー名。「test &lt;&amp;nolink(test@hoge.com)&gt;」など
ssh = SSHで接続する時に設定する。[[SSHでの接続&gt;Bitbucket/SSHでの接続]]を参照

[defaults]
glog = --template &#039;Branch: {branch} ,ChangeSet: {rev}:{node|short} {tags}\nSummary: {desc|firstline|fill68|tabindent|tabindent}\n\n&#039;

[extensions]
color =
eol =
graphlog =
mq =
rebase =

----
-HOMEで設定したフォルダに上記内容のMercurial.iniを置く
-リポジトリ毎にも設定ファイルを置けるらしい
-詳しくは[[ここ&gt;http://www.lares.dti.ne.jp/~foozy/fujiguruma/scm/mercurial-config.html]]を見るなり検索するなりで調べる
-defaultsのglogについてはgraphlogの設定
-extensionsのcolor/eol/graphlog/mq/rebaseは本体に取り込まれてるので=の右側は空欄で良い
#right(){&amp;link_anchor(top){▲}}
**&amp;anchor(d,option=nolink){設定した後}
-[[チュートリアル&gt;http://mercurial.selenic.com/wiki/JapaneseTutorial]]を読んで基本を学ぶ
#right(){&amp;link_anchor(top){▲}}    </description>
    <dc:date>2012-02-13T22:04:55+09:00</dc:date>
    <utime>1329138295</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/2.html</link>
    <description>
      *[[トップページ]]
**Mercurial
[[概要&gt;Mercurial]]
[[インストール&gt;Mercurial/インストール]]
[[日本語ファイル名&gt;Mercurial/日本語ファイル名]]
[[マージツール&gt;Mercurial/マージツール]]
[[コマンド&gt;Mercurial/コマンド]]
[[拡張&gt;Mercurial/拡張]]
**TortoiseHG
[[概要&gt;TortoiseHG]]
[[インストール&gt;TortoiseHG/インストール]]
**Bitbucket
[[概要&gt;Bitbucket]]
[[SSHでの接続&gt;Bitbucket/SSHでの接続]]
**Maven
[[概要&gt;Maven]]
[[インストール&gt;Maven/インストール]]
----
**更新履歴
#recent(10)
----
&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2012-02-12T14:06:44+09:00</dc:date>
    <utime>1329023204</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/29.html">
    <title>Maven</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/29.html</link>
    <description>
      *概要    </description>
    <dc:date>2012-02-12T14:00:47+09:00</dc:date>
    <utime>1329022847</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/28.html">
    <title>TortoiseHG</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/28.html</link>
    <description>
      *概要    </description>
    <dc:date>2012-02-12T14:00:30+09:00</dc:date>
    <utime>1329022830</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/27.html">
    <title>Mercurial</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/27.html</link>
    <description>
      *概要    </description>
    <dc:date>2012-02-12T14:00:00+09:00</dc:date>
    <utime>1329022800</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/16.html">
    <title>Bitbucket</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/16.html</link>
    <description>
      *概要
[[Bitbucket&gt;https://bitbucket.org/]]はリポジトリのホスティングサービス
[[GitHub&gt;https://github.com/]]より機能は少ないが無料アカウントでも非公開のリポジトリを作れる
以前は[[Mercurial]]のみ対応していたが現在ではGitにも対応している    </description>
    <dc:date>2012-02-12T13:58:46+09:00</dc:date>
    <utime>1329022726</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/20.html">
    <title>Mercurial/日本語ファイル名</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/20.html</link>
    <description>
      **日本語ファイル名について
-Windowsのみでの利用ならwin32mbcs拡張を使うことで日本語ファイル名の利用もできるが、Linuxなどからcloneしたりするとファイル名が文字化けする
-fixutf8拡張を利用すればLinuxなどからcloneしても問題が無いが、開発が停滞していて新しいMercurialには対応していらないらしい
-というわけで、日本語ファイル名は使わないのが無難    </description>
    <dc:date>2012-02-12T13:01:51+09:00</dc:date>
    <utime>1329019311</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/jw68o8by4d/pages/18.html">
    <title>Bitbucket/SSHでの接続</title>
    <link>https://w.atwiki.jp/jw68o8by4d/pages/18.html</link>
    <description>
      *&amp;anchor(top,option=nolink){SSHでの接続}
-&amp;link_anchor(a){SSHで接続する理由}
-&amp;link_anchor(b){公開鍵と秘密鍵の作成}
-&amp;link_anchor(c){公開鍵をBitbucketに登録する}
-&amp;link_anchor(d){秘密鍵をPageantに登録}
-&amp;link_anchor(e){Mercurial.iniの設定}
-&amp;link_anchor(f){実際に接続する}
**&amp;anchor(a,option=nolink){SSHで接続する理由}
&gt;[[Mercurial]]はHTTPを使ったプルとプッシュに対応しています。しかし、例えば非常に大きなリポジトリなどの場合、通常SSHを使うほうが良いです。[[Bitbucket]]はSSHを使うフル機能を提供しており、送信データに圧縮をかけることができるため、プッシュとプルをより早く行えます。
#right(){([[BitbucketリポジトリへのアクセスにSSHを使う&gt;http://confluence.atlassian.jp/pages/viewpage.action?pageId=25133101]]より引用)}
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(b,option=nolink){公開鍵と秘密鍵の作成}
[[PuTTY&gt;http://www.chiark.greenend.org.uk/~sgtatham/putty/]]からPuTTYgen.exeをダウンロードし起動する

#ref(SSH01.png)
Parametersのラジオボックスを「SSH-2 RSA」か「SSH-2 DSA」にし、Actionsの「Generate」ボタンを押す
マウスカーソルを動かさないとプログレスバーが動かないので適当に動かす(乱数生成に使うらしい)

#ref(SSH02.png)
生成後にKey passphraseを入力するフィールドが出るので入力する
秘密鍵だけ保存すればいいような気もするが一応公開鍵も保存しておく

-入力したパスフレーズは後で使うので忘れないように
-詳しくは[[ここ&gt;http://d.hatena.ne.jp/kaorun55/20110414/1302760765]]を見る
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(c,option=nolink){公開鍵をBitbucketに登録する}
公開鍵をBitbucketに登録してやらないとSSH接続はできない

#ref(SSH03.png)
PuTTYgenの赤で囲った部分がBitbucketに登録する公開鍵になるので「ssh-rsa」の部分も含めて全てコピーする
保存した公開鍵ファイルは(この場合では)使わないので注意

#ref(SSH04.png)
Bitbucketのアカウント設定内に「SSH keys」という項目があるので、赤で囲った部分のテキストフィールドに公開鍵をペーストする
「Add key」ボタンをクリックすれば公開鍵が登録される

-画像の黒く塗りつぶしてある部分に登録された公開鍵が表示されている
-「Choose key」ボタンは公開鍵ファイルをアップロードする場合に使うが、OpenSSH用に変換しないといけないらしい
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(d,option=nolink){秘密鍵をPageantに登録}
[[TortoiseHG&gt;http://tortoisehg.bitbucket.org/ja/]]を使っていれば、インストールしたフォルダにPageantがすでに入っている
使わない場合はPuTTYからPageant.exeをダウンロードする
Pageantを起動するとタスクトレイにアイコンが表示されるので、右クリックメニューから「Add Key」を選択し、秘密鍵を開く
鍵の作成時にパスフレーズを設定していた場合は入力を求められるので正しく入力する

-Pageantを起動する度に秘密鍵を登録しないといけないが、起動する時に引数で秘密鍵の場所を指定すれば読み込んでくれる
-Pageant.exe [秘密鍵のパス]
-引数で秘密鍵の場所を指定してもパスフレーズは毎回入力しないといけない
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(e,option=nolink){Mercurial.iniの設定}
TortoiseHGを使っている場合にはMercurial.iniの[ui]セクションに
ssh = TortoisePlink.exe -ssh -2 -batch -C
と追加する
TortoiseHGを使わない場合はPuTTYからPlink.exeをダウンロードして設定するらしいが、詳しくは知らないのでパス
#right(){&amp;small(){&amp;link_anchor(top){▲}}}
**&amp;anchor(f,option=nolink){実際に接続する}
Mercurial.iniの設定まで完了したら、後は普通にBitbucketと接続すればいい
-リポジトリを作るとSSH接続用のアドレスが出るのでそれを使う
-Pageantが起動していないと接続できないので注意
-かといってPageantを起動しっぱなしも問題らしいので注意
#right(){&amp;small(){&amp;link_anchor(top){▲}}}    </description>
    <dc:date>2012-02-12T12:58:27+09:00</dc:date>
    <utime>1329019107</utime>
  </item>
  </rdf:RDF>
