6
votes

Comment puis-je utiliser TFS pour le développement de l'iPhone?

Je me luttais avec comment utiliser TFS comme référentiel de code source pour le développement de l'iPhone.

Mon patron ne me laissera jamais utiliser Subversion (ou Dieu interdit de perforce), alors j'étais coincé avec le contrôle de la source TFS. P >

La solution consiste à acheter des outils pour combler Mac à TFS et je n'essaie pas de faire de la publicité ici, mais la Suite Client Teamprise pour Mac OS X est le pont entre Mac OS X et TFS. P>

Pour les contrôles standard et le flux de travail de développeur, il n'y a pas d'intégration entre Xcode et TFS. Vous devez tout faire manuellement via le client Teamprise Explorer. P>

Pour les constructions, il s'avère que l'automatiseur et le client de ligne de commande Teamprise font le tour. P>

y a-t-il de xcode TFS Bridge Out là-bas? Quel système de contrôle de code source utilisez-vous pour le développement de l'iPhone? P>

La clé pour moi est le script Bash suivant intégré dans un flux de travail de l'automatiseur. P>

% 1 = dossier local pour faire un code Tirez à. % 2 = Nom du projet Pour faire la traction de. P>

Ce script suppose que le client de la ligne de commande Teamprise est installé sur ~ / Teamprise P>

PATH="$PATH:~/Teamprise:~/Teamprise/lib"

cd "$1"
mkdir "$1/logs"

tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wsdelete1.log

tf workspace -new BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wscreate.log

tf workfold -map "$/TFSRoot" . -workspace:BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/workfold.log

tf get "$/TFSRoot/$2" -all -recursive -server:http://TFSServer -login:uname@domain,password >> $1/logs/get.log

tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wsdelete2.log

#pump the tfs landing folder to the next step in the Automator script.
echo $1/Projects/$2


2 commentaires

En côté, je comprends que Perforce et TFS partagent l'ascendance commune, si c'est une consolation


Y a-t-il une question? Je n'arrive pas à le voir!


3 Réponses :


3
votes

tandis que Xcode interne utilise un système de plug-in pour prendre en charge différents systèmes de contrôle de version, il n'est pas public ou documenté. Outre un support minimal, comme en exécutant des scripts de commande Commandline, aucune manière prise en charge d'utiliser des systèmes de contrôle de version, à l'exception de ces navires Xcode avec.

Vous devriez Fichier Un bogue avec Apple demandant une prise en charge natale pour TFS ou un système de plugin VCS pris en charge pour Xcode.

Quoi qu'il en soit, à court terme, je ne pense pas que vous trouverez une solution satisfaisante à votre problème.


0 commentaires

7
votes

comme Louis états, Xcode Ne fournit pas actuellement à un modèle de plug-in accessible publiquement pour nous ( Teamprise ) pour fournir une intégration TFS avec - C'est quelque chose que nous aimerions faire.

Nous avons expérimenté quelques hacks - comme prétendant être la ligne de commande de perforce et parler à TFS à la place, ces preuves internes des concepts n'ont jusqu'à présent pas très bien fonctionné - d'autant plus que nous voudrions idéalement Avoir un suivi d'élément de travail lié en quelque sorte aussi bien de pouvoir associer des enregistrements avec des bugs, etc.

Aujourd'hui, la majorité de nos clients qui utilisent Teamprise pour parler à TFS à partir de Xcode font donc l'utilisation de l'outil d'interface utilisateur autonome ( Teamprise Explorer ) ou font des actions d'automatiseur comme si vous suggérez de vous connecter à ligne de commande TF .

excuses que ce n'est pas une excellente expérience. Tout ce que je peux suggérer, c'est que vous Fichier un bogue avec Apple pour fournir un modèle de plug-in pour SCM Systems à Accrocher à Xcode. J'espère que s'il existe une demande de développeurs importante, nous aurons peut-être plus de chance que nous le demandons.


2 commentaires

Merci pour l'explication du côté de la teamprise. Je vais marquer cela comme la réponse pour l'instant, et aussi déposer un bogue avec Apple. Je suis très heureux de la Suite Teamprise (encore une fois, n'essayez pas de faire de la publicité) Cela a répondu à mes besoins et est incroyablement stable compte tenu de la quantité de fonctionnalité. Sur la base de mon expérience de la WWDC 2009, j'ai l'impression que cette demande à l'équipe Xcode tombera sur des oreilles sourdes. Les modèles de plug-in du code source XCode ne sont pas aussi importants que leurs autres priorités d'IDE pour créer des outils permettant aux développeurs de créer des applications superstables iPhone / Mac OS X.


Je suis d'accord avec vous sur les priorités de Xcode probables - toutefois si nous ne demandons pas que nous ne recevons pas :-) Ajouter un support Xcode est quelque chose que nous aimerions le faire, je vais continuer à encourager les gens à se plaindre jusqu'à ce qu'il soit possible de se plaindre. nous pour l'ajouter :-)



3
votes

Si vous devez vous intégrer à un serveur TFS, votre meilleur itinéraire à l'heure actuelle consiste à utiliser Svnbridge puis connectez-vous au pont via la fonctionnalité de subversion intégrée de Xcode.

En outre, l'installation d'un serveur VisualSVN pour la première fois m'a pris moins de 15 minutes pour une installation de base et une autre en configuration de la configuration des utilisateurs et d'obtenir le certificat SSL signé par le certificat racine de notre société. Essayez, c'était vraiment facile.


2 commentaires

J'ai une équipe interne de Wizards TFS qui sont surchargés et en sous-effectifs. Si je mentionne le déploiement, la maintenance, la sauvegarde et le suivi d'un serveur SVN séparé ... Eh bien, ça va devenir laid. La solution basée sur la teamprise met le résultat du travail sur le développeur, mais il a le moins de pièces mobiles.


Ça a du sens; L'ajout d'un service SVN supplémentaire va simplement gagner plus de maintenance pour eux.