2009-08-10 18 views
0

Zwei Teams arbeiten an zwei verschiedenen Projekten "A" und "B". Einige Dateien sind beiden Projekten gemeinsam und werden in einem Verzeichnis "Common" gespeichert. Wenn sich ein Veröffentlichungsdatum von Projekt A nähert, möchte das Team von Projekt A nicht durch Änderungen an "Common" gestört werden, die von Team "B" vorgenommen wurden.SVN-Verzeichnis lokal schreibgeschützt machen

Die meisten Leute mögen Zweige für solche Probleme, aber ich nicht. Was ich will, ist eine einfache Möglichkeit zu geben, von A bis

1) ignoriert alle Modifikationen von Team B zu Gemeinsamen Dateien

2) teilen Änderungen der Gemeinsamen Dateien unter Team A Mitglieder

hier gemacht Team die A, B, als gemeinsame Verzeichnisse auf svn gespeichert:

Common 
.. A 
.. B 

die Idee, die ich zu umzusetzen versuch machen „Common“ Verzeichnis nur gelesen und nicht aktualisierbar A zum Team. Wenn sie wirklich Common-Dateien modifizieren wollen, müssen sie sie in das Verzeichnis "A" kopieren und sie committen.

Gibt es eine Möglichkeit, idealerweise eine einfache und elegante, "genau das" zu tun?

NB: Dies ist eine vereinfachte Darstellung des Problems. Es gibt mehr als nur zwei Teams, und mehr als nur eine „gemeinsame“ Repository

NB2: alle Teams verwenden TortoiseSVN

+1

Das klingt nach genau das, wofür Zweige erfunden wurden. Warum denkst du, dass du es nicht magst, dass sie es dafür benutzen? – sbi

+0

Bei Verwendung von Verzweigungen kann kein Unterschied gefunden werden, wenn A oder Common geändert werden. Ich möchte es etwas schwieriger machen, Common zu modifizieren (nur um sicherzustellen, dass der Entwickler etwas darüber nachdenkt, bevor er es tut) –

Antwort

6

Ein Gedanke - wenn Sie svn verwendet: externals Ihre gemeinsame referenzieren (n) können die Revisionsnummer angeben (im Gegensatz zur Kopfrevision). Dies ermöglicht Ihnen, zu einer kontrollierten Revision zu wechseln, wenn sich das Erscheinungsdatum nähert.

+0

Oder sogar eine kontrollierte Verbindung zu Zweigen usw. –

1

Dies ist das „Unberührbaren Bibliothek“ Problem, das ich versuche, in einem anderen setzen answer

einfach zu beschreiben - externals verwenden.

Verwandte Themen