Autorizzazioni di Subversion e progetti di Visual Studio

1

Ho una domanda abbastanza specifica riguardante la struttura di Subversion, diversi livelli di autorizzazione e progetti e soluzioni di Visual Studio: sviluppiamo un framework con partner esterni con funzionalità che il partner non è autorizzato a vedere.

Considera la seguente struttura di una soluzione VS:

example.sln
| _ /unit1/unit1.csproj (inclusi i file cs)
| _ /unit2/unit2.csproj (inclusi i file cs)
| _ /unit3/unit3.csproj (inclusi i file cs)

unit1 e unit2 appartengono al framework, unit3 è una funzionalità specifica (segreta). Framework è funzionalmente senza unità3 (che verrà spedito come dll).

La mia domanda ora è: come può essere strutturato questo progetto se le due parti devono avere un ambiente di sviluppo funzionale, esempio.sln, riferimento unità3, ma il nostro partner esterno non avrà questa parte a causa dell'autorizzazione SVN. Ovviamente, abbiamo pieno accesso al repository.

Spero che la mia richiesta sia diventata chiara ... Sono in una traccia sbagliata con la mia domanda?

EDIT: Grazie a questa risposta vedo più chiaro. Ultima domanda: come implementare soluzioni diverse per gruppi diversi in modo che ciascun gruppo possa solo verificare la propria soluzione:

  • due file sln in una directory con permessi diversi
  • due alberi di directory per ogni soluzione con collegamenti ai progetti condivisi?
posta bigbang 04.07.2013 - 17:27
fonte

1 risposta

2

Devi creare una soluzione separata che faccia riferimento solo ai progetti ai quali i tuoi partner hanno accesso.

Se i progetti pubblici utilizzano progetti segreti, tali progetti segreti non verranno inclusi nella soluzione e saranno semplicemente referenziati nel loro formato binario (come se si fa riferimento a un assembly da .NET Framework o qualsiasi libreria all'interno di una DLL che si scarica localmente). NuGet può anche essere usato, se appropriato.

Si noti che questo crea anche alcuni problemi con le dipendenze. Ad esempio, se il segreto unit3 si basa sul pubblico unit1 e il tuo partner modifica l'interfaccia di unit1 , la modifica non si rifletterà in unit3 , che sarà in fine rompere la build. Assicurati che i tuoi partner lo capiscano e concorda alcune linee guida relative alle modifiche che riguardano le interfacce pubbliche.

    
risposta data 04.07.2013 - 17:54
fonte

Leggi altre domande sui tag