0

Mercurialに落ち着いた今、少し回顧します。と組み合わせたファイルを忘れるのを忘れてくださいhg remove。それはクレイジーで低音です。hg remove元のリポジトリが作成される前に問題のアイテムが追跡されたために、何かが忘却ファイルにあることを確認したら、それを使用できます。ご了承くださいhg remove追跡されたステータスを効果的にクリアしますが、リポジトリから変更を取得するすべてのものでファイルを削除するようにスケジュールします。無視した場合でも、追跡の非アクティブ化は発生しますが、そのdelete-me変更セットが別のリポジトリに到達することはなく、何らかの理由で、IMOが直感に反するものを削除することはありません。誰かと私がこれらの人を知らないということは、設計上の問題について妥協することを望まないという非常に確かな兆候です。理解しておくべき重要なことは、何が重要かを判断しないということです、Mercurialはそうします。もちろん、プルでマージする場合を除きます。それならそれは完全に合理的です。しかし、私は逸脱します...

Ignore-file / removeは、追跡済みであるが非常に特定のファイルを忘れたい場合に適した組み合わせですが、より広いパターンで決定された大量のビルドファイルを処理する場合は、リスクを冒す価値はありません。ダブルレポを使用pull -uして、リモートレポから同期レポに移動してからpull -u作業中のリポジトリからコミットし、変更をマージして、追跡されていないファイルまたは追跡されていないファイルがある場所にそれらを渡すことを唯一の目的とするリポジトリにマージします(もちろん、プッシュするのではなくプルする場合の動作は異なります。 ?)フラストレーションを引き起こしません。私を信じて。正当な理由で気分を害するためだけに2つのリポジトリが必要であり、米国の多くがそれを実行しているという考えは、深刻な!@#$ ing設計の問題を示唆しているはずですが、他のすべての問題よりもはるかに苦痛は少ないです。賢明な代替案を探したことを後悔するようなひどいこと。

そして、を使用しますhg help。これは実際にはMercurialの最高の機能であり、このVCSで混乱し、直感に反するすべての答えを得るには、インターネットよりも優れていることがよくあります。

/レトロスペクティブ

# switch to regexp syntax.
syntax: regexp


#Config Files

#.Net
^somecompany\.Net[\\/]MasterSolution[\\/]SomeSolution[\\/]SomeApp[\\/]app\.config
^somecompany\.Net[\\/]MasterSolution[\\/]SomeSolution[\\/]SomeApp_test[\\/]App\.config

#and more of the same following

そして、私のユーザーディレクトリのルートにあるmercurial.iniにあります

[ui]
username = ereppen
merge = bcomp
ignore = C:\<path to user ignore file>\.hgignore-config

コンテクスト:

ノードに自動構成ユーティリティを作成しました。変更したファイルへの変更を無視したいだけです。2つのチームがあり、どちらも同じページにないため、これを普遍的なものにしているため、現時点ではユーザー固有である必要があります。

構成ファイルが配置され、私のiniファイルによって示されています。クローンします。configユーティリティを実行してファイルを変更すると、statにより、横にMが付いたすべてのファイルのリストが表示されます。私はそれがutf-8のものだと思い、ファイルを明示的にutf-16リトルエンディアンに設定しました。私は、実際にregExと呼ぶ価値のある現代的なregExのフレーバーではサポートされない、regExを使用しているとは思いません。

4

1 に答える 1

2

この.hgignoreファイルは、追跡されるファイルには影響しません。その機能は、無視したいファイルが「追跡されていない」と表示されないようにすることです。「M」が表示されている場合、それらはすでに追加されている(クローンで取得した)ので、.hgignore何もしません。

マシンごとに異なる構成ファイルが処理される通常の方法はapp.config.sample、ソース管理を配置app.configし、構成.hgignoreを編集するときにコピーを実行することです。

または、構成ファイルでインクルードとオーバーライドが許可されている場合は、それらを終了し、追加せずにインクルードするinclude app-local.config設定をオーバーライドします。app-local.config.hgignore

于 2013-02-16T03:43:02.220 に答える