2013-04-23 11 views
6

Ich habe eine cl nicht gespeichert, die eine 'add' Datei namens foo.txt enthielt. Wenn ich diese Änderungsliste zurücksetze, verschwindet die foo.txt von meinem Arbeitsbereich, bleibt aber auf meiner Festplatte.Ungelöste Dateien in notable wiederherstellen

Wenn ich den Arbeitsbereich öffne, kann ich immer noch die foo.txt sehen.

Gibt es eine Möglichkeit, die hinzugefügte Datei zu löschen? (Außer der offensichtlichen des Löschens manuell)

+2

Das hat eigentlich nichts mit Unshelves zu tun. In Ihrer Frage geht es wirklich darum, * hinzugefügte * Dateien rückgängig zu machen. – jamesdlin

+0

mögliche Duplikate von [Perforce: 'aus dem Arbeitsbereich' von der Kommandozeile entfernen?] (Http://stackoverflow.com/questions/2314848/perforce-remove-from-workspace-from-command-line) – raven

+0

@raven Das hat nichts zu tun mit 'vom Arbeitsbereich entfernen'. Es geht darum, was mit der lokalen Datei geschieht, nach 'p4 add' gefolgt von' p4 revert'. (Mit 'shelve',' unshelve', um die Dinge zu erschweren). –

Antwort

0

Sobald Sie die Datei in Perforce hinzufügen, ich denke, Sie können sie einfach von der Festplatte löschen - Perforce hat sie völlig vergessen.

+0

Sollte das nicht die Umkehrfunktion tun? – Twisted

+0

@Twisted: Das Denken ist wahrscheinlich, dass es für den Befehl "Zurückkehren" gefährlich wäre, das zu tun, denn wenn Sie es versehentlich tun, werden Sie wahrscheinlich eine erhebliche Menge an Arbeit verlieren. (Sie könnten jedoch auch eine Befehlszeilenoption hinzufügen, um sie "rückgängig zu machen".) – jamesdlin

+0

Nun ist es an der Zeit, mein Shell-Skriptwissen zu überarbeiten. – Twisted

2

Dieses Verhalten ist von Entwurf.

http://www.perforce.com/perforce/doc.current/manuals/p4guide/04_files.html

Wegwerfen Änderungen (Zurücksetzen)

Um eine Datei von einem Änderungsliste zu entfernen und alle Änderungen verwerfen Sie Ausgabe gemacht, kehren die p4 Befehl. Wenn Sie eine Datei wiederherstellen, stellt Perforce die letzte Version wieder her, die Sie mit Ihrem Arbeitsbereich synchronisiert haben. Wenn Sie eine Datei zurücksetzen, die für hinzugefügt wurde, wird die Datei aus der Änderungsliste entfernt, aber nicht aus Ihrem Arbeitsbereich gelöscht.

2

Ausführen des revert Befehl mit -w Flag werden alle Dateien für Add während des revert markiert löschen (siehe p4_revert docs)

p4 revert -w [file specification]

zB p4 revert -w -c default //MY_WORKSPACE/... (foo.txt von der Festplatte gelöscht wird , dann wieder rückgängig gemacht)

+1

Dies ist eine großartige Lösung!Beachten Sie, dass "revert -w" erfordert, dass Ihr Server die Version 2013.2 oder höher hat. –