2016-11-10 8 views
-1

Ich möchte mit einer Datei interagieren, die vor kurzem aus dem SVN-Repository gelöscht wurde, aber wenn ich dies versuche, erhalte ich eine Warnung "nicht unter Versionskontrolle".So interagieren Sie mit gelöschter Datei

Was ich speziell tun möchte, ist svn cat die Originalversion es heraus zu einer Datei für die Inspektion/Verwendung, aber ich kann nicht svn log es entweder, da das auch die gleiche Warnung gibt.

Wenn ich svn log -v das übergeordnete Verzeichnis der alten Datei, kann ich die Revision sehen, wo die Datei hinzugefügt wurde und die, wo es gelöscht wurde. Die Revision, in der die Datei hinzugefügt wurde (diejenige, die mich interessiert), ist r1678.

Wenn ich svn log -r 1678 -v path/[email protected] mache, bekomme ich die Warnung "nicht unter Versionskontrolle".

Wenn ich svn cat -r 1678 path/[email protected] mache, bekomme ich die Warnung "nicht unter Versionskontrolle".

Wie bekomme ich die Datei?

Wenn es darauf ankommt, war das "Löschen" ein Umzug in ein anderes Verzeichnis, aber ich bin mir nicht sicher, wie es verschoben wurde. Wenn ich eine svn log newpath/file mache, enthält der Verlauf den ursprünglichen Speicherort der Datei nicht, so nahm ich an, dass es in einer Weise verschoben wurde, die den Verlauf nicht speicherte (dh: nicht derselbe Svn-Knoten). Aber ich bin mir nicht sicher. Wenn ich ein svn log auf dem Elternteil ein paar Stufen entfernt, so zu tun, dass es sowohl die alten und neuen Verzeichnisse umfasst, erhalte ich folgendes:

r1804 | ... 
M newpath/file 

r1755 | ... 
M newpath/file 

r1700 | ... 
D oldpath/file 
A newpath/file 

r1678 | ... 
A oldpath/file 

Die Wurzel hier brauchen, ist ein diff mit der ursprünglichen Version der Datei als Es war, als es zuerst hinzugefügt wurde, was ich nicht leicht bekommen kann, da die Geschichte bei der Dateiverschiebung unterbrochen wird. Wenn es einen einfachen Weg gibt, dies zu tun, wäre das wünschenswert, aber das ist technisch nicht das, was diese spezifische Frage verlangt.

Wie kann ich mit der gelöschten Datei interagieren?

Antwort

0

Die gelöscht Datei ist nicht mehr in der Arbeitskopie, so dass Sie auf die Revision aus dem Repository zugreifen müssen.

Es sieht aus wie Sie die Revisionen identifiziert und Pfadnamen Sie interessiert sind. Anwendung:

svn info 

aus Ihrer Arbeitskopie, um seine Relative URL zu finden. Es sieht ungefähr so ​​aus wie ^/trunk/newpath (abhängig davon, in welchem ​​Verzeichnis Sie es aufrufen).

Die gelöscht Datei zugegriffen werden kann (so etwas wie):

svn cat -r 1700 ^/trunk/newpath/file 
Verwandte Themen