2010-01-07 4 views
6

Ich versuche Perforce zu lernen und möchte eine Datei aus dem Depot löschen (leicht zu tun mit p4 delete, p4 submit), aber das löscht es auch aus der Client-Maschinen-Verzeichnisstruktur. Ich möchte meine lokale Datei in meinem Verzeichnis intakt behalten.Wie lösche ich eine Datei aus dem Depot, aber lasse die lokale Kopie intakt?

Die einzige Möglichkeit, dies zu sehen, wäre, es aus der Hierarchie zu entfernen, die unter Perforce Kontrolle vor dem Löschen ist. Ich konnte meine Datei wiederherstellen, indem ich eine frühere Version synchronisierte.

Vielleicht habe ich meinen Client-Arbeitsplatz falsch eingerichtet? Oder verstehe ich ein grundlegendes Konzept der Quellcodeverwaltung falsch? Der Client-Arbeitsbereich ist/home/user und ich habe es auf diese Weise gemacht, sodass ich jede Datei unter meinem Home-Verzeichnis hinzufügen konnte, ohne einen Fehler zu bekommen, weil die Datei nicht unter dem root des Clients war.

FYI - Linux-Client und Server läuft P4D/LINUX26X86/2009,1/222893 (2009/11/12)

Jede Beratung sehr geschätzt. Danke.

Antwort

4

Ich glaube nicht, dass es eine Möglichkeit gibt, eine Datei, die Sie löschen, unter Perforce zu behalten. Es gibt einen guten Grund dafür, als ob die Datei im Depot gelöscht wird. Es gibt keinen Grund (aus Sicht der Quellcodeverwaltung), eine Kopie im Client-Arbeitsbereich zu behalten.

Ich vermute, das Problem ist die Art, wie Sie Perforce verwenden.

Von dem, was Sie geschrieben haben, scheint es, dass Sie Perforce verwenden, um Dateien in Ihrer Home-Verzeichnisstruktur zu sichern/zu verfolgen. So, wie Sie Perforce verwenden, befindet sich der "Master" in Ihrem Home-Verzeichnis und die "Kopien" befinden sich im Depot.

Dies ist nicht die beabsichtigte Verwendung eines Quellcodeverwaltungssystems, wie ich es verstehe.

Die Masterkopie aller Dateien ist eigentlich, was im Depot ist. Aus dem Depot werden mehrere Clients (Ansichten) für Zwecke wie das Vornehmen von Änderungen, Testen und usw. erstellt. Die Clients sind vorübergehend und können nach Bedarf erstellt und gelöscht werden.

Um zu tun, was Sie tun möchten, müssen Sie möglicherweise überdenken, wie Sie Perforce verwenden.

+1

Danke Phil, das ist eine gute Perspektive. – Gary

+2

Ich habe einen guten Grund gefunden, dass jemand eine Reihe von Benutzereigenschaften-Dateien eingecheckt hat. Jetzt kann ich meine persönliche Umgebung nicht mehr konfigurieren, wenn ich nicht erst die Benutzerdateien auschecke. –

+0

Sie haben meine Frage beantwortet, danke! – Ram

1

einige der anderen Befehle nehmen einen Parameter, mit dem Sie die Aktion vortäuschen können, aber nicht löschen. Sie können immer einen neuen Client erstellen und das Löschen in diesem Arbeitsbereich durchführen.

0

Es gibt eine Möglichkeit, dies zu tun, indem man hinter Perforce zurückgeht. Gehen Sie wie folgt:

  1. Benennen Sie die Datei, die Sie etwas löschen wollen neue
  2. Run p4 delete auf dem ursprünglichen Dateinamen
  3. p4 submit die Änderung
  4. die Datei auf den ursprünglichen Namen umbenennen zurück