2009-06-10 15 views
0

は、私は3つのファイルがあると、foo.txtのbar.txtおよび改訂1.SVNとリビジョン番号

ですべてをmoo.txt私はfoo.txtのをコミットし、10回bar.txt言います。したがって彼らは改訂1.10にいます。 SVNには1つのリビジョンしかないので、moo.txtもリビジョン1.10になければなりません。今度はmoo.txtの履歴を見ると、1から10までのコミットの履歴が表示されますか?

私はこの質問をしている理由は、SVNと比較して、いかにしてCVSがいかにすてきであるかを私の友人に伝えていたことです。彼はCVSの大ファンです。 CVSのリビジョン番号はファイル固有なので、彼は私に言いました。単一のファイルの履歴にはプロジェクトの他のセクションで行われたコミットが含まれていないので、単一のファイルをあるステータスに戻すことはとても簡単です。私は常に私のプロジェクト全体を以前のバージョン(単一のファイルではない)に更新するので、私はこのような状況に遭遇したことはありません。だから、私はSVNでこれがどのように扱われているのか知りたいですか?

答えて

2

ファイルの履歴を見ると、そのファイルを含むコミットのコメントと変更のみが表示されますが、リビジョン番号は必ずしも連続しているとは限りません。

しかし、他のファイルに影響を与えることなく、1つのファイルを特定のリビジョン番号に戻すことができます。

など。

二つのファイル:
foo.txtのとbar.txt

1:
2 foo.txtのチェックイン:
4 foo.txtのチェックイン:& bar.txt
3 foo.txtのチェックイン:チェックインbar.txt
5:チェックインfoo.txt
6:チェックインバー。

TXTあなたがバーの歴史を見れば、あなたが表示されます。

6:
4:
2:

そして、あなたはまだ戻っ改正にbar.txtを元に戻すことができるだろう2あなたがfooの歴史を見れば

foo.txtの影響を与えずに、あなたが表示されます。

5:
3:
2:
1:

あなたが全体のディレクトリの歴史を見れば、あなたがコミットのすべてを見ることができます。

リポジトリ全体のバージョン番号を指定すると、リビジョン番号から変更された順序を知ることができます。履歴を表示したり、ファイルをロールバックすることはできません。

0

これはテストするのは簡単です。 1つのファイルの履歴を表示すると、そのファイルが再生されたリビジョンのみが表示されます。変更されていなければ、ログエントリは表示されません。 1つのファイルまたは複数のファイルグループで特定のリビジョンを簡単に元に戻すことができます。

+0

私はSVNをテスト用にセットアップしていません。職場でCVSを使用してください。そうでなければ尋ねなかったでしょう。ありがとう。 – Abhi

+0

テスト目的でSVNリポジトリを設定することは非常に簡単です。クライアントをインストールし、「インポート」 –

+0

Coolを実行するだけです。それを撃つだろう。 – Abhi

0

SVNはリポジトリ全体のリビジョン番号を使用します。リビジョン番号は、コミットごとにインクリメントされます。 1つのファイルのログを見ると、そのファイルのリビジョンだけが表示されますが、バージョン番号にはギャップがあります)。あなたは、ファイルの特定のリビジョンを持っていmoo.txtのように考えることができ

0

、そのちょうど彼らがギャップを持っている、例えば、moo.txtの改正は、この、実際には1、10、11、18、など

です1、2、3、4、5の場合よりも処理するのが難しくありませんが、リポジトリ全体の意味を追加する利点があります。

1

SVN履歴は、ファイルごと、またはディレクトリごとに表示できるので、探しているフィルタと一致するファイルの履歴が表示されます。 moo.txtの履歴のみを表示すると、その変更が表示されます(この例ではおそらく3〜12です)。

また、SVNは複数のファイルのアトミックコミットを許可するので、バージョン2の単一の変更でfoo.txtとmoo.txtを一緒にコミットした可能性があります。 moo.txtの変更履歴でこれを見てください。

本当に正しい答えは、SVNをインストールして自分でテストすることだと思います。その後、変更履歴の仕組みをよりよく理解することができます。

関連する問題