Bonjour.
A la recherche d'un gestionnaire de vrsions, je me suis ms à tester GIT. Ce que j'en ai vu me plait bien : très simple à prendre en main, et il ne fait rien de plus que ce qu'on lui demande, mais il le fait bien.
Par contre je n'ai pas encore réussi à comprendre un petit truc : est-il possible d'utiliser le protocole http(s) pour faire un push vers un référentiel disponible sur le web ? Le but est de pouvoir synchroniser un référentiel public à partir d'une copie de travil privée derrièer un proxy.
Si GIT n'en est pas capable, en conaissez-vous un qui le fasse ?
Merci d'avance.
# Oui
Posté par Pascal Terjan (site web personnel) . Évalué à 4.
http://www.kernel.org/pub/software/scm/git/docs/git-push.htm(...) parle entre autre de https://
[^] # Re: Oui
Posté par totof2000 . Évalué à 4.
Il y a bien une autre question : côté serveur public ça s'interface bien avec un Apache ? (de mémoire me semble-t-il, il est possible d'utiliser un serveur HTTP Git mais je souhaiterais un peu plus de précisions).
Il y a un doc ici ( http://www.kernel.org/pub/software/scm/git/docs/v1.6.5/howto(...) ), mais je voulais savoir comment snt gérés les droits d'accès au référentiel : est-ce au niveau d'Apache qu'il faut définir les droits de modifier le référentiel ? Y a-t-il des pièges à éviter ? Mon seul retour d'expreience pour ce genre d'outil est la mise en place d'un repository svn via http (en passant par un reverse proxy) et pour git j'ai un peu de mal à me faire une idée sur la mise en place et la façon de le paramétrer et l'utiliser dans ce contexte.
C'est un peu tard pour m'y mettre ce soir mais je pense que je tenterai l'expérience demain.
[^] # Re: Oui
Posté par totof2000 . Évalué à 0.
Il y a bien une autre question : côté serveur public ça s'interface bien avec un Apache ? (de mémoire me semble-t-il, il est possible d'utiliser un serveur HTTP Git mais je souhaiterais un peu plus de précisions).
Il y a un doc ici ( http://www.kernel.org/pub/software/scm/git/docs/v1.6.5/howto(...) ), mais je voulais savoir comment snt gérés les droits d'accès au référentiel : est-ce au niveau d'Apache qu'il faut définir les droits de modifier le référentiel ? Y a-t-il des pièges à éviter ? Mon seul retour d'expreience pour ce genre d'outil est la mise en place d'un repository svn via http (en passant par un reverse proxy) et pour git j'ai un peu de mal à me faire une idée sur la mise en place et la façon de le paramétrer et l'utiliser dans ce contexte.
C'est un peu tard pour m'y mettre ce soir mais je pense que je tenterai l'expérience demain.
[^] # Re: Oui
Posté par totof2000 . Évalué à 0.
Il y a bien une autre question : côté serveur public ça s'interface bien avec un Apache ? (de mémoire me semble-t-il, il est possible d'utiliser un serveur HTTP Git mais je souhaiterais un peu plus de précisions).
Il y a un doc ici ( http://www.kernel.org/pub/software/scm/git/docs/v1.6.5/howto(...) ), mais je voulais savoir comment snt gérés les droits d'accès au référentiel : est-ce au niveau d'Apache qu'il faut définir les droits de modifier le référentiel ? Y a-t-il des pièges à éviter ? Mon seul retour d'expreience pour ce genre d'outil est la mise en place d'un repository svn via http (en passant par un reverse proxy) et pour git j'ai un peu de mal à me faire une idée sur la mise en place et la façon de le paramétrer et l'utiliser dans ce contexte.
C'est un peu tard pour m'y mettre ce soir mais je pense que je tenterai l'expérience demain.
[^] # Re: Oui
Posté par totof2000 . Évalué à 2.
# Mercurial
Posté par GeneralZod . Évalué à 3.
Mercurial utilise un protocole basé sur http, support du push inclus. Par défaut, pour la publication de dépôt, c'est du https.
Git est pas très efficace over http, pour la publication de dépôt, il est recommandé de proposer un accès via le protocole Git avec git-daemon. En revanche, pas de push (enfin si, mais sans authentification donc ça revient au même), faut passer par autre chose (comme ssh par exemple) mais c'est pas génant pour un dépôt en lecture seule.
Tu as pléthore de CGI pour publier un dépôt Mercurial (hgwebdir.cgi) ou Git (gitweb.cgi inclus dans la distribution officielle, mais également gitosis, cgit etc ...), donc ça s'interface bien avec un serveur web comme Apache ou lighty.
J'utilise régulièrement les deux, git est extrêmement complet mais plus "rugueux" en terme d'interface utilisateur même si ça c'est beaucoup amélioré depuis, Mercurial offre une interface utilisateur plus cohérente/saine, beaucoup de fonctionnalités équivalentes à Git sont proposés à travers des extensions (souvent incluses dans la distribution standard). Après, c'est les goûts et les couleurs, les deux sont très bien.
[^] # Re: Mercurial
Posté par GeneralZod . Évalué à 2.
[^] # Re: Mercurial
Posté par totof2000 . Évalué à 3.
Git est pas très efficace over http,
J'ai l'impression qu'il n'a pas été fait pour ça .... mais ce n'est qu'une impression. Autre question concernant la façon de travailler de Mercurial : stocke-t-il un diff des fichiers ? Est-il possible de versionner des fichiers binaires efficacement ?
[^] # Re: Mercurial
Posté par GeneralZod . Évalué à 4.
Tu as peut-être lu l'introduction de Git présentant les types d'objets de bases: blob, tree, commit et tag. Tu retrouves les mêmes concepts dans Mercurial sous les noms: file, manifest, changeset et tag. Comme dans Git, chaque objet est identifié par un checksum SHA, en interne ça fonctionne quasiment pareil.
Effectivement, Mercurial conserve des diffs des fichiers (texte ou binaire, il ne fait pas la différence) ou delta selon la terminologie de Mercurial.
Quant au versionning de fichiers binaires, les VCS sont conçus pour suivre des fichiers humainement lisible, et les concepts de diffs/merge leurs sont difficilement applicables. C'est même le seul cas à ma connaissance où un VCS traditionnel s'en sort mieux que les VCS distribués de par l'absence de la notion de verrouillage de fichiers (fusionner des modifications concurrentes d'une image par exemple n'a aucun sens). Comment gérer le versionnage des fichiers OpenDocument ? un changement de lettre et pouf tu stockes quasiment tout le document à cause de la compression, comment effectuer un diff/merge efficace ?
Si ça t'intéresse un article sur le versionnage des fichiers odt dans mercurial/git
http://www-verimag.imag.fr/~moy/opendocument/
D'après les benchmarks de git, mercurial est plus efficace que git sur le versionnage de fichiers binaires (c'est avec le pull et le merge, les seuls domaines où mercurial dépasse git niveau performances).
http://git.or.cz/gitwiki/GitBenchmarks
[^] # Re: Mercurial
Posté par totof2000 . Évalué à 2.
oui.
u retrouves les mêmes concepts dans Mercurial sous les noms: file, manifest, changeset et tag. Comme dans Git, chaque objet est identifié par un checksum SHA, en interne ça fonctionne quasiment pareil.
OK, de toute façon je ne pense pas qu'il y ait 10000 façons de faire ....
Si ça t'intéresse un article sur le versionnage des fichiers odt dans mercurial/git
http://www-verimag.imag.fr/~moy/opendocument/
Merci, effectivement que ça m'intéresse :). En fait le stockage de binaires m'intéresse pour pouvoir stocker des schémas d'analyse (schemas UML par exemple) d'un petit développement ou de tutoriels (que je compte diffuser quand ce sera prêt). Mon développement cera probablement fait avec Ruby/Rails, et j'ai vu à ce sujet comment faire avec Git (je ne pense pas que ça doit changer beaucoup avec Mercurial).
Merci pour ces informations : ( +1 à tous ceux qui m'ont répondu). JE vais tester Mercurial : d'après ce que tu m'en dis il semble mieux adapté à ce besoin (j'utiliserai GIT dans d'autres circonstances : je vois déjà à quoi il pourra me servir).
# git-svn
Posté par Yves Agostini (site web personnel) . Évalué à 2.
http://www.crium.univ-metz.fr/docs/devel/git/
la doc pour la config d'un serveur apache avec svn est ici
http://www.crium.univ-metz.fr/docs/system/svn/
[^] # Re: git-svn
Posté par totof2000 . Évalué à 2.
+1 également.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.