2009-06-10 5 views
0

Mögliche Duplizieren:
SVN and revision numbersSVN und Revisionsnummern

Sagen, ich habe 3 Dateien foo.txt, bar.txt und moo.txt alle auf Revision 1.

Say I commit foo.txt und bar.txt zehn mal. Sie sind also bei Revision 1.10. Da es in SVN eine einzige Revision gibt, muss auch moo.txt nicht in Revision 1.10 sein. Wenn ich jetzt die Geschichte von moo.txt sehe, sehe ich dann die Geschichte der Commits von 1 bis 10?

Der Grund, warum ich diese Frage stelle, ist, dass ich meinem Freund erzählte, wie sucky CVS im Vergleich zu SVN ist. Er ist ein großer Fan von CVS. Also sagte er mir, da die CVS-Revisionsnummern dateispezifisch sind, ist es sehr einfach für ihn, eine einzelne Datei in einen Status zurückzuversetzen (da der Verlauf der einzelnen Datei nicht die Commits enthält, die an anderen Abschnitten des Projekts vorgenommen wurden). Da ich mein gesamtes Projekt immer auf eine vorherige Version (nicht einzelne Datei) aktualisiere, bin ich nie auf diese Situation gestoßen. Also, ich möchte wissen, wie das in SVN gehandhabt wird?

Antwort

0

In der Subversion sind alle Versionsnummern ganze Zahlen (also gibt es keine 1.10 zum Beispiel), Sie würden einfach 1, 2, 3 usw. gehen, in Ihrem Beispiel bis zu zehn. Wenn Sie die Geschichte einer bestimmten Datei anzuzeigen, würden Sie nur die Revisionshistorie für diese bestimmte Datei sehen:

  1. Datei moo.txt hinzugefügt
  2. moo.txt verän
  3. moo-txt geändert

(sehr vereinfachtes Beispiel für die Geschichte)

Wenn Sie moo.txt zurück zu dem Punkt zurückzukehren, waren während es war Revision 7 (wo keine Änderungen vorgenommen wurden), wäre es im gleichen Zustand als r Versionen 6 und 5 (da die Datei zwischen diesen Zeiten nicht geändert wurde.

Ich hoffe, dies ist von Nutzen, ich bin nicht 100% sicher, was Sie gefragt haben. Entschuldigung, wenn ich missverstanden habe.

0

In SVN, Revisionsnummer als ganze Zahlen (1, 2, 3, ...), nicht gepunktet Monster wie in CVS (1.1, 1.2, ... und auf Zweig 1.2.1.1, 1.2.1.2, ..)

der große Vorteil von SVN.) ist, dass die Revisionsnummer in das Repository global ist, so dass Sie CAN das gesamte Projekt auf eine bestimmte Revision zurückkommen, die NICHT möglich in CVS ist.

das Zurücksetzen einer einzelnen Datei ist immer noch möglich, verwenden Sie einfach svn update mit einem einzigen Dateiargument.