La version 1.1 sortie le 2 décembre apporte de nouvelles fonctionnalités, des améliorations et des corrections de bugs. Voici les points principaux des changements apportés par la version 1.1 :
- resolve : nouvelle commande pour garder une trace des fusions
- nouvelles extensions
- rebase : nouvelle extension gérant le portage de changesets d'une branche à l'autre
- bookmarks : nouvelle extension fournissant (en local seulement) des branches à la manière de git
- rebase : nouvelle extension gérant le portage de changesets d'une branche à l'autre
- nouveaux thèmes graphiques (interface web)
- amélioration de la gestion des chemins (sous Windows)
PS : pour changer l'apparence de l'interface web, il suffit de remplacer le nom du style par l'un des trois suivants : paper, coat, monoblue
Aller plus loin
- Page principale (33 clics)
- La liste des changements (2 clics)
- La liste des changements (traduction) (23 clics)
- Page de présentation de l'interface web (6 clics)
# Configuration
Posté par peck (site web personnel) . Évalué à 10.
[^] # Re: Configuration
Posté par Jonathan ILIAS-PILLET (site web personnel) . Évalué à 2.
[^] # Re: Configuration
Posté par BAud (site web personnel) . Évalué à 2.
http://fr.wikipedia.org/wiki/Gestion_de_configuration_logici(...) à la lecture du § "différences"
[^] # Re: Configuration
Posté par benoar . Évalué à 3.
[^] # Re: Configuration
Posté par freeze . Évalué à 4.
- plus de lettres
- moins de sens (vu qu'il est utilisé pour tout)
[^] # Re: Configuration
Posté par BAud (site web personnel) . Évalué à 2.
La gestion de version des sources n'est que le coeur de l'oignon de gestion des développements, il y a la gestion des demandes et le suivi des déploiements dans les différents environnements (dév', recette, intégration, préproduction, production...) qui fait toute la gestion de configuration. (Tout cela pour être en mesure de répondre rapidement "telle fonctionnalité est-elle présente en production ?" :D).
Donc bon, quand tu es aux études et qu'on te parle de gestion de configuration, ça répond principalement en terme de gestion de version des sources et des livraisons, de fait j'identifie le glissement sémantique à ce niveau...
[^] # Re: Configuration
Posté par benoar . Évalué à 2.
[^] # Re: Configuration
Posté par Bozo_le_clown . Évalué à 3.
C'est un peu une snapshot
[^] # Re: Configuration
Posté par Bozo_le_clown . Évalué à 3.
On parle d'article de configuration pour chaque élément qui obéit aux processus de GCL. C'est en quelque sorte l'atome de la GCL dont chacune des version peuvent être identifiés. C'est en général les fichiers soumis au contrôle de version
Une configuration permet d'identifier tout ce qui permet de reconstituer un état le système dans sa globalité Elle permet d'identifier une version pour chacun des articles de configuration.
Historiquement le outils de gestion de version (RCS) ne permettaient pas d'identifier des configurations (basaeline)et traitaient chaque fichier indépendamment.C'est pourquoi on faisait la différent entre outil de contrôle de version et outil de gestion de configuration
Avec un outil comme SVN, à chaque fois que tu commites un fichier ou un changeset tu crées une nouvelle configuration.
Chaque outil apporte des fonctionnalités différentes et se réclame outil de GCL ce qui apporte un peu de confusion
Ainsi Clearcase apport des fonctionnalités au niveau du build (audit de fabrication) qui permettent de garantir qu'un système sera reconstruit à l'identique à partir des mêmes version des sources.
Vesta (outil libre va encore plus loin dans cette direction http://www.vestasys.org/)
Perforce apporte des fonctionnalité pour géré les changeset et s'en réclame aussi, ...
Attention la gestion des changement est différente de la GCL
http://fr.wikipedia.org/wiki/ITIL.
[^] # Re: Configuration
Posté par BAud (site web personnel) . Évalué à 2.
et moi aussi j'avais en tête ITIL pour lequel la gestion de configuration est un des composants contribuant à utiliser la CMDB ou Configuration_Management_DataBase (et permettant de traiter le volet SCI, les HCI pouvant être intégrés à des outils comme GLPI aka Gestion_libre_de_parc_informatique, d'un côté le software, de l'autre les Hardware Component Items). Désolé pour l'anglais, il reste omniprésent au sein d'ITIL :/
[^] # Re: Configuration
Posté par Bozo_le_clown . Évalué à 3.
La notion de "Software Configuration Management " est assez controversée.
Preuve en est ses moultes définitions:
http://www.cmcrossroads.com/cgi-bin/cmwiki/view/CM/SoftwareC(...)
Bonne chance
[^] # Re: Configuration
Posté par BAud (site web personnel) . Évalué à 2.
Merci pour ton lien, ça permet toujours de bien démarrer la journée un peu d'humour dès le matin :D
# Les thèmes hgweb
Posté par ribwund . Évalué à 7.
monoblue: http://hg.xavamedia.nl/mercurial/crew/?style=monoblue
paper (nouveau thème par défaut): http://hg.xavamedia.nl/mercurial/crew/
coal: http://hg.xavamedia.nl/mercurial/crew/?style=coal
spartan (l'ancien thème par défaut, plutot moche): http://hg.xavamedia.nl/mercurial/crew/?style=spartan
gitweb: http://hg.xavamedia.nl/mercurial/crew/?style=gitweb
L'autre nouveauté c'est le graphe:
http://hg.xavamedia.nl/mercurial/crew-stable/graph/8625504f5(...)
# Mercurial 2.0
Posté par vida18 . Évalué à 2.
[^] # Re: Mercurial 2.0
Posté par Stephane Jeannenot . Évalué à 1.
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 2.
Disons que le passage à unicode pour la gestion des noms de fichiers ne fait pas que des heureux pour un logiciel comme mercurial.
[^] # Re: Mercurial 2.0
Posté par Yth (Mastodon) . Évalué à 2.
Yth...
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 2.
[^] # Re: Mercurial 2.0
Posté par Yth (Mastodon) . Évalué à 3.
Les noms de fichier sont majoritairement ascii, donc quel que soit l'encodage, UTF-8, iso-8859-1, ou que sais-je, ils sont codés de la même manière, et fonctionnent pareil.
Décider que tout sera en UTF-8 ressemble quand même à une bonne idée pour éviter des tas d'emmerdes : les divers encodages de caractères sont depuis toujours une inépuisable source d'emmerdes et de complexités.
Donc quel peut bien être le problème des noms de fichiers UTF-8 utilisés avec Mercurial ?
Yth, vraiment perplexe.
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 1.
Par exemple, si les noms de fichiers sont en UTF-8, mais que pour une raison ou pour une autre (par exemple ton programme est lancé depuis cron), mercurial est lancé avec la locale "C", alors si on considérait les noms de fichiers comme autre chose que des bytes, alors ça planterait (on ne peut pas ouvrir certains fichiers par exemple).
Maintenant le problème pour nous en dehors de transformer tous les open/listdir/etc en version bytes (bon a priori on est déjà en binary mode à cause de windows donc les open ça doit être bon) c'est que l'API bytes n'est pas complete, par exemple au niveau de sys.argv et os.environ.
Et à mon avis il y encore d'autres problèmes qui n'ont pas été résolus par exemple je n'ai aucune idée de comment on peut écrire des bytes dans sys.stdout.
[^] # Re: Mercurial 2.0
Posté par Antoine . Évalué à 2.
>>> import sys
>>> f = open(sys.stdout.fileno(), "wb", buffering=0)
>>> f.write(b"abc")
abc3
(le "3" étant la valeur de retour de f.write(), affichée par l'interpréteur interactif)
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 2.
[^] # Re: Mercurial 2.0
Posté par Antoine . Évalué à 3.
La même raison pour laquelle on n'a pas le droit de concaténer bytes et unicode : parce que sémantiquement ça ne veut rien dire. Si vraiment tu veux le faire, tu dois gérer l'encodage à la main et ça te force à réfléchir à ce que tu fais : explicit is better than implicit.
Une autre raison plus pragmatique est que lors du portage d'un programme de Python 2.x à Python 3.x, il y a forcément des endroits où l'on passe des bytes par erreur plutôt que de l'unicode. Du coup, avoir une API standard relativement stricte vis-à-vis de cela permet de détecter les erreurs plus tôt.
(dans le cas de Mercurial, j'imagine que vous ferez presque tout en bytes de toute façon)
---
Note : la solution que je t'ai donnée est sous-optimale car elle recrée un objet fichier. On peut plus simplement faire :
>>> f = sys.stdout.buffer
>>> f
<io.BufferedWriter object at 0xb7c78fec>
>>> f.write(b"abc")
abc3
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 2.
[^] # Re: Mercurial 2.0
Posté par Antoine . Évalué à 1.
Et une mailing-list spécifique a été créée : http://mail.python.org/mailman/listinfo/python-porting
[^] # Re: Mercurial 2.0
Posté par vida18 . Évalué à 2.
et il m'a assuré que la futur version majeur utilisera Python 3.0.
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 4.
Perso j'ai plutot entendu Matt troller pour dire que il préférait encore Ruby à python3.
A moins qu'une version majeure soit un redesign important (un futur hypothétique hg-ng), je ne pense pas que python3 sera supporté (même si des efforts sont fait pour faciliter la conversion avec 2to3.py), la compatibilité avec les anciennes versions python (2.3 à 2.6) restant prioritaire.
[^] # Re: Mercurial 2.0
Posté par vida18 . Évalué à 1.
On peut lui écrire à cette adresse : mpm@selenic.com
[^] # Re: Mercurial 2.0
Posté par Stephane Jeannenot . Évalué à 1.
Même si Mercurial m'a au début un peu dérouté je m'y suis habitué rapidement. Je suis aussi utilisateur de SVN et Clearcase (pro). Ce que j'aime est le stockage des informations de configuration dans le répertoire .hg avec l'absence de serveur (même local) car sous certaines contraines (utilisation/accès/environnement) il me permet de faire de la micro-gestion de mes sources.
[^] # Re: Mercurial 2.0
Posté par ribwund . Évalué à 2.
Je n'ai entendu que Matt dire ça, et c'était sous forme de boutade.
[^] # Re: Mercurial 2.0
Posté par BAud (site web personnel) . Évalué à 4.
[^] # Re: Mercurial 2.0
Posté par Gniarf . Évalué à 4.
# Conversion transparente depuis et vers git ?
Posté par Mildred (site web personnel) . Évalué à 2.
L'histoire c'est que j'aimerais bien pouvoir utiliser mercurial (que j'adore) à la place de git pour les projets utilisant git. Je sais que l'utilisation est très similaire, mais il y a quand même des différences ...
[^] # Re: Conversion transparente depuis et vers git ?
Posté par ribwund . Évalué à 2.
Ah si, aussi pendant le Google Summer of Code mentor summit à l'automne, il y a eu pas mal de discussions pour voir si on pourrait rapprocher le protocole réseau des deux projets.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Nicolas (site web personnel) . Évalué à 1.
J'hésite à choisir l'un ou l'autre.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Adrien . Évalué à 3.
la simplicité
le nombre de dépendance si tu est pas connecté à internet (python pour mercurial, plein d'extension perl pour l'autre…)
le tortoisehg pour les windosiens
Un comparatif amusant : http://importantshock.wordpress.com/2008/08/07/git-vs-mercur(...)
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Boa Treize (site web personnel) . Évalué à 2.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Adrien . Évalué à 2.
Depends: libc6 (>= 2.7-1), libcurl3-gnutls (>= 7.16.2-1), libexpat1 (>= 1.95.8), zlib1g (>= 1:1.2.0), perl-modules, liberror-perl, libdigest-sha1-perl
Recommends: patch, less, rsync, ssh-client
Suggests: git-doc, git-arch, git-cvs, git-svn, git-email, git-daemon-run, git-gui, gitk, gitweb
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Matthieu Moy (site web personnel) . Évalué à 1.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Boa Treize (site web personnel) . Évalué à 1.
3 binaires dans /usr/bin
107 binaires dans /usr/libexec/git-core
Ils ont tous les mêmes dépendances (bien réelles celles-là) :
- linux-gate.so.1
- /lib/libsafe.so.2
- libcurl.so.4
- libz.so.1
- libcrypto.so.0
- libc.so.6
- libdl.so.2
- libidn.so.11
- libldap-2.3.so.0
- librt.so.1
- libssl.so.0
- /lib/ld-linux.so.2
- libpthread.so.0
C'est à dire : glibc, zlib, openssl, curl, libidn, openldap, et c'est tout.
Par ailleurs, il y a effectivement 21 scripts shell Bourne dans /usr/libexec/git-core, dont la plupart est rarement utilisée. Seuls 2 ou 3 sont utiles à un grand nombre.
Il y a aussi 8 scripts Perl dans /usr/libexec/git-core, essentiellement des importeurs et des exporteurs vers d'autres systèmes de gestion de conf (cvs, svn, etc.)
Il y a par ailleurs 2 programmes en TCL, mais ce sont des interfaces graphiques, Git est bien sûr utilisable sans.
Enfin, il y a bien un Git.pm, mais c'est une interface pour utiliser Git à partir de Perl, et non l'inverse.
Bref, pour une distribution qui adore tout découper en pitit packages, je suis surpris que Debian ait laissé traîner des dépendances vers Perl dans le package de base. Faudrait envoyer un patch.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Mildred (site web personnel) . Évalué à 1.
Déjà, savoir que git est fait en partie de script bash me fait peur (comprendre, est-ce que ça va bien marcher avec des noms de fichiers compliqués, contenant des espaces et caractères unicode ?).
Ensuite, c'est d'avantage multiplateforme. Même si j'utilise exclusivement gnu/linux, je n'aime pas forcer le choix d'une plateforme (les OS libres peuvent aussi être autre chose qu'unix).
Et puis, j'ai fait l'efort de lire complètement le manuel mercurial (parce que je voulais l'utiliser) et je comprend bien comment ça fonctionne. Il me semble que sur certains points de détail, git est différent, et ça peut être perturbant.
Un repository git peut devenir très gros si on ne fait pas de git repack de temps en temps. Cela oblige à faire des opérations de maintenance régulièrement (et le repack peut prendre du temps). Par contre, un repository git repaqueté sera plus léger qu'un repository mercurial (l'avantage de l'inconvénient).
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Boa Treize (site web personnel) . Évalué à 1.
Je crois qu'il ne reste que git-pull comme commande régulièrement utilisée et écrite en script shell. En dehors de ça, il y a plus d'une centaine de commandes binaires, pour une vingtaine de scripts shell, la plupart étant anecdotiques. Et je ne vois pas en quoi il y aurait un problème avec des caractères Unicode, ou en quoi Python en aurait moins.
Ensuite, c'est d'avantage multiplateforme.
À peine.
Un repository git peut devenir très gros si on ne fait pas de git repack de temps en temps.
À préciser. C'est quoi très gros ? C'est quoi de temps en temps ?
Beaucoup de peurs, d'incertitudes, et de doutes.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par SkyTux . Évalué à -1.
Voilà pourquoi, pour moi, Git est meilleur que Mercurial.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par ribwund . Évalué à 2.
[^] # Re: Conversion transparente depuis et vers git ?
Posté par Hank Lords . Évalué à 2.
D'autre part, les pull fonctionnent par http.
Tes autres arguments sont tout à fait valable (a part peut-etre le repack qui n'est pas très important)
[^] # Re: Conversion transparente depuis et vers git ?
Posté par ribwund . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.