タグ付けされた質問 「mercurial」

Mercurialは高速でオープンソースのDVCS(分散バージョン管理システム)です。


12
--filter =:Cのような.gitignore&.hgignore&svn:ignoreに従ってrsync exclude
Rsyncには、--cvs-exclude「CVSと同じようにファイルを無視する」ための気の利いたオプションが含まれていますが、CVSは何年も使われていません。最新のバージョン管理システム(Git、Mercurial、Subversion)で無視されるファイルも除外する方法はありますか? たとえば、GitHubから多数のMavenプロジェクトをチェックアウトしています。通常、これらには.gitignore少なくともリストtarget、デフォルトのMavenビルドディレクトリ(トップレベルまたはサブモジュールに存在する場合があります)が含まれます。これらのディレクトリの内容は完全に使い捨てであり、ソースコードよりもはるかに大きくなる可能性があるため、バックアップにrsyncを使用する場合は除外します。 もちろん、私は明示的にできます--exclude=target/が、たまたま名前が付けられtarget、無視されるべきではない無関係なディレクトリを誤って抑制します。 そして、私はいずれかに記載のすべてのファイル名とパターンのための絶対パスの完全なリストを提供することができ.gitignore、.hgignoreまたはsvn:ignore私のディスクのプロパティが、これは、スクリプトのいくつかの並べ替えによって生成しなければならないであろう膨大なリストになります。 rsyncにはCVS以外のVCSチェックアウトのサポートが組み込まれていないので、無視パターンをフィードするための良いトリックはありますか?または、特定のファイル/ディレクトリを含めるかどうかをユーザースクリプトに尋ねることができる、ある種のコールバックシステムですか? 更新:--filter=':- .gitignore'LordJavacで提案されているように--filter=:C、少なくとも私が見つけた例では、GitでもCVSと同じように機能するようですが、構文が完全に一致するかどうかは不明です。--filter=':- .hgignore'Mercurialではうまく機能しません。たとえば、(GitのMercurial相当).hgignoreなどの行を含むは、rsyncによって正規表現として認識されません。そして、Subversionの場合は何も機能しないようです。そのため、1.6以前の作業コピーを解析し、1.7以降の作業コピーに困惑して手を投げる必要があります。^target$/target/.svn/dir-prop-base
113 git  svn  mercurial  rsync 


8
Mercurialでコミットをスカッシュできますか?
私は実際には1つだけであるはずのコミットのペアを持っています。gitを使用している場合は、次のように使用します。 git rebase -i <some-commit-before> そして、それらを押しつぶします。 水銀でできますか?もしそうなら、どうですか?
109 mercurial 


4
Mercurialファイルの変更履歴を表示するにはどうすればよいですか?
Mercurialリポジトリ内の特定のファイルについて、変更履歴をどのように確認できますか? そして、どうすればファイルの2つのリビジョンを比較できますか? 理想的には、これらすべてをビジュアルツールを使用して行います(ExamDiffを使用して、他のいくつかのdiffを行います)。 これは基本的なソース管理機能だと思いますが、Mercurialでこれを行う方法を理解できていないようです。
106 mercurial  diff  revision 

5
TortoiseHgパッチを適用する
TortoiseHgを使用すると、変更のパッチファイルをメールで送信できますが、パッチの適用はサポートされていますか? もしそうなら、TortoiseHgを使用してパッチをどのように適用しますか? 解決策@Will Bickfordに 感謝します。TortoiseHgサイトでこの機能がTODOとしてリストされているのを見つけました。

9
gitリポジトリをmercurialに変換するにはどうすればよいですか?
ソースコードリポジトリとしてgitを使用してJavaアプリケーションを開発しています。他のJava開発者とプロジェクトを共有したいのですが、hgが最も使用されているようです。 私の質問は、gitリポジトリをhgに変換するにはどうすればよいですか? 「gitをhgに変換する」をグーグルで試し、すべての検索ヒットがhgからgitへの変換に関するものである場合。TortoiseHgも使用しています。

5
hg mercurialコマンドを使用すると「ERROR:root:code for hash md5 was not found」というエラーメッセージが表示される
hgコンソールでMercurialコマンドを使用しようとすると、このエラーが発生し続けます。Homebrewを使用してPythonをインストールし、Mac OS Catalina v 10.15.1を実行しています。 どんな参考もいただければ幸いです。ここに私が得ているエラーがあります: hg commit --amend ERROR:root:code for hash md5 was not found. Traceback (most recent call last): File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module> globals()[__func_name] = __get_hash(__func_name) File "/usr/local/Cellar/python@2/2.7.15_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type md5 ERROR:root:code for …

2
Hgブランチを閉じる
それを使用してhg branch FeatureBranchName、開発者間で共有される中央リポジトリに公開するFeatureBranchName場合、その開発がデフォルトのブランチと正式にマージされたときに最終的にを閉じる方法はありますか? コマンドのFeatureBranchName実行時にが表示されなかった場合にも役立ちますhg branches。
103 mercurial 

3
MercurialまたはGitからCVSに変更履歴をエクスポートする方法は?
私はcvsを使用するプロジェクトからのコードで他の人々と協力するつもりです。分散vcsを使用して作業を行い、完了したとき、またはたまに時々、コードとすべての改訂履歴をcvsにコミットしたいと思います。プロジェクトのCVSリポジトリへの書き込みアクセス権がないため、あまり頻繁にコミットできません。変更履歴をcvsにエクスポートするには、どのツールを使用できますか?現在、私たちはgitまたはmercurialの使用を考えていましたが、エクスポートが容易になれば、別の分散vcを使用することもできます。
100 git  mercurial  export  cvs  git-cvs 

9
Mercurialで削除されたファイルを回復するにはどうすればよいですか?
誤って、CLIではなくGUIを使用して、Mercurialプロジェクトのすべてのファイルを削除しました。 Revert okで回復し、いくつかの作業を失いました。タイムマシンがあるので、簡単に元に戻すことができました。しかし、そのようなファイルを削除/削除解除する方法はありますか?マニュアルやグーグルでトロールされたが、何も見えない。プラグインはありますか? 私はおそらくここで自分の質問に答えていますが、ファイルはディレクトリから削除され、ゴミ箱に復元されなかったため、削除は取り消すことができないと思いますか? PS私は知っているhg forgetかhg remove -Af、ディレクトリから削除せずに削除しますが、私の質問は、アクションをクールに考えるのではなく、私が作ったエラーに関係しています。
100 mercurial 

4
Mercurialにリモートリポジトリを追加するにはどうすればよいですか?
私は次の方法でGitリポジトリを操作しています。 マスターリポジトリといくつかのリモートが異なる本番マシンにあります。 生産コードをリモートにプッシュし、サービスを再起動して変更を有効にします。 私はGitからMercurialに切り替えようとしています。そのようなことを実現する方法を先に知りたいです。

2
Mercurialで移植片を使用した結果
最近、Mercurialでリリースブランチを維持するときに変更をスキップすることについていくつかの質問がありました。例えば: Mercurial:ダミーのマージ後、ブランチ固有の変更が引き続き返される あるブランチのMercurialバックアウトが他のブランチに影響を与えるのはなぜですか? これは2.0で導入されて以来、graftこの問題を回避するためにを使用することについて疑問に思っていました。次のようなリビジョンツリーがあるとします。 A---B---C---D---E---F---G---H---I---J 悪の変更をスキップするリリースブランチを作成する必要があるとしますE。 hg update -r D hg graft "F::J" 私たちに与える: A---B---C---D---E---F---G---H---I---J \ --F'--G'--H'--I'--J' Q1:ここで何が起こったのですか?私はそれが理解できるtransplantの外にパッチを生成しているだろうF::Jし、その後にそれらを適用しDますが、graftむしろパッチよりも3ウェイマージを使用すると言われています。それで……それはどのように機能しますか?なぜそれが良いのですか? 今修正しE、それをリリースブランチにマージするとします。 --E2----------------- / \ A---B---C---D---E---F---G---H---I---J---M1 \ \ --F'--G'--H'--I'--J'---------M2-- M1は単純なマージです。特別なことは何もありません。M2は、「同じ」(または少なくとも同等の)変更がオンになっているブランチをマージしています。 Q2:このマージは、通常の3ウェイマージ使用しているD、J'とM1? Q3:mercurialは、マージ操作に役立つ移植操作に関する追加情報を保存/使用していますか? そして最後に... Q4:このようなフローの潜在的な問題は何ですか?

4
他の作業をしているときに、コミットされていない一連の変更を脇に置く方法
コミットされていない変更がたくさんあり、何か他の作業をしているときにそれを脇に置きたい場合は、後で(数日後にfi)戻って作業を続行します。これを達成する最も簡単なワークフローは何でしょうか?(これまでのところ、Mercurialの基本的な機能の経験しかありません)。私の通常の方法は、クローンを使用して新しいブランチを作成することでしたが、もっと良い方法があるかもしれません。
98 mercurial 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.