Mercurial
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*Mercurial [#ie348b71]
-クロスプラットフォームの分散型バージョン管理システム
-全てのコマンドはhgから始まる
-mercuryが水銀を意味し、その元素記号がHgであることに由来...
**fireflyrepositoryのmountの仕方 [#n8ef7dbc]
/etc/auto_masterに以下の行を追加する
/mnt/one auto_firefly
/etc/auto_fireflyというファイルを作成する
one -fstype=afp afp://one:password@firefly.cr.ie.u-ryuky...
正しく動くかどうかをautomount -vcで調べる
boot時に自動的にmountするようになる
最後にhgを/mnt/oneへのシンボリックリンクにする
**使い方(コマンドライン編) [#j4909310]
***インストール [#a7e115c0]
HomeBrewを使用する。
brew install mercurial
でインストール出来る。
***hgwebの修正 [#p56186aa]
brew upgrade mercurialでhgwebが動かなくなった時には、
/var/www/cgi-hg/index.cgi の以下の行を修正する。
import sys
sys.path.insert(0, "/usr/local/Cellar/mercurial/5.0/lib/p...
一応修正スクリプトを生成しました
dateを絶対表示にするのは、
/usr/local/Cellar/mercurial/4.4.2/lib/python2.7/site-pack...
の function age をなおしてしまうのが良い。添付ファイルに...
***リポジトリの初期化(init) [#i4ef3362]
管理したいディレクトリ内で以下のコマンドを実行する。
hg init
***ファイルをリポジトリに追加(add,commit) [#ndfa4bba]
ファイルをリポジトリに追加する場合、以下のコマンドを実行...
hg add ファイル名
addで追加対象を設定し、commitでリポジトリに反映させる。
hg commit
***リポジトリを複製(clone) [#b08b40f5]
リポジトリを手元に複製し、作業をそこで行う。
hg clone ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジト...
***履歴の閲覧(log) [#a187788c]
複製したディレクトリ内で実行する。リポジトリ に起きたすべ...
hg log
changeset: 46:98c2bbeaecb4
tag: tip
user: convert-repo
date: Tue Nov 18 02:12:32 2008 +0000
summary: update tags
***変更の確認(diff) [#la7dcc95]
変更の内容を確認する時は、以下のコマンドを実行する。
hg diff
***ファイルの削除(remove) [#a80f6937]
ファイルを削除する時は、以下のコマンドを実行する。
hg remove ファイル名
このままでは削除されていないので、commitを行うとリポジト...
***commit前の状態に戻す(revert) [#q01bbdb5]
誤って削除してしまったり、変更してしまった場合も、commit...
hg revert --all
***タグを打つ(tag) [#jd3bb513]
チェンジセットに独自の識別子を付ける。
hg tag タグ名
***サーバーのリポジトリの変更内容を反映する。(pull) [#x...
変更内容の同期をとるため、サーバーから変更内容を取得する。
hg pull ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジト...
***サーバーに変更内容を反映する。(push) [#x819d484]
手元にある変更したファイルをサーバー側に反映させる。
hg push ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジト...
***基本的な使い方 [#b1edc31f]
[はじめ]
hg commit したら、
hg push する前に、
hg incoming
してみて、他の人が commit してないかどうかを見る。
[衝突無し]
なかったら、そのまま hg push する。
そして、hg incoming して、自分のがtopだったら[終り]。
そうではなかったら、やっぱり[衝突あり] (pushの瞬間に割り...
[衝突あり]
何かあったら、
hg pull
する。すると、hg heads で、pull した version が出る。これを
merge してやれば良い。hg pull で取れたのが、例えば、(loca...
hg merge -r 255
とする。
で、conflict をvi/emacs で修正して、
hg commit
で、[はじめ]に戻る。
***リポジトリからファイルを取り除く (convert) [#e7d68180]
間違えて登録してしまったファイルを最初からなかったかのよ...
まず最初に、消したいファイルのファイルパスを適当なファイ...
exclude "<file path>"
(例 : convert.txt)
exclude "history/black.txt"
exclude "history/black2.txt"
exclude "aua" #ディレクトリ指定も可能。
include "aua/auaua.txt" #指定したディレクトリ内のあるフ...
次に、hgrcに以下の記述を加えてconvertを利用出来るようにす...
[extensions]
hgext.convert=
それから以下のようにコマンドを打ち、convertする。
hg convert --filemap <削除ファイルのパスを書いたファイル...
convertが完了したら一度hg updateを行う必要がある。~
updateしたらhg log等でリポジトリが正しく作成されているか...
うまくいっていたら、元のリポジトリの.hg/hgrcを新しいリポ...
***convert作業例(.svnを間違えて入れちゃったので消す場合) ...
find ./ -name .svn > convert.txt #.svnの場所を探してconv...
sed -e "s/\.\/\//exclude \"/g" convert.txt #convert.txt...
sed -e "s/\.svn/\"/g" convert.txt
hg convert --filemap ./exclude.txt ../GCC_original ../GC...
cd ../GCC_original_rm_svn
hg update # updateしないとファイルが構成されない。
hg log # 正しく作成されているかの確認。
find ./ -name .svn #ちゃんと消えているかの確認。
cp ../GCC_original/.hg/hgrc ./hg/hgrc #hgrcのコピー。
cd ..
rm -r GCC_original #元の削除
mv GCC_original_rm_svn GCC_original #rename
***メールでのpatch送信方法 [#n5c3405b]
メールで、最新のcommitをpatchとして送信する方法。
メールを送信したいlocalの ~/.hgrc を送信元の名前やメール...
[email]
method = smtp
from = Name <mail-address>
[smtp]
host = smtp.gmail.com
port = 587
tls = starttls
username = mail-address
送信したいrepositoryの .hg/hgrc に、送信先のメールアドレ...
[email]
to = mail-address
patchをメールで送信するコマンドは以下。
$ hg email .
最初、abortが出る。
abort: smtp.gmail.com certificate with fingerprint 9c:0a...
(check hostfingerprints or web.cacerts config setting)
abortで出たfingerprintを、メールを送信したいlocalの ~/.hg...
[hostfingerprints]
smtp.gmail.com = 9c:0a:cc:93:1d:e7:51:37:90:61:6b:a1:18:...
Gmailを使用する際、
「安全性の低いアプリがアカウントにアクセスするのを許可す...
設定が必要となる場合がありますので、もしエラーが出たら設...
https://support.google.com/accounts/answer/6010255
これらの設定で、patchをメールで送信することが出来るように...
**使い方(Eclipse編) [#ada99200]
***インストール [#w79057e4]
Eclipse3.3以上にて、
"Help"->"Software Updates"を選択し~
"Add Site..."から以下のURLを入力する。
Name: Vectrace (Mercurial Eclipse plugin)
URL: http://www.vectrace.com/eclipse-update/
その後、新しく現れた項目にチェックを入れて、"install..."...
***リポジトリの追加 [#jfbd842c]
"File" -> "New"-> "Project..."より、"Clone Repository usi...
URLにはコマンドラインと同じ様に
ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジトリ名 ロー...
を入力し、ウィザードに従い必須項目を入力する。~
成功すれば、左のウィンドウにプロジェクトが追加される。
***その他の操作 [#d04444a5]
ファイルを右クリックした時に現れる"Team"内にMercurialのコ...
内容はコマンドラインと一緒なので説明は割愛する。
**リンク [#h3e700f0]
-Mercurial の使い方のチュートリアル~
http://www.selenic.com/mercurial/wiki/index.cgi/JapaneseT...
-Mercurial Eclipse~
http://www.vectrace.com/mercurialeclipse/
終了行:
#contents
*Mercurial [#ie348b71]
-クロスプラットフォームの分散型バージョン管理システム
-全てのコマンドはhgから始まる
-mercuryが水銀を意味し、その元素記号がHgであることに由来...
**fireflyrepositoryのmountの仕方 [#n8ef7dbc]
/etc/auto_masterに以下の行を追加する
/mnt/one auto_firefly
/etc/auto_fireflyというファイルを作成する
one -fstype=afp afp://one:password@firefly.cr.ie.u-ryuky...
正しく動くかどうかをautomount -vcで調べる
boot時に自動的にmountするようになる
最後にhgを/mnt/oneへのシンボリックリンクにする
**使い方(コマンドライン編) [#j4909310]
***インストール [#a7e115c0]
HomeBrewを使用する。
brew install mercurial
でインストール出来る。
***hgwebの修正 [#p56186aa]
brew upgrade mercurialでhgwebが動かなくなった時には、
/var/www/cgi-hg/index.cgi の以下の行を修正する。
import sys
sys.path.insert(0, "/usr/local/Cellar/mercurial/5.0/lib/p...
一応修正スクリプトを生成しました
dateを絶対表示にするのは、
/usr/local/Cellar/mercurial/4.4.2/lib/python2.7/site-pack...
の function age をなおしてしまうのが良い。添付ファイルに...
***リポジトリの初期化(init) [#i4ef3362]
管理したいディレクトリ内で以下のコマンドを実行する。
hg init
***ファイルをリポジトリに追加(add,commit) [#ndfa4bba]
ファイルをリポジトリに追加する場合、以下のコマンドを実行...
hg add ファイル名
addで追加対象を設定し、commitでリポジトリに反映させる。
hg commit
***リポジトリを複製(clone) [#b08b40f5]
リポジトリを手元に複製し、作業をそこで行う。
hg clone ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジト...
***履歴の閲覧(log) [#a187788c]
複製したディレクトリ内で実行する。リポジトリ に起きたすべ...
hg log
changeset: 46:98c2bbeaecb4
tag: tip
user: convert-repo
date: Tue Nov 18 02:12:32 2008 +0000
summary: update tags
***変更の確認(diff) [#la7dcc95]
変更の内容を確認する時は、以下のコマンドを実行する。
hg diff
***ファイルの削除(remove) [#a80f6937]
ファイルを削除する時は、以下のコマンドを実行する。
hg remove ファイル名
このままでは削除されていないので、commitを行うとリポジト...
***commit前の状態に戻す(revert) [#q01bbdb5]
誤って削除してしまったり、変更してしまった場合も、commit...
hg revert --all
***タグを打つ(tag) [#jd3bb513]
チェンジセットに独自の識別子を付ける。
hg tag タグ名
***サーバーのリポジトリの変更内容を反映する。(pull) [#x...
変更内容の同期をとるため、サーバーから変更内容を取得する。
hg pull ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジト...
***サーバーに変更内容を反映する。(push) [#x819d484]
手元にある変更したファイルをサーバー側に反映させる。
hg push ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジト...
***基本的な使い方 [#b1edc31f]
[はじめ]
hg commit したら、
hg push する前に、
hg incoming
してみて、他の人が commit してないかどうかを見る。
[衝突無し]
なかったら、そのまま hg push する。
そして、hg incoming して、自分のがtopだったら[終り]。
そうではなかったら、やっぱり[衝突あり] (pushの瞬間に割り...
[衝突あり]
何かあったら、
hg pull
する。すると、hg heads で、pull した version が出る。これを
merge してやれば良い。hg pull で取れたのが、例えば、(loca...
hg merge -r 255
とする。
で、conflict をvi/emacs で修正して、
hg commit
で、[はじめ]に戻る。
***リポジトリからファイルを取り除く (convert) [#e7d68180]
間違えて登録してしまったファイルを最初からなかったかのよ...
まず最初に、消したいファイルのファイルパスを適当なファイ...
exclude "<file path>"
(例 : convert.txt)
exclude "history/black.txt"
exclude "history/black2.txt"
exclude "aua" #ディレクトリ指定も可能。
include "aua/auaua.txt" #指定したディレクトリ内のあるフ...
次に、hgrcに以下の記述を加えてconvertを利用出来るようにす...
[extensions]
hgext.convert=
それから以下のようにコマンドを打ち、convertする。
hg convert --filemap <削除ファイルのパスを書いたファイル...
convertが完了したら一度hg updateを行う必要がある。~
updateしたらhg log等でリポジトリが正しく作成されているか...
うまくいっていたら、元のリポジトリの.hg/hgrcを新しいリポ...
***convert作業例(.svnを間違えて入れちゃったので消す場合) ...
find ./ -name .svn > convert.txt #.svnの場所を探してconv...
sed -e "s/\.\/\//exclude \"/g" convert.txt #convert.txt...
sed -e "s/\.svn/\"/g" convert.txt
hg convert --filemap ./exclude.txt ../GCC_original ../GC...
cd ../GCC_original_rm_svn
hg update # updateしないとファイルが構成されない。
hg log # 正しく作成されているかの確認。
find ./ -name .svn #ちゃんと消えているかの確認。
cp ../GCC_original/.hg/hgrc ./hg/hgrc #hgrcのコピー。
cd ..
rm -r GCC_original #元の削除
mv GCC_original_rm_svn GCC_original #rename
***メールでのpatch送信方法 [#n5c3405b]
メールで、最新のcommitをpatchとして送信する方法。
メールを送信したいlocalの ~/.hgrc を送信元の名前やメール...
[email]
method = smtp
from = Name <mail-address>
[smtp]
host = smtp.gmail.com
port = 587
tls = starttls
username = mail-address
送信したいrepositoryの .hg/hgrc に、送信先のメールアドレ...
[email]
to = mail-address
patchをメールで送信するコマンドは以下。
$ hg email .
最初、abortが出る。
abort: smtp.gmail.com certificate with fingerprint 9c:0a...
(check hostfingerprints or web.cacerts config setting)
abortで出たfingerprintを、メールを送信したいlocalの ~/.hg...
[hostfingerprints]
smtp.gmail.com = 9c:0a:cc:93:1d:e7:51:37:90:61:6b:a1:18:...
Gmailを使用する際、
「安全性の低いアプリがアカウントにアクセスするのを許可す...
設定が必要となる場合がありますので、もしエラーが出たら設...
https://support.google.com/accounts/answer/6010255
これらの設定で、patchをメールで送信することが出来るように...
**使い方(Eclipse編) [#ada99200]
***インストール [#w79057e4]
Eclipse3.3以上にて、
"Help"->"Software Updates"を選択し~
"Add Site..."から以下のURLを入力する。
Name: Vectrace (Mercurial Eclipse plugin)
URL: http://www.vectrace.com/eclipse-update/
その後、新しく現れた項目にチェックを入れて、"install..."...
***リポジトリの追加 [#jfbd842c]
"File" -> "New"-> "Project..."より、"Clone Repository usi...
URLにはコマンドラインと同じ様に
ssh://one@firefly.cr.ie.u-ryukyu.ac.jp/リポジトリ名 ロー...
を入力し、ウィザードに従い必須項目を入力する。~
成功すれば、左のウィンドウにプロジェクトが追加される。
***その他の操作 [#d04444a5]
ファイルを右クリックした時に現れる"Team"内にMercurialのコ...
内容はコマンドラインと一緒なので説明は割愛する。
**リンク [#h3e700f0]
-Mercurial の使い方のチュートリアル~
http://www.selenic.com/mercurial/wiki/index.cgi/JapaneseT...
-Mercurial Eclipse~
http://www.vectrace.com/mercurialeclipse/
ページ名: