2010-04-22 4 views
1

J'ai un projet sous ma direction.Visual Sourcesafe, partage: commet un mauvais emplacement

Il a la structure suivante:

$/Code/MainSolution $/Code/Branches

Je veux branche la MainSolution en $/Code/Branches

donc je le fais, (ça marche parfaitement), je mets un dossier de travail pour ce projet et fais un 'get latest'.

Mais quand j'ouvre cette solution dans Visual Studio 2005, il identifie chaque fichier en tant que nouveau (signe + en face du fichier) et quand je commets ce qu'il va

$/Données/NameOfTheBranch

Pourquoi ça fait ça? Pourquoi ne suit-il pas mes règles?

Répondre

1
  1. Allez dans Fichier, contrôle de code source, changement Source de contrôle (au moins sur VS2008).

  2. Examinez la colonne Liaison de serveur. Généralement, vous voulez que la liaison à pointe vers le répertoire racine du projet de la solution dans VSS pour la solution et tous les projets. Si ce n'est pas le cas, alors:

  3. Désactivez tous les projets et la solution .

  4. Maj-sélectionnez la liste entière. Liez tout à la racine de la solution.

Si vous faites cela avant de brancher et d'épingler le projet, ce sera plus facile. En le faisant ensuite, vous devrez ramifier le fichier .sln et peut-être aussi le .vcproj et le .vspscc pour que les modifications soient sauvegardées correctement.

Here's une bonne référence pour les fichiers VSS et Visual Studio à gérer. Ces fichiers peuvent facilement être hors de portée.

J'ai administré une base de données VSS pendant trop d'années et récemment passé à Mercurial et n'ai pas regardé en arrière. Branching et fusion dans VSS est horrible.

2

Je fais habituellement tous les fichiers vcproj sous solution ont les suivantes:

SccProjectName = "SAK" 
SccLocalPath = "SAK" 
SccAuxPath = "SAK" 
SccProvider = "SAK" 

Il sera ramasser les informations sourcesafe à partir du fichier de solution. Assurez-vous que le fichier de solution est ramifié et non partagé dans les deux branches. Ouvrez la solution ramifiée, puis accédez à «Modifier le contrôle de la source» et liez la solution à l'emplacement correct dans SourceSafe.
Tout cela est plutôt fragile (ou peut-être que je ne le comprends pas complètement) mais je le fais d'habitude juste jusqu'à ce qu'il fonctionne. Et, comme d'habitude: si possible, migrer vers un système de contrôle de source différent. Perforce, Subversion, Mercurial ...

+0

Pourriez-vous préciser ce que vous voulez dire par votre exemple de code? – Snake

+1

Vous ouvrez le fichier vcproj avec un éditeur de texte et remplacez toutes les valeurs de cette variable par "SAK". Cela va dissocier le projet de SourceSafe et vous utiliserez le fichier sln pour associer le proj à sourcesafe. C'est bien parce que vous pouvez maintenant changer l'emplacement du projet en SS en un seul endroit (nous avons 60 projets dans l'une de nos solutions!). Ensuite, lorsque vous branchez, il vous suffit de brancher la solution et de modifier la liaison SS, plutôt que de la modifier dans la solution et dans les projets. –

+0

Mais la succursale fonctionnera-t-elle encore? Sera-t-il toujours associé au tronc? Et puis-je fusionner après les salles? (est-ce encore possible? ...) – Snake

Questions connexes