2009-06-23 8 views
1

J'ai un projet TFS qui devrait être un dossier sous un autre projet, donc je veux déplacer l'historique de contrôle de la source (Nous n'utilisons pas les autres fonctionnalités de TFS pour ce projet, donc je ne me soucie pas du site du projet). J'ai ramifié le code dans le nouvel emplacement et je me prépare à supprimer le projet d'origine.Copier l'historique de contrôle de source lorsque je branche, puis supprimer le tronc, dans TFS

This SO question traite de la fonction de l'histoire TFS évidemment défaut après que vous branche, mais depuis que je suis la suppression du dossier du tronc, cette fonctionnalité de contournement briseront, et je vais perdre complètement mon histoire source-branche pré.

Est-ce que quelqu'un d'autre a une meilleure solution qui me permettrait de garder l'historique? Je préférerais conserver la possibilité de faire des builds précédents, et je perds cela si je supprime le dossier de tronc du contrôle de source, ce qui n'est pas acceptable. Merci de votre aide!

Répondre

1

Ma recommandation est d'utiliser la fonction Déplacer (alias renommer). Toute l'histoire sera conservée sur place. Et vous pouvez toujours recréer les anciennes versions dans l'autre projet en les synchronisant à la version appropriée.

Si vous décidez de Brancher, ce n'est pas grave si vous supprimez la source d'origine ou non. Rien dans TFS n'est jamais vraiment supprimé, simplement placé dans un "état supprimé". L'histoire - y compris l'historique de fusion - fonctionne de manière identique. (Sauf si vous utilisez également la commande Destroy et même alors, il ya une option pour supprimer le contenu du fichier & diffs mais conserver les métadonnées historiques.)

+0

Je pensais que rien n'était supprimé, mais il semble que lorsque vous supprimez un projet d'équipe, il détruit l'historique source de ce projet (voir "Contrôle de version" sous "Comment fonctionne TFSDeleteProject" à l'adresse http: // msdn. microsoft.com/en-us/library/dd206696.aspx). Puisque c'est le cas, je ne serai jamais capable de recréer des builds avant ma branche. Je vais vérifier l'option Déplacer - je ne l'avais pas envisagé, même si je ne suis pas sûr que cela fonctionnera à travers les projets. – SqlRyan

+0

Je viens d'essayer "Move", et il a fait ce que je pensais, même à travers les projets, et l'histoire de la source est préservée. Je vais laisser l'option de question pour voir si j'obtiens d'autres solutions, mais si je ne le fais pas, j'accepterai le vôtre. Merci pour l'aide! – SqlRyan

+0

Content d'entendre Move a travaillé. Bon point sur TfsDeleteProject, cependant. L'avoir fait un Destroy est un changement relativement récent. Si vous n'avez pas besoin de créer un autre projet avec le même nom - en particulier si vous pensez que vous devrez peut-être revoir les anciens artefacts un jour - vous n'avez probablement pas besoin d'exécuter cette commande. Il suffit de retirer l'autorisation GENERIC_READ de tout le monde au projet (ou tout le monde sauf les administrateurs, etc.), alors personne ne pourra le voir ou le manipuler, sans rien faire de destructeur. –

0

Une autre option à considérer en plus de supprimer le répertoire consiste simplement à le masquer. Le masquage du répertoire ne supprimera rien du contrôle du code source. Cela empêchera simplement son extraction sur votre client. L'effet final est qu'il n'apparaîtra pas sur votre client et vous aurez toujours le travail autour de l'histoire.

+0

C'est une option que j'avais envisagée, mais je veux aussi éviter le risque que quelqu'un d'autre éditera le code source dans le futur, puisqu'il s'agit d'une copie inactive. Même si tout le monde peut le masquer, je préférerais une solution directe plutôt qu'une solution de contournement. – SqlRyan

Questions connexes