2009-05-05 11 views
6

Was ist die beste Vorgehensweise bei der Pflege eines Quellcode-Repositorys, das automatisch die Aufnahme von/bin,/obj, * .suo etc. Dateien (oder zumindest standardmäßig) ablehnt?Korrekte Art der Integration von SVN-Quellcodeverwaltung und Visual Studio .NET 2005/2008?

Sollte jeder Entwickler eine "globale Ignorieren" -Musterliste für seine SVN-Client-Installation festlegen müssen? [] Dies scheint zu weit verbreitet zu sein.]

Oder sollte der Quellen-Repository-Betreuer jede betroffene Datei und jedes Verzeichnis mit einem SVN markieren: ausschließen? [Dies scheint zu zeitaufwendig.]

Oder gibt es eine andere Möglichkeit, dies zu tun? Ist es mit SVN möglich, Ignorierlisten zu erstellen, die auf Ordnerebene spezifisch sind?

Antwort

2

Setzen Sie die Eigenschaft svn:ignore auf Verzeichnisse, die Dateien/Verzeichnisse enthalten, die Sie ignorieren möchten. Es ist ein One-Shot-Deal.

+0

Kann der Entwickler noch explizit eine ignorierte Datei/type/aus ihrer Arbeitskopie hinzufügen? Wenn Sie beispielsweise das Ignoriermuster in TortoiseSVN festlegen, werden diese Dateitypen im Dialogfeld nicht mehr angezeigt. Sie können jedoch explizit zu der Datei im Explorer gehen, mit der rechten Maustaste klicken und sie hinzufügen. Hat das Einstellen der svn: ignore -Eigenschaft ein ähnliches Verhalten oder können Sie * nie * ein ignoriertes Element hinzufügen? –

+0

Können Sie auch * rekursiv * sogar mit einem svn: ignore-Mustersatz explizit hinzufügen? Wenn Sie zum Beispiel eine Libell von Drittanbietern hinzufügen und möchten, dass sie alles (z. B. eingeschlossene .dlls) in Ihr Projekt einfügt, aber für nachfolgende Commits, möchten Sie, dass es wieder ignoriert wird (z. B. don keine Artikel, die Sie später kompiliert haben. Die einzige Möglichkeit, dies mit TortoiseSVN mithilfe des globalen Ignoriermusters zu erreichen, besteht darin, es vorübergehend zu deaktivieren, add/commit auszuführen und es dann wieder zu aktivieren. Dies mit svn: ignore zu tun wäre wesentlich schwieriger. –

2

Wir verwenden derzeit ein obligatorisches globales Ignore-Muster auf der Client-Seite, das, wie Sie ausgeführt haben, weniger als ideal ist. Wir haben zumindest ein Dokument zum Einrichten und Konfigurieren der Entwicklungsumgebung, das das letzte autorisierende Ignoriermuster enthält (wie dieses Best general SVN Ignore Pattern?).

Ich bin neugierig auf das Verhalten von svn: ignorieren, wie Romain Verdier vorgeschlagen. Ich habe einen Kommentar zu seiner Antwort geschrieben.

-1

Ich empfehle Ihnen, Ankhsvn zu verwenden. Es wird all diese Dinge für dich tun.

+0

Ich glaube nicht, dass es für jeden Client des Quellcodeverwaltungsrepositorys, wie James es verlangt, automatisch Ignoriermuster behandelt. Ankhsvn behandelt das Ignoriermuster/du gibst es /, genau wie TortoiseSVN, was bedeutet, dass jeder Entwickler Ankhsvn so konfigurieren muss, dass er das richtige Muster verwendet, was James zu vermeiden versucht. –