2008-09-03 4 views
1

Avertissement: Je suis coincé sur TFS et je déteste ça.TFS - Branchement pour le développement expérimental: La solution ne se charge pas

Ma structure de contrôle de source ressemble à ceci:

  • /dev
  • /Communiqués
  • /branches
  • /expérimentale mise à niveau

I bifurqué de dev à l'expérimental -upgrade et ne l'a pas touché. J'ai ensuite fait un peu plus de travail en dev et fusionné à experimental-upgrade. D'une certaine manière, TFS s'est plaint que j'avais des changements à la fois dans la source et la cible et que je devais les résoudre. J'ai choisi de "copier l'élément de la branche source" pour les 5 éléments.

Je vérifie la mise à niveau expérimentale dans un dossier local et j'essaie d'ouvrir le fichier de la solution principale. TFS me demande:.?

« Les projets ont récemment été ajoutés à cette solution Voulez-vous les obtenir du contrôle de source

Si je dis oui, il fait des choses, mais vient finalement revenir ne pas charger une poignée de projets. Si je dis non, je reçois le même résultat.

en comparant ma sln dans les deux branches me dit qu'ils sont égaux.

quelqu'un peut-il me faire savoir ce que je fais mal? Cela devrait être simple opération de branchement/fusion ...

TIA.


MISE À JOUR:

je remarquai que si je clique sur « oui » sur la boîte de dialogue ci-dessus, les projets sont téléchargés dans le $/racine de contrôle de code source ... (hors de la dev Si j'ouvre la solution dans la branche et supprime les projets morts et essaye de les rajouter (en faisant un clic droit sur sln, ajouter un projet existant, choisir un projet situé dans le dossier de branche, cela donne moi l'erreur ...

Impossible de charger le projet c: \ sandbox \ my_solution \ proj1 \ proj1.csproj, le fichier a été supprimé ou supprimé. Le chemin du projet que je cherchais à ajouter est la suivante: c: \ sandbox \ \ my_solution branches expérimentale la mise à niveau \ \ proj1 \ proj1.csproj

Que dans le monde est dirigé ces projets en dehors de leur racine locale ? Le fichier de solution est identique à celui de la branche dev, et ces projets se chargent très bien. J'ai aussi regardé les fichiers vspscc et vssscc mais je n'ai rien trouvé.

Des idées?

+0

Selon toute probabilité, votre problème provient de mappages d'espace de travail vicieux. Il existe quelques opérations qui peuvent ajouter de nouveaux mappages "derrière votre dos": Ajouter une solution au contrôle de la source, Ouvrir à partir du contrôle de la source, rightclick-> Get-> OK sur un dossier non mappé. Je commencerais par les bases: corrigez vos correspondances, puis lancez un Get complet à partir de la racine pour vous assurer que tout est sur le disque. Puis examinez la structure de votre dossier pour vous assurer que chaque branche utilise le même système de chemins relatifs. (la branche <-> chemins eux-mêmes peuvent varier, mais je trouve que cela ajoute une certaine confusion) –

Répondre

2

@Ben

Vous pouvez réellement faire un effacement complet dans TFS, mais il est fortement déconseillé sauf si vous savez ce que vous faites. Vous devez le faire à partir de la ligne de commande avec la commande tf destroy

tf destroy [/keephistory] itemspec1 [;versionspec] 
      [itemspec2...itemspecN] [/stopat:versionspec] [/preview] 
      [/startcleanup] [/noprompt] 

Versionspec: 
    Date/Time   Dmm/dd/yyyy 
         or any .Net Framework-supported format 
         or any of the date formats of the local machine 
    Changeset number Cnnnnnn 
    Label    Llabelname 
    Latest version T 
    Workspace   Wworkspacename;workspaceowner 

Juste avant de faire cela, assurez-vous de l'essayer avec le/aperçu. Aussi tout le monde a sa propre méthode de branchement. Le mien consiste à relier des versions, et faire tout le développement dans le dossier de développement ou de racine. Aussi, il semblait que le branchement fonctionnait bien pour vous, juste le fichier de solution a été foutu, ce qui peut être à cause d'un problème de liaison et le fichier vssss.

0

@Nick: Aucune modification n'a encore été apportée.Je peux devoir le supprimer et rebrancher (cependant vous ne pouvez vraiment pas complètement supprimer dans TFS)

Et je ne suis pas d'accord ... la branchement est absolument une bonne pratique pour des changements expérimentaux. Le rayonnage n'est qu'un stockage temporaire qui sera sauvegardé si je ne veux pas encore m'inscrire. Mais cela doit être développé pendant que nous développons des fonctionnalités réelles.

0

Sans en savoir plus sur la configuration de votre solution, je ne peux en être certain. Mais, si vous avez des références de projet qui pourraient l'expliquer. Parce que vous avez le sous-dossier "experimental-upgrade" sous "branches" vos chemins relatifs ont changé. Cela signifie que lorsque VS a cherché vos projets référencés dans .. \ .. \ projet \ tout ce qu'il doit maintenant regarder dans .. \ .. \ .. \ projet \ quoi. Notez le supplément .. \

Pour résoudre ce problème, vous devez ajouter à nouveau vos références de projet. Je n'ai pas trouvé de meilleur moyen. Vous pouvez soit les supprimer et les ajouter à nouveau, soit vous rendre dans la fenêtre des propriétés et en changer le chemin, puis les recharger. De toute façon, vous devrez refaire vos références à partir de tous les projets.

Vérifiez également vos dossiers de travail pour vous assurer qu'ils n'ont pas téléchargé vos projets dans les mauvais dossiers. Cela peut se produire parfois ...

0

Un couple de choses. Les structures de dossiers sont-elles les mêmes? Pouvez-vous supprimer et lire les références du projet avec succès?

Si vous créez une solution, puis ajoutez manuellement tous les projets, cela fonctionne-t-il? (Ce n'est peut-être pas faisable - nous avons des solutions avec plus d'une centaine de projets).

Une autre chose (et il peut être stupide) - après avoir fait la branche, l'avez-vous commise? Je me demande si vous avez ramifié et n'avez pas vérifié, puis fusionné, et quand vous avez essayé de vous enregistrer, TFS était très confus.

0

@ Kevin:

Cela signifie que lorsque VS utilisé pour rechercher vos projets référencés dans .... \ projet \ ce qu'il doit maintenant regarder dans ...... \ projet \ tout. Notez le supplément .. \

Vous pouvez être sur quelque chose ici, mais cela n'explique pas pourquoi certains projets chargent et d'autres non. Je n'ai pas encore trouvé de corrélation entre eux.

Je pense que je vais essayer de rajouter les projets et de voir si cela fonctionne.

0

@Cory:

Je pense que ce que je vais essayer ... j'ai environ 20 projets et 8 ou ne sont donc pas le chargement. Les structures de dossiers sont identiques à partir de la racine ...c'est-à-dire: il n'y a pas de références en dehors de DEV.

Questions connexes