差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
python:mercurial [2020/04/27 00:08] – ともやん | python:mercurial [2024/03/14 09:30] (現在) – ともやん | ||
---|---|---|---|
行 1: | 行 1: | ||
- | < | ||
- | < | ||
- | #result pre, #mincode pre { | ||
- | overflow: scroll; | ||
- | overflow-x: hidden; | ||
- | font-size: 10px; | ||
- | } | ||
- | # | ||
- | height: 400px; | ||
- | overflow: scroll; | ||
- | overflow-x: hidden; | ||
- | font-size: 10px; | ||
- | } | ||
- | #logo { | ||
- | background-color: | ||
- | padding: 10px; | ||
- | width: fit-content; | ||
- | } | ||
- | #logo p { | ||
- | margin: 0; | ||
- | } | ||
- | </ | ||
- | </ | ||
====== Mercurial - 分散型バージョン管理システム ====== | ====== Mercurial - 分散型バージョン管理システム ====== | ||
+ | 本家: [[https:// | ||
+ | |||
+ | 関連: [[linux: | ||
===== 前提条件 ===== | ===== 前提条件 ===== | ||
行 30: | 行 10: | ||
[[python: | [[python: | ||
- | CentOS | + | Fedora |
- | <code> | + | <WRAP color_term> |
- | $ sudo yum install gcc python-devel | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </ | ||
===== インストール ===== | ===== インストール ===== | ||
**pip** によるインストール。\\ | **pip** によるインストール。\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ sudo pip install mercurial | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </ | ||
+ | <WRAP color_result>< | ||
+ | Collecting mercurial | ||
+ | Downloading mercurial-6.6.3.tar.gz (8.3 MB) | ||
+ | < | ||
+ | Installing build dependencies ... done | ||
+ | Getting requirements to build wheel ... done | ||
+ | Preparing metadata (pyproject.toml) ... done | ||
+ | Building wheels for collected packages: mercurial | ||
+ | Building wheel for mercurial (pyproject.toml) ... done | ||
+ | Created wheel for mercurial: filename=mercurial-6.6.3-cp312-cp312-linux_x86_64.whl size=4743353 sha256=a592c0a7feb366d2f05ce876e9ca095602dee4e3944359c46678136601ca6cd3 | ||
+ | Stored in directory: / | ||
+ | Successfully built mercurial | ||
+ | Installing collected packages: mercurial | ||
+ | Successfully installed mercurial-6.6.3 | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **DietPi**\\ | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
+ | Looking in indexes: https:// | ||
+ | Collecting mercurial | ||
+ | Downloading https:// | ||
+ | < | ||
+ | Installing collected packages: mercurial | ||
+ | Successfully installed mercurial-6.6.3 | ||
+ | </ | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
+ | / | ||
+ | </ | ||
+ | </WRAP> | ||
**dnf** によるインストール。\\ | **dnf** によるインストール。\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ sudo dnf install mercurial | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | < | + | </pre></ |
- | <code> | + | <WRAP color_result_long>< |
- | メタデータの期限切れの最終確認: | + | メタデータの期限切れの最終確認: |
依存関係が解決しました。 | 依存関係が解決しました。 | ||
- | ===================================================================================== | + | ============================================================================================================== |
- | Package | + | パッケージ |
- | ===================================================================================== | + | ============================================================================================================== |
インストール: | インストール: | ||
- | | + | <font color="# |
+ | 依存関係のインストール: | ||
+ | < | ||
トランザクションの概要 | トランザクションの概要 | ||
- | ===================================================================================== | + | ============================================================================================================== |
- | インストール | + | インストール |
- | ダウンロードサイズの合計: | + | ダウンロードサイズの合計: |
- | インストール済みのサイズ: | + | インストール後のサイズ: |
- | これでよろしいですか? | + | |
パッケージのダウンロード: | パッケージのダウンロード: | ||
- | mercurial-4.9-2.fc31.x86_64.rpm | + | (1/2): python3-zombie-imp-0.0.2-2.fc39.noarch.rpm |
- | ------------------------------------------------------------------------------------- | + | (2/2): mercurial-6.5.3-1.fc39.x86_64.rpm |
- | 合計 | + | -------------------------------------------------------------------------------------------------------------- |
+ | 合計 | ||
トランザクションの確認を実行中 | トランザクションの確認を実行中 | ||
トランザクションの確認に成功しました。 | トランザクションの確認に成功しました。 | ||
行 70: | 行 93: | ||
トランザクションのテストに成功しました。 | トランザクションのテストに成功しました。 | ||
トランザクションを実行中 | トランザクションを実行中 | ||
- | 準備 | + | 準備 |
- | インストール中 | + | インストール中 |
- | scriptletの実行中: | + | インストール中 |
- | 検証 | + | scriptletの実行中: |
+ | 検証 | ||
+ | 検証 | ||
インストール済み: | インストール済み: | ||
- | mercurial-4.9-2.fc31.x86_64 | + | mercurial-6.5.3-1.fc39.x86_64 |
完了しました! | 完了しました! | ||
- | </code> | + | </pre></ |
</ | </ | ||
===== 動作確認 ===== | ===== 動作確認 ===== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg version | + | <WRAP color_command>< |
- | Mercurial - 分散構成管理ツール(バージョン | + | <font color="# |
- | (詳細は | + | </ |
+ | <WRAP color_result>< | ||
+ | Mercurial - 分散構成管理ツール(バージョン | ||
+ | (詳細は | ||
- | Copyright (C) 2005-2015 Matt Mackall | + | Copyright (C) 2005-2023 Olivia |
- | 本製品はフリーソフトウェアです。 | + | This is free software; see the source for copying conditions. There is NO |
- | 頒布条件に関しては同梱されるライセンス条項をお読みください。 | + | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
- | 市場適合性や特定用途への可否を含め、 本製品は無保証です。 | + | </ |
- | </code> | + | </WRAP> |
===== 使い方 ===== | ===== 使い方 ===== | ||
==== 初期設定 ==== | ==== 初期設定 ==== | ||
- | <code> | + | <WRAP color_term> |
- | vi ~/.hgrc | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | < | + | </ |
+ | もしくは\\ | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </ | ||
+ | もしくは\\ | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </pre></ | ||
+ | </ | ||
+ | ※**hg** コマンドのデフォルトエディタは **EDITOR** 変数が設定されていない限りは **vi** である。\\ | ||
+ | 永続的に **nano** に変更する場合は、以下のように設定を保存する。\\ | ||
+ | |||
+ | **zsh**\\ | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | <font color="# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | **Bash**\\ | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | <font color="# | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Mercurial のユーザー名を設定する🤔\\ | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_mincode> | ||
[ui] | [ui] | ||
username = Tomoyan < | username = Tomoyan < | ||
- | </ | + | </code></ |
+ | </WRAP> | ||
==== リポジトリの作成 ==== | ==== リポジトリの作成 ==== | ||
既存のディレクトリでリポジトリを作成する。 | 既存のディレクトリでリポジトリを作成する。 | ||
- | <code> | + | <WRAP color_term> |
- | $ mkdir repos | + | <WRAP color_command>< |
- | $ cd repos | + | <font color="# |
- | $ hg init | + | <font color="# |
- | </code> | + | </pre></ |
+ | </WRAP> | ||
新たにリポジトリのディレクトリを作成する。 | 新たにリポジトリのディレクトリを作成する。 | ||
- | <code> | + | <WRAP color_term> |
- | $ hg init repos | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== ソース管理から除外するファイルの設定 ==== | ==== ソース管理から除外するファイルの設定 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ vi .hgignore | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | <code autoconf> | + | </pre></ |
+ | </ | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_mincode> | ||
# Shell 形式パターンマッチ | # Shell 形式パターンマッチ | ||
syntax: glob | syntax: glob | ||
行 128: | 行 197: | ||
*.pyc | *.pyc | ||
</ | </ | ||
- | <code autoconf> | + | <code autoconf |
# 正規表現パターンマッチ | # 正規表現パターンマッチ | ||
syntax: regexp | syntax: regexp | ||
^\.git/ | ^\.git/ | ||
- | </ | + | </code></ |
+ | </WRAP> | ||
==== ファイルの追加 ==== | ==== ファイルの追加 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg add file.txt | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== ステータスの確認 ==== | ==== ステータスの確認 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg status | + | <WRAP color_command>< |
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
A file.txt | A file.txt | ||
- | </code> | + | </pre></ |
+ | </WRAP> | ||
==== コミット ==== | ==== コミット ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg commit | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== 差分表示 ==== | ==== 差分表示 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg diff | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== 編集取り消し ==== | ==== 編集取り消し ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg revert file.txt | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== コミット取り消し ==== | ==== コミット取り消し ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg rollback | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== コミットログ表示 ==== | ==== コミットログ表示 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg log | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== リモートリポジトリの複製 ==== | ==== リモートリポジトリの複製 ==== | ||
- | ssh経由でリモートリポジトリをローカルに複製する。 | + | ssh 経由でリモートリポジトリをローカルに複製する。 |
- | <code> | + | <WRAP color_term> |
- | $ hg clone ssh:// | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
==== リモートリポジトリの変更取得 ==== | ==== リモートリポジトリの変更取得 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg pull | + | <WRAP color_command>< |
- | $ hg update | + | <font color="# |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </ | ||
作業領域の変更を破棄する場合 | 作業領域の変更を破棄する場合 | ||
- | <code> | + | <WRAP color_term> |
- | $ hg update -C | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </ | ||
+ | </WRAP> | ||
==== リモートリポジトリへ変更反映 ==== | ==== リモートリポジトリへ変更反映 ==== | ||
- | <code> | + | <WRAP color_term> |
- | $ hg push ssh:// | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | ※push先にリポジトリが存在している必要がある。存在しない場合は作成するかcloneしておくこと。\\ | + | </pre></ |
- | \\ | + | </WRAP> |
+ | ※push 先にリポジトリが存在している必要がある。存在しない場合は作成しておくこと。\\ | ||
+ | <WRAP color_term> | ||
+ | <WRAP color_command>< | ||
+ | <font color="# | ||
+ | </ | ||
+ | </ | ||
- | .hg/hgrc に以下の記載があるなら省略できる。 | + | < |
- | < | + | <WRAP color_term> |
+ | <WRAP color_mincode> | ||
[paths] | [paths] | ||
default = ssh:// | default = ssh:// | ||
- | </ | + | </code></ |
- | <code> | + | <WRAP color_command>< |
- | $ hg push | + | <font color="# |
- | </code> | + | </pre></ |
- | \\ | + | </ |
- | サーバーでリポジトリを作成する場合。 | + | サーバーでリポジトリを作成する場合。\\ |
- | < | + | クライアントからサーバーへクローンすることもできるが...\\ |
- | $ hg init fuga | + | <WRAP color_term> |
- | </ | + | <WRAP color_command>< |
- | \\ | + | <font color="# |
- | + | <font color="# | |
- | クライアントからサーバーへクローンする場合。 | + | </pre></ |
- | <code> | + | </WRAP> |
- | $ hg clone . ssh:// | + | |
- | </code> | + | |
==== git を Mercurial へリポジトリ変換 ==== | ==== git を Mercurial へリポジトリ変換 ==== | ||
convert エクステンションを有効化する。\\ | convert エクステンションを有効化する。\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ vi ~/.hgrc | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | <file ini ~/.hgrc> | + | </pre></ |
+ | <WRAP color_mincode>< | ||
[extensions] | [extensions] | ||
convert = | convert = | ||
- | </ | + | </file></ |
+ | </WRAP> | ||
git を Mercurial へ変換\\ | git を Mercurial へ変換\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ hg convert [repository] [new-repository] | + | <WRAP color_command>< |
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
変換先リポジトリ new-repository の初期化中 | 変換先リポジトリ new-repository の初期化中 | ||
変換元リポジトリの走査中... | 変換元リポジトリの走査中... | ||
行 234: | 行 337: | ||
9625 Initial structure | 9625 Initial structure | ||
〜省略〜 | 〜省略〜 | ||
- | $ cd new-repository | + | </ |
- | $ hg update | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | <font color="# | ||
+ | </pre></ | ||
+ | </WRAP> | ||
==== Subversion のリポジトリ を Mercurial へリポジトリ変換 ==== | ==== Subversion のリポジトリ を Mercurial へリポジトリ変換 ==== | ||
hg convert で svn を Mercurial に変換する。\\ | hg convert で svn を Mercurial に変換する。\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ hg convert _wxHexEditor-v0.23-src_svn _wxHexEditor-v0.23-src_hg | + | <WRAP color_command>< |
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
変換先リポジトリ _wxHexEditor-v0.23-src_hg の初期化中 | 変換先リポジトリ _wxHexEditor-v0.23-src_hg の初期化中 | ||
変換元リポジトリの走査中... | 変換元リポジトリの走査中... | ||
並べ替え中... | 並べ替え中... | ||
変換中... | 変換中... | ||
- | $ cd _wxHexEditor-v0.23-src_hg | + | </ |
- | $ hg update | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | <font color="# | ||
+ | </pre></ | ||
+ | </WRAP> | ||
=== Subversion のリポジトリがリモートにしかない場合 === | === Subversion のリポジトリがリモートにしかない場合 === | ||
git-svn を使って svn を一度 git に変換する。\\ | git-svn を使って svn を一度 git に変換する。\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ sudo dnf install git-svn | + | <WRAP color_command>< |
- | $ git svn clone https:// | + | <font color="# |
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
Initialized empty Git repository in / | Initialized empty Git repository in / | ||
A testfile | A testfile | ||
行 265: | 行 380: | ||
https:// | https:// | ||
creating empty directory: mhash/ | creating empty directory: mhash/ | ||
- | </code> | + | </pre></ |
+ | </ | ||
hg convert で git を Mercurial に変換する。\\ | hg convert で git を Mercurial に変換する。\\ | ||
- | <code> | + | <WRAP color_term> |
- | $ hg convert wxHexEditor-v0.23-src_git wxHexEditor-v0.23-src_hg | + | <WRAP color_command>< |
+ | <font color="# | ||
+ | </ | ||
+ | <WRAP color_result>< | ||
変換先リポジトリ wxHexEditor-v0.23-src_hg の初期化中 | 変換先リポジトリ wxHexEditor-v0.23-src_hg の初期化中 | ||
変換元リポジトリの走査中... | 変換元リポジトリの走査中... | ||
行 277: | 行 397: | ||
433 DataInterpreter big endian and unsigned swithces fixed. | 433 DataInterpreter big endian and unsigned swithces fixed. | ||
〜省略〜 | 〜省略〜 | ||
- | 2 Last touches for wxMSW. | + | 2 Last touches for wxMSW. |
- | 1 Fixed assertions due ~wxHexCtrl() cleanup code. | + | 1 Fixed assertions due ~wxHexCtrl() cleanup code. |
- | 0 Updated to v0.23 | + | 0 Updated to v0.23 |
ブックマークの更新中 | ブックマークの更新中 | ||
- | $ cd wxHexEditor-v0.23-src_hg | + | </ |
- | $ hg update | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | + | <font color="# | |
+ | </pre></ | ||
+ | </ | ||
===== トラブルシューティング ===== | ===== トラブルシューティング ===== | ||
行 292: | 行 413: | ||
hgrc の所有者やグループが自分ではない時に発生する。\\ | hgrc の所有者やグループが自分ではない時に発生する。\\ | ||
表示される所有者やグループが本当に信頼できるものであれば、~/ | 表示される所有者やグループが本当に信頼できるものであれば、~/ | ||
- | <code> | + | <WRAP color_term> |
- | $ vi ~/.hgrc | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
- | <file ini ~/.hgrc> | + | </pre></ |
+ | <WRAP color_mincode> | ||
[trusted] | [trusted] | ||
users = root | users = root | ||
groups = root | groups = root | ||
- | </ | + | </file></ |
+ | </WRAP> | ||
==== インストール時に「gcc: | ==== インストール時に「gcc: | ||
行 306: | 行 429: | ||
\\ | \\ | ||
redhat-rpm-config パッケージをインストールしてから行う。 | redhat-rpm-config パッケージをインストールしてから行う。 | ||
- | <code> | + | <WRAP color_term> |
- | $ sudo dnf install redhat-rpm-config | + | <WRAP color_command>< |
- | </code> | + | <font color="# |
+ | </pre></ | ||
+ | </WRAP> | ||
===== 参考文献 ===== | ===== 参考文献 ===== | ||
行 316: | 行 441: | ||
[[http:// | [[http:// | ||
[[https:// | [[https:// | ||
+ | [[https:// | ||
+ |