SVN

Bonjour tout le monde,



dites je voulais savoir (je ne sais si cela a été déjà  débordé sur ce forum) si des tutos qui expliquent comment mettre en place et utiliser l'outil svn sur Xcode.



Merci d'avance.

Réponses

  • CéroceCéroce Membre, Modérateur
    Disons qu'il n'y a rien de très spécifique à  Xcode.



    À ma connaissance, Xcode 4 ne permet pas de créer de dépôt SVN, il faudra donc utiliser un autre outil (ligne de commande...).

    Ensuite, tu pourras ajouter le dépôt à  Xcode et exécuter les opérations courantes (commit, update, checkout, etc.).
  • yoannyoann Membre
    Et vu la perte de qualité entre l'intégration SVN de Xcode 3 à  Xcode 4 il vaut mieux choisir d'utiliser GIT plutôt que SVN si on a le choix. C'est clairement le gestionnaire de version pour lequel est conçu Xcode aujourd'hui.
  • jojolebgjojolebg Membre
    mai 2012 modifié #4
    Je confirme pour la perte de qualité de l'intégration SVN sur Xcode4.

    Sur un projet sur lequel je bosse, l'utilisation de SVN via Xcode est imposible. On à  récemment (marre que Xcode nous empêche de bossé en équipe convenablement) préféré passer par un git-svn. C'est à  dire qu'on a gardé notre serveur svn, mais on utilise un dépôt local GIT sur chaque machine, qui synchronisera les commits et les versions sur le serveur svn. (avec l'utilitaire git-svn fournie avec git)
  • AliGatorAliGator Membre, Modérateur
    Je suis pareil, depuis que j'ai découvert git-svn, permettant d'avoir tous les avantages de GIT en local tout en pouvant attaquer un serveur SVN, je suis fan.
  • Merci pour vos réponses, du coup j'imagine que git-svn est le plus adéquoi.

    Du coup, comment on met en place cet utilitaire et ou le trouver déjà  ?
  • Il est installé avec git.

    man git-svn
  • C'est clair qu'on arrive enfin à  bosser en collaboratif avec git svn ! hein Jojo ?
  • MalaMala Membre, Modérateur
    J'ai jamais été convaincu par Xcode pour la gestion en version. Je préfère un vrai explorateur comme Cornerstone. Gestion de branches, merges en deux cliques, timeline. Un vrai outil productif quoi...
  • Finalement c'est quoi l'intérêt de git-svn par rapport à  git tout court ?

    Vous l'utilisez quand vous êtes obligé d'archiver sur un server svn ?



    Quelqu'un a déjà  utilisé l'équivalent pour Perforce ? git-p4 ?
  • AliGatorAliGator Membre, Modérateur
    Oui le gros avantage de git-svn c'est de s'interfacer avec un serveur SVN, car en entreprise il y a encore beaucoup d'infrastructures qui sont sous SVN et ne compte pas forcément passer à  GIT.
  • CéroceCéroce Membre, Modérateur
    svn est plus simple à  déployer que git (si!).

    Le gros argument de git est qu'il décentralisé, mais dans les faits, il faut toujours centraliser au moins le code de l'appli finale.

    Quand on a investi dans svn, passer à  git n'est pas si intéressant que ça.
  • 'Céroce' a écrit:


    svn est plus simple à  déployer que git (si!).

    Le gros argument de git est qu'il décentralisé, mais dans les faits, il faut toujours centraliser au moins le code de l'appli finale.

    Quand on a investi dans svn, passer à  git n'est pas si intéressant que ça.




    Je confirme, c'est un vaste merdié à  déployer git, d'autant qu'il n'y a aucun serveur officiel de ce truc, qui est un hack immonde du SSH, donc fun quand il faut l'intégrer dans un serveur propre, over http avec gestion des identités.
  • FKDEVFKDEV Membre
    juillet 2012 modifié #14
    Puisqu'on a dérivé vers le git ranting...



    Pour moi, qui ne travaille pas sur le noyau de linux, git apporte vraiment un plus sur l'aspect "gestion local" avec les branches et l'historique local, ce qui me permet de travailler proprement et de manière souple en nomade.

    Par contre l'aspect très distribué est plutôt un frein dans des configurations traditionnelles où, de toutes façons, tout le monde a accès à  un réseau interne.

    Donc je pense que pas mal de jeunes équipes se la pète avec git parce que c'est tendance. Mais, au final, ils ont un workflow moins pratique pour travailler en équipe qu'avec svn ou Perforce. Et, souvent, ils s'emmêlent les pinceaux dans les lignes de commande de git qui ne sont pas très intuitives.

    Et ça manque franchement de GUI correctes.
  • 'FKDEV' a écrit:


    Puisqu'on a dérivé vers le git ranting...



    Pour moi, qui ne travaille pas sur le noyau de linux, git apporte vraiment un plus sur l'aspect "gestion local" avec les branches et l'historique local, ce qui me permet de travailler proprement et de manière souple en nomade.

    Par contre l'aspect très distribué est plutôt un frein dans des configurations traditionnelles où, de toutes façons, tout le monde a accès à  un réseau interne.

    Donc je pense que pas mal de jeunes équipes se la pète avec git parce que c'est tendance. Mais, au final, ils ont un workflow moins pratique pour travailler en équipe qu'avec svn ou Perforce. Et, souvent, ils s'emmêlent les pinceaux dans les lignes de commande de git qui ne sont pas très intuitives.

    Et ça manque franchement de GUI correctes.




    ça manque de GUI et de recentralisation.



    Git est génial pour bosser vis à  vis du système de commit local puis push, c'est vraiment ce point là  qui est intéressant.



    Mais d'origine il n'y a rien pour structurer un travail d'équipe un temps soit peu sérieux sans perdre de temps. Ce qui a réellement fait le succès de Git c'est GitHub, sans cela Git ne serait pas utilisé à  mon avis.
  • AliGatorAliGator Membre, Modérateur
    Moi pour la GUI j'utilise GitX. Pas trop mal et gratuit. Pas non plus révolutionnaire, mais pour les bons produits, genre Tower & co, ça devient payant.



    GIT est intéressant pour ses commits locaux, mais aussi pour son système de "stash" très utile. Et pour 2-3 autres trucs sympas (genre "git archive" pour exporter toutes les sources en ZIP, sans avoir à  faire un export + zip + delete comme avec SVN).

    Mais son gros frein oui c'est le manque de serveur. Si c'était simple d'installer un serveur GIT, il serait bcp plus utilisé. Comme ça ne l'est pas, et que les serveurs sont en général sous Subversion, on utilise git-svn pour avoir le meilleur des deux mondes.



    Pour un travail en équipe, un git-svn est vraiment le top je trouve, car permet de faire des commits locaux quand tu es chez le client une journée ou autre sans accès au réseau d'entreprise, par exemple, et permet de stasher tes modifs quand y'a ton chef qui dit "attends y'a un bug urgent à  corriger là  arrête tout ce que tu fais et corrige-le avant tout le reste", tu corriges, tu commit, et tu destash, c'est super pratique. Mais GIT tout seul sans serveur, par contre là  oui c'est pas du tout adapté à  du travail en équipe. C'est pour ça qu'il faut avoir soit un GIT avec serveur (façon github), soit utiliser git-svn et avoir un serveur SVN derrière.
  • juillet 2012 modifié #17
    @Aligator et pourquoi tu n'utilises pas l'application OS X -de GitHub ?
  • AliGatorAliGator Membre, Modérateur
    'ldesroziers' a écrit:


    @Aligator et pourquoi tu n'utilises pas l'application OS X -de GitHub ?
    Pour les projets github, oui il a des bons points. Mais il ne supporte pas les projets GIT-SVN par contre, si ? Je veux dire il ne supporte que la partie "GIT", donc faut faire les "git svn rebase" et "git svn dcommit" manuellement via le terminal...
  • @AliGator je fais des "git svn dcommit" manuellement apres mes commit/pull via XCode, y a moyen d'automatiser ?
  • AliGatorAliGator Membre, Modérateur
    @Mistunk : Mmhhhh j'ai jamais regardé, je n'utilise pas trop l'outil de gestion de version intégré à  Xcode, il ne me convient pas trop... Donc du coup comme je fais tout via GitX je sais pas trop s'il y a des choses qui peuvent être faites avec Xcode directement :-/
  • @AliGator t'as réponse à  le mérite de m'envoyer télécharger GitX pour le tester image/kiss.gif' class='bbc_emoticon' alt=':-*' />

    Par ailleurs si tu connais un BON client svn sous OS X je suis preneur... pour mes web services le client svn intégré à  netbeans fait quelques couacs...
  • CéroceCéroce Membre, Modérateur
    Pour svn, j'aime bien Versions.

    Certains préfèrent CornerStone, plus complet, mais que je trouve moins ergonomique.

    C'est un choix, moi je préfère un logiciel plus convivial au quotidien quitte à  jouer de la ligne de commande de temps en temps.
  • Je viens de migrer sur Mountain Lion et maintenant sur un "git svn dcommit" : "git: command not found", quelqu'un peut me dire si il a le même problème et surtout comment le résoudre ? image/rolleyes.gif' class='bbc_emoticon' alt='::)' />

    Merci d'avance
  • Les commandes line tools ne sont pas installés, par ailleurs si ça peut intéresser... :



    http://lifeandcode.net/2012/02/using-git-svn-on-os-x-10-8-developer-preview/
  • AliGatorAliGator Membre, Modérateur
    Bah tu as demandé à  Xcode d'installer les Command Line Tools, dans les prefs de Xcode, onglet "Downloads" ?
  • Je t'ai devancé d'une minute cher Ali :-)
  • AliGatorAliGator Membre, Modérateur
    Ah oui ^^

    Bon à  savoir pour la lib perl !
  • Je me permet de faire ressortir ce sujet.

    J'essaye de mettre en place la collaboration Git sur le projet sur lequel je suis.



    Voici les configurations:

    - dernière version de Lion (10.7.5)

    - dernière version d'x-code

    - un projet qui doit fonctionner à  partir de 5.1 sur iPhone et iPad avec Storyboard

    - sourceTree comme client git

    - un svn stocké sur un serveur local de l'entreprise



    bref tout va bien ... premier commit puis push

    après l'autre personne récupère le projet et essaye de le lancer pas de souci sur les simulateur 6 et 6.1 mais pas possible de le faire fonctionner sur le 5.1



    le message d'erreur :

    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard_iPhone' in bundle NSBundle </Users/*****/Library/Application Support/iPhone Simulator/5.1/Applications/9BE2F81E-7B93-4B0B-8D6A-6640BB8F93B2/*********.app> (loaded)'





    Quelqu'un à  déjà  eu le cas ?
  • xylowebxyloweb Membre
    février 2013 modifié #29
    perso, j'utilise snvX comme client subversion et parfois (je le reconnais) la ligne de commande ;-)
  • 'chatonSauvage' a écrit:


    Je me permet de faire ressortir ce sujet.

    J'essaye de mettre en place la collaboration Git sur le projet sur lequel je suis.



    Voici les configurations:

    - dernière version de Lion (10.7.5)

    - dernière version d'x-code

    - un projet qui doit fonctionner à  partir de 5.1 sur iPhone et iPad avec Storyboard

    - sourceTree comme client git

    - un svn stocké sur un serveur local de l'entreprise



    bref tout va bien ... premier commit puis push

    après l'autre personne récupère le projet et essaye de le lancer pas de souci sur les simulateur 6 et 6.1 mais pas possible de le faire fonctionner sur le 5.1



    le message d'erreur :

    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard_iPhone' in bundle NSBundle </Users/*****/Library/Application Support/iPhone Simulator/5.1/Applications/9BE2F81E-7B93-4B0B-8D6A-6640BB8F93B2/*********.app> (loaded)'





    Quelqu'un à  déjà  eu le cas ?




    Et le fichier MainStoryboard_iPhone il existe bien ? Si tu l'a pour iOS 6 je vois pas pourquoi tu l'aurais pas sur le 5... ça ne semble pas être un problème de GIT (sauf si tu as iOS 5 sur une machine et 6 sur l'autre, dans ce cas tu aura simplement oublié un add).



    Sinon c'est GIT ou SVN ? Car tu parle des deux dans ton post.
  • Git mais j'ai fais un joli mélange image/rolleyes.gif' class='bbc_emoticon' alt='::)' />

    Le fichier Storyboard est bien présent ainsi que tout les adds

    J'ai le même souci quand j'essaye de build la version iPad 5.1



    C'est étrange
Connectez-vous ou Inscrivez-vous pour répondre.