Frage

Manchmal verwende ich die Funktion „Offline-Arbeit abgleichen...“, die sich in der P4V-IDE von Perforce befindet, um alle Dateien zu synchronisieren, an denen ich gearbeitet habe, während ich nicht mit dem P4-Depot verbunden war.Es öffnet sich ein weiteres Fenster, das einen „Ordnervergleich“ durchführt.

Ich habe Dateien, die ich niemals in die Quellcodeverwaltung einchecken möchte (z. B. solche im bin-Ordner, z. B. DLLs, Code-generierte Ausgaben usw.). Gibt es möglicherweise eine Möglichkeit, diese Dateien/Ordner herauszufiltern, damit sie nicht als „neu“ angezeigt werden? hinzugefügt.Sie neigen dazu, die Liste der Dateien, die mich tatsächlich interessieren, zu überladen.Verfügt P4 über das Äquivalent der Funktion „Datei ignorieren“ von Subversion?

Andere Tipps

Ja, aber.

Perforce Version 2012.1 hinzugefügt, um eine Funktion bekannt als p4ignore , von Git inspiriert. Allerdings machten die Perforce-Entwickler eine Änderung des Verhaltens, ohne Angabe von Gründen, dass die Funktion viel weniger nützlich.

machen geschieht

Während Git nimmt Regeln von allen .gitignore Dateien, tut Perforce nicht wissen, wo sie suchen müssen, bis Sie einen Dateinamen in einer Umgebungsvariablen P4IGNORE angeben. Diese Freiheit ist ein Fluch. Sie können nicht auf zwei Repositories hacken, die Dateien ignorieren für ihre verschiedenen Namen verwenden.

Auch Perforce Feature ignorieren ist die Box nicht funktioniert. Sie können es leicht genug für sich selbst, aber andere nicht profitieren, wenn sie nicht ausdrücklich Opt-in einrichten. Ein Mitarbeiter, der nicht hat, kann versehentlich unwillkommene Dateien begehen (zB. Einen bin Ordner von einem Build-Skript erstellt).

Gits ignorieren Funktion ist groß, weil es die Box funktioniert. Wenn die .gitignore Dateien zum Repository hinzugefügt werden ( jeder macht diese ), werden sie die Box trainieren für jeden. Niemand wird seinen privaten Schlüssel versehentlich veröffentlichen.

Komisch, die Perforce docs zeigt '.p4ignore' als ein Beispiel ignoriert Regel, die nach hinten ist! Wenn die Regeln nützlich sind, sollten sie als Teil des Repository gemeinsam genutzt werden.


Perforce konnte noch auf dem Feature gut machen. Wählen Sie eine Konvention für die Dateinamen, sagen p4ignore.txt, so dass die Funktion der Box funktioniert. Lassen Sie die P4IGNORE Umgebungsvariable, es ist kontraproduktiv. Bearbeiten Sie die Dokumente, die Entwickler zu ermutigen nützliche Regeln zu teilen. Lassen Sie Nutzer persönliche Regeln in einer Datei in ihrem Home-Ordner, wie Git schreiben tut .

Wenn Sie jemand bei Perforce wissen, bitte teilen Sie diesen Beitrag per E-Mail.

Dies funktioniert wie von Perforce 2.013,1 wurde der neue P4IGNORE Mechanismus zuerst in Release 2012.1, beschrieben auf das Perforce Blog hinzugefügt hier:

  

https://www.perforce.com/blog/new-20121-p4ignore

Wie es zur Zeit ist beschrieben, können Sie eine Umgebungsvariable „P4IGNORE“ auf einen Dateinamen, die eine Liste der Dateien enthält, zu ignorieren.

So können Sie es überprüfen, um zu sehen, wie es Ihnen gefällt.

Wenn Sie eine Lösung wollen, die, ohne auf alle Arbeitsräume gelten um kopiert zu werden, Sie (oder Ihr Sysadmin) können die Einreichung dieser Dateitypen verweigern durch die Leitungen wie die in der unten stehenden p4 schützen Tabelle:

write user * * -//.../*.suo
write user * * -//.../*.obj
write user * * -//.../*.ccscc

Ich erinnere mich, dies vor zu tun, aber ich habe nicht die erforderlichen Berechtigungen dies hier zu testen. Schauen Sie sich Perforce Sysadmin Führer und probieren Sie es aus

Perforce Streams macht Dateien viel einfacher, ab Version 2011.1 ignorieren. Nach der Dokumentation, bestimmte Erweiterungen ignorieren oder bestimmte Pfade in Ihrem Verzeichnis.

Von p4 help stream

Ignored: Optional; a list of file or directory names to be ignored in
                 client views. For example:

                     /tmp      # ignores files named 'tmp'
                     /tmp/...  # ignores dirs named 'tmp'
                     .tmp      # ignores file names ending in '.tmp'

                 Lines in the Ignored field may appear in any order.  Ignored
                 names are inherited by child stream client views.

Das im Wesentlichen tut, was @ Raben spezifiziert beantworten, ist aber mit Strömen leichter gemacht, wie es breitet sich automatisch jeder Arbeitsraum, der Strom verwendet wird. Es gilt auch für alle Streams aus dem Strom zu erben, in dem Sie die ignorieren Typen angeben.

Sie können den Stream über p4 stream //stream_depot/stream_name oder Rechtsklick auf den Strom in P4V Stream-Ansicht bearbeiten.

Und wie @svec erwähnt, ist die Möglichkeit, Dateien zu spezifizieren ignorieren pro Arbeitsplatz ist in Kürze, und ist in der Tat in P4 2012.1 beta.

Wills Vorschlag der Verwendung scheint .p4ignore nur mit WebSphere Studio (P4WSAD) Plugin zu arbeiten. Ich habe gerade versucht es auf meinem lokalen Windows-Box und alle Dateien und Verzeichnisse, die ich aufgelistet waren nicht ignoriert.

Raven Vorschlag Ihre Client-spec modifizieren ist der richtige Weg unter Perforce. Die richtige Organisation des Codes / Daten / ausführbare Dateien und erzeugt Ausgabedateien wird den Prozess der Ausschließen von Dateien aus machen in viel leichter kontrolliert werden.

Als drakonischeren Ansatz, können Sie immer einen schreiben Trigger vorlegen, die Einreichung von Änderungslisten ablehnen, wenn sie eine bestimmte Datei oder Dateien mit einer bestimmten Endung enthalten, usw.

HISTORISCHE ANTWORT - nicht mehr richtig. Zu der Zeit war dies ursprünglich geschrieben, es war wahr;

Sie können in einer Datei nicht schreiben und prüfen Sie, dass der Server verwendet Regeln machen ignorieren; allgemeine glob oder regexp Dateimuster in notgedrungen ignorieren.

Andere Antworten globale Serverkonfigurationen haben, die global sind (und nicht pro Ordner). Die anderen Antworten zeigen Dinge, die für Sie arbeiten, wenn Sie pro Ordner mal Anzahl der Verlängerungen eine Zeile in Ihrer Ansicht mögen Sie in diesem einzigen Ordner zu ignorieren, oder dass diese Fähigkeit in WebSphere Studio-Plugins für Server nur, oder bietet Fähigkeit bereitstellen, Administratoren, aber die Benutzer nicht zur Verfügung.

Kurz gesagt, finde ich Perforce wirklich schwach in diesem Bereich. Während ich schätzen, dass .p4ignore verwenden können, diejenigen, die die Eclipse-Plugin verwenden, und ich denke, das ist toll, es diejenigen von uns verlässt, das nicht zu tun, die in der Dunkelheit.

UPDATE:. Siehe akzeptierte Antwort für neue P4IGNORE Fähigkeit Mitte 2012 hinzugefügt

ich gefunden habe, ist es am einfachsten Offline-Arbeit in Einklang zu bringen mit einem BASH-Skript wie diese:

#!/bin/bash
# reconcile P4 offline work, assuming P4CLIENT is set
if [ -z "$P4CLIENT" ] ; then echo "P4CLIENT is not set"; exit 1; fi
unset PWD # confuses P4 on Windows/CYGWIN

# delete filew that are no longer present
p4 diff -sd ... | p4 -x - delete

# checkout files that have been changed.  
# I don't run this step.  Instead I just checkout everything, 
# then revert unchanged files before committing.
p4 diff -se ... | pr -x - edit

# Add new files, ignoring subversion info, EMACS backups, log files
# Filter output to see only added files and real errors
find . -type f \
 | grep -v -E '(\.svn)|(/build.*/)|(/\.settings)|~|#|(\.log)' \
 | p4 -x - add \
 | grep -v -E '(currently opened for add)|(existing file)|(already opened for edit)'

I angepasst dies von diesem Perforce Knowledge Base-Artikel .

Ich suche nach einer .p4ignore wie Lösung als auch (und nicht ein auf eine bestimmte IDE gebunden). So weit, die nächste Sache, die ich gefunden habe ist p4delta. Es klingt wie es genau das tun, was das ursprüngliche Plakat wurde gefragt, wenn auch durch eine andere Schicht von Dereferenzierung.

http://p4delta.sourceforge.net

Leider, während dies die richtige Liste von Dateien zu erzeugen scheint, kann ich nicht „p4delta --execute“ arbeiten ( „Kann nicht eine gefrorene Zeichenfolge ändern“) und das Projekt wurde im Jahr nicht mehr aktualisiert . Vielleicht werden andere mehr Glück haben.

Wenn Sie die Eclipse-Perforce-Plugin verwenden, dann die Plugin Dokumentation mehr Möglichkeiten, listet Dateien zu ignorieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top