2016-06-29 4 views

答えて

3

私はSubversionでは、概念/用語の問題に;-)

を感知し、ファイルが(CVS、たとえば、とは対照的に)リビジョン番号を持っていません。 リビジョン番号はコミットのプロパティです。

ただし、特定のリビジョンには、特定のファイルが存在する場合と存在しない場合があります。

言い換えれば、一連のリビジョンとhellipがあります。 → @10@11@12&hellip ;,特定のファイルが@11番目のリビジョンで変更されているかもしれませんが、あなたはまだこれらのリビジョン番号のいずれかを使用して、そのファイルの内容を参照することができ、ちょうど@10を経由してそれに言及することは与えます「古い」内容と@11@12を経由すると、新しい内容(同じ内容)—が返されます。これは、将来の改訂版である@Nまで、そのファイルが再び変更されます。 そして、これまでのいくつかのリビジョンを参照してください。@P   P < Nは、revのファイルの内容を参照します。 @11であり、将来のリビジョン番号@F  を使用すると、F> Nは@Nに記録された内容を参照します。

今直接質問に答える:

  • をファイルの内容は、それがそのマージによって更新される場合にのみ変更されることがあります。
  • マージは確かに新しいリビジョンを作成しますが、それはリポジトリ全体のリビジョンであり、特定のファイル(またはリポジトリの他のファイル)のリビジョンではありません。
  • ファイルの内容が更新された場合、マージコミットのリビジョン番号を参照すると、更新されたファイルの内容が参照され、マージコミットの直前のリビジョン番号を使用して参照されますファイルの「前の」内容を参照してください。

念のためにあなたは、特定のリビジョンに見られるように、あなたがapp/js/[email protected]のようpath/to/the/[email protected]を使用して、特定のファイルの状態を参照することができ、知りませんでした。

今はっきりしていますか?

+1

はい、ありがとうございます。ですから、問題は次のように言い換えればよいでしょう:マージは常に新しいコミットを作成し、リビジョン番号を増やすでしょうか? – Roland

+1

@Roland、はい。 Gitとは対照的に、Subversionのマージは常に新しいコミットをもたらし、したがって新しいリビジョンになります。 – kostix

関連する問題