Git-submodule, presque le svn:externals de GIT
Depuis le 27 février 2008, j'ai finalement décidé d'abandonner l'utilisation de mercurial dans mon projet Pictrails. J'ai fini par migré vers GIT. En effet, GIT est énormément utilisé par la communauté Ruby et c'est un très bon SCM. Un peu plus rapide que Mercurial et avec de meilleurs outils annexe comme par exemple git-svn. Voici par exemple un autre point qui me fait pencher un peu pour GIT. Il s'agit de git-submodule.
Un des gros points fort de SVN est la propriété svn:externals, qui permet de faire pointé un répertoire vers un autre repository SVN. Cette fonctionnalité n'existe pas à ma connaissance sous mercurial. Mais sous GIT, il y a git-submodule. C'est pas aussi bien que svn:externals, mais c'est déjà pas mal. En effet, le seul défaut de git-submodule est de ne pas pouvoir récupérer qu'une partie du dépôt GIT, comme un dossier en particulier. On est obligé de tout récupéré. svn:externals pouvait limiter la dépendance par contre. Je trouverais peut-être un palliatif.
Comment utiliser git-submodule ? Il faut d'abord trouver le repository GIT que l'on veux dupliquer dans son projet GIT. Un fois celui-ci trouvé, il faut l'ajouter comme submodule :
$ git submodule add <<repo>> /directory/
Une fois que c'est fait, un dossier .gitsubmodule est créé et il faut donc l'ajouter au versionning, le commiter et le push.
Par contre, si vous faite un pull du repository GIT qui contient ce submodule, le téléchargement des sous-modules ne se fait pas automatiquement. En conséquence, il faut penser a réaliser un init et un update des submodules.
$ git submodule init $ git submodule update
Pareil, la mise à jour des submodules ne se fait pas automatiquement. Il faut faire un petit update de temps en temps.
$ git submodule update
Sam 08 mars 2008 21:56 Publié sous Informatique
If you liked this article you can add me to Twitter
2 commentaires »
-
By Thomas 7 months later:
-
By shingara 7 months later:
Une des choses qui m'a fait basculer de mercurial à GIT est le support de git-submodule, mais aussi github qui est vraiment une superbe platforme.
Après Mercurial est très bien et surtout plus facile a utiliser simplement. Mais Git permet de faire des chose vraiment impressionnante. Le plus dur est de les trouver.
Bonjour,
Pourquoi êtes-vous passé de Mercurial à Git? Avec le recul trouvez-vous qu'il y a vraiment un gain qui justifie de franchir le pas?
J'aime beaucoup la simplicité d'installation de Mercurial.