Ligne de commande “get latest” de TFS sans cartographie des espaces de travail et de telles
Je suppose que cela:
tf.exe get $/project /recursive
...besoin de cet étrange espace de travail de cartographie, connu du serveur TFS.
Est-il un moyen que je pouvais faire cette chose la plus simple: connectez-vous à ce serveur TFS à l'aide de ce ensemble d'informations d'identification, obtention de la dernière version du code source pour ce projet et de le mettre ici? Le tout à partir de la ligne de commande.
double possible de Pouvez-vous faire un TFS obtenir sans avoir besoin d'un espace de travail?
OriginalL'auteur Anton Gogolev | 2012-08-01
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, êtes-vous vouloir une copie de la contrôlée de fichiers qui ne sont plus sous contrôle des sources (comme un SVN export) ou êtes-vous toujours dans l'espoir de travailler avec les fichiers et TFS?
Option 1: Pas de Liaison à tous les
Si vous souhaitez simplement une copie de la dernière fichiers et pas de "liant" à TFS, vous allez avoir à faire un peu de travail vous-même. En laissant de côté les informations d'identification (
[/login:username,[password]]
paramètre de nombre de ligne de commande de méthodes).TF
commande pour obtenir une liste des fichiers:tf dir "$/YourSolution" /Recursive > files.txt
files.txt
avec quelques petits malins fichier batch (ou utiliser un langage de script):$/
et c'est le répertoire, créer le répertoire de destination (enlever les trois premiers caractères et le dernier, un deux-points).%file%
et le répertoire%dir%
, puis lancez la commande suivante (pour chaque fichier dans ce répertoire):tf view "$/%DIR%/%FILE%" "/output:Your-Target-Path/%DIR%/%FILE%"
ou si vous êtes heureux avec le répertoire courant comme cible:
tf view "$/%DIR%/%FILE%" "/output:%DIR%/%FILE%"
Remarque, vous avez besoin de la
%DIR%/%FILE%
dans la sortie de la partie ou de tous les fichiers seront jetés dans le même répertoire.REMARQUE: il est probable que cela sera d'une TRÈS grande bande passante et de ralentir le fonctionnement!
Option 2: Temporaire Cartographie
tf workspace /new /collection:<URL_TO_SERVER> /permission:Private
(remarque, ce sera rapide, il y a un non-invite option, mais la détermination d'un nom pour l'espace de travail est laissée en exercice)LOCALDIR
tf workfold /map "$/SERVER_DIR" "LOCALDIR"
LOCALDIR
tf get . /Recursive
À ce stade, vous devriez maintenant avoir tous les fichiers et si vous voulez vous aussi avoir une liaison avec TFS de sorte que vous pourriez valider les modifications. Alternativement, vous pouvez maintenant copier le contenu de l'ailleurs et de briser la cartographie de l'espace de travail. À l'aide de la ligne de commande correcte variantes de
tf workfold /unmap
ettf workspace /delete
va annuler le mappage de votre workfolder et supprimer l'espace de travail.Je ne suis pas d'accord... Il semble y avoir beaucoup qui l'aiment.... Mais peu d'entre eux semblent avoir utilisé quelque chose d'autre que VSS qui est horrible...
OriginalL'auteur Ray Hayes
Exporter n'importe quel dossier proprement à partir de TFS? Enfin trouvé une excellente solution je pense.
Je ne vais pas complètement la recherche pour vous maintenant, mais l'intention de remplacer mon incroyablement bordélique serveur de création d'espace de travail de synchronisation script avec cela plus tard, quand j'aurais le temps.
Solution:
Utilisation de Microsoft Git-TF pour obtenir la source sur le disque sans avoir à mettre en place un espace de travail ou quoi que ce soit. J'ai essayé la commande, et il a fonctionné à merveille. Pensez qu'il TFS 2010 et 2012. De ce que je peux comprendre, il n'y aura pas de liaisons ou d'espaces de travail ou quoi que ce soit à gauche derrière qui va causer des problèmes plus tard. Je pense que tous vous avez besoin pour installer GIT GIT-TF.
http://www.microsoft.com/en-us/download/details.aspx?id=30474
Vous réellement obtenir les fichiers dans un dépôt GIT, ce qui n'est pas du tout un problème. Vous obtiendrez un (caché?) dossier nommé .git à l'intérieur du dossier que vous avez exporté, et je suppose que vous pouvez simplement le supprimer pour se débarrasser de toute trace de GIT.
Si quelqu'un la met en œuvre, ce qui devrait être facile, s'il vous plaît confirmer qu'il fonctionne comme prévu.
Donc, si j'ai couru au-dessus de c:\temp\ le code pourra être téléchargé à c:\temp\SomeFolder et avoir un c:\temp\SomeFolder\.git dossier il peut être supprimé.
Il est la plus parfaite solution que j'ai obtenu après avoir cherché 63 h..Il a travaillé pour moi sans aucune erreur
OriginalL'auteur Bent Tranberg
Solution rapide
Bâtiment sur Ray Hayes option 2 réponse, j'ai mis en place un script qui doit être simple à utiliser pour ceux qui veulent juste rapide et sale de la solution. Vous devriez lire son aswer pour plus d'info.
Pour l'utiliser:
tf.exe ne peut pas être situé dans le même répertoire que je l'ai en,
surtout si vous lisez ceci dans le futur 🙂
.
tf workspace /new
: Il adapte automatiquement la racine du serveur ($) pour le répertoire de travail en cours lors de la création de l'espace de travail. Si vous avez besoin d'être dans un autre répertoire que vous souhaitez pour obtenir les fichiers dans, autrementtf workfold /map
va se plaindre qu'il y a déjà une cartographie de ce dossier local. Mon correctif: Après la création d'un nouvel espace de travail, j'ai supprimer le mappage de racine:%TF_DIR%\tf workfold /unmap $/ /workspace:tmp_batchws
OriginalL'auteur Silas Hansen
Il n'est pas "facile" option quand il s'agit de TFS lignes de commande - ils impliquent presque toujours un tas de frappe (comme ne pas être en mesure de simplement avoir un réglage par défaut de sorte que vous n'avez pas à spécifier une URL de la collection sur chaque commande)
La façon habituelle de faire TFS lignes de commande "simple" est d'écrire des fichiers par lots pour cacher tous les détails qui doivent être spécifiés à chaque fois (Url du serveur et recurse drapeaux etc)
TF.exe ne vous permettent de faire presque n'importe quoi, de ce fait, il est assez simple séquence de tf appels pour créer un mappage temporaire, faire un Get et et supprimer le mappage de nouveau.
OriginalL'auteur Jason Williams
http://johannblais.blogspot.com/2014/07/tfs-equivalent-of-svn-export.html
http://tfs-server:port/tfs/Collection/TeamProject/Team/_api/_versioncontrol/itemContentZipped?repositoryId=&path=url-encoded-source-control-path
8080)
chemin de contrôle (par exemple, $/Projet1/Main/Sources/Dossier/sous-dossier devient %24%2FProject1%2FMain%2FSources%2FFolder%2FSubFolder
OriginalL'auteur JJS
j'ai écrit le powershell pour le leader de la réponse
OriginalL'auteur Don Fouts