Darcs se distingue d'autres systèmes de contrôle de versions distribués comme Git ou Mercurial par :
- Un modèle sémantique et non chronologique des changements ;
- Sa gestion native et intégrée du ramassage de cerises (cherry-picking) ;
- Son interface interactive et simple.
Parmi les améliorations de la nouvelle version :
- Record et pull sont plus rapides ;
- Trackdown procède par bissection, comme git bisect ;
- Pas mal d'améliorations de l'interface.
Darcs est aussi l'un des programmes écrits en haskell les plus importants (avec xmonad). Avec cette nouvelle version, le travail d'amélioration des performances de Darcs se poursuit. Les entrées-sorties ont été rationalisées, et l'enregistrement des changements ne perd plus de temps à réécrire des données déjà connues comme le faisaient les versions précédentes, d'où un « record » et un « pull » en temps constant plutôt que linéaire.
La version 2.8, la prochaine dans les tuyaux, est prévue pour mai 2011. Quelques améliorations déjà codées pourraient arriver à ce moment-là :
- L'amélioration des performances des commandes annotate (git blame) et get (clone) ;
- Un meilleur marquage des conflits ;
- Une nouvelle commande, rebase, qui permet de gérer les cas où la fusion automatique ne permet pas de récupérer les changements que l'on souhaite (en pratique, les cas où git rebase est utile sont couverts par Darcs pull sans l'intervention de l'utilisateur ou Darcs amend-record en cas de conflit, il s'agit de gérer les cas plus difficiles).
Aller plus loin
- Darcs (26 clics)
- La version 2.5 (5 clics)
- Les fonctionnalités de Darcs (13 clics)
- Le modèle sous-jacent (6 clics)
- Les différences entre Darcs et git/hg (14 clics)
- Le langage haskell (4 clics)
# Hébergement
Posté par barmic . Évalué à 4.
http://patch-tag.com
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Hébergement
Posté par barmic . Évalué à 9.
http://wiki.darcs.net/Hosting
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
# ?
Posté par CrEv (site web personnel) . Évalué à 10.
franchement, pourquoi tenter de traduire, littéralement, un terme qui n'a aucune signification en français ? D'ailleurs on le voit bien puisque sans la parenthèse c'est incompréhensible.
[^] # Re: ?
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 10.
[^] # Re: ?
Posté par CrEv (site web personnel) . Évalué à 2.
[^] # Re: ?
Posté par galbolle . Évalué à 3.
C'est le nom de la commande dans git ou hg, qui ont besoin d'une commande spécifique. Dans darcs, c'est juste pull qui ne t'oblige pas à prendre les changements dans l'ordre chronologique. De plus, le traitement des changements que tu as sélectionnés n'a rien de particulier: tu n'as pas de merge à faire à l'arrivée, et les patches gardent leur identité. Ça permet de faire du cherry-picking entre des branches publiques qui marche sans problèmes.
[^] # Re: ?
Posté par patrick_g (site web personnel) . Évalué à 1.
Je me suis posé la même question lors de la modération mais l'expression est mentionnée dans Wikipedia FR donc il y a une certaine légitimité à laisser la phrase de l'auteur de la news telle quelle.
http://fr.wikipedia.org/wiki/Cueillette_de_cerises
[^] # Re: ?
Posté par CrEv (site web personnel) . Évalué à 10.
Et d'ailleurs, cette page est en fait seulement une pure traduction de la version anglaise, sans aucune référence d'usage dans notre langue.
Alors oui, quelqu'un a traduit cette page, le terme n'existant pas en français la traduction littérale est employée. Dans wikipedia et dans le but d'expliquer ce terme je comprend, mais de là à y voir un usage réel j'en doute fortement.
Traduire ce qui peut l'être je suis pas contre, mais traduire à outrance, c'est à dire traduire des termes qui n'ont pas d'équivalents et réaliser une traduction littérale vide de sens, c'est ridicule.
D'ailleurs, c'est typiquement un cas où sans la version anglaise / sans le retraduire c'est incompréhensible.
D'ailleurs, concernant les systèmes de versions le problème de traduction est très important pour deux raisons :
- beaucoup utilisent la ligne de commande / des outils calqués sur la ligne de commande, donc traduire revient à perdre le lien avec l'outils (à moins de traduire les commandes...)
- comment traduire en français des termes comme commit / push, checkout / pull / rebase / fetch ? Quelqu'un ayant déjà utilisé un système de gestion francisé comprendra à quel point c'est déroutant / peu clair
[^] # Re: ?
Posté par M . Évalué à 4.
Parce que sur wikipedia il y a certaine tentative de traduction qui me semble bien tirée par les cheveux et qui ne font pas l'unanimité.
D'autant plus que la page fr est une trad de la version anglaise (même paragraphe, ...)
In revision control
In the jargon of revision control, cherry picking is used to describe the action of selecting which patches (or changesets, or commits) should be ported from one branch to another.[1][2][3]
Dans la révision de contrôle
Dans le jargon du contrôle de version, la cueillette de cerises est utilisé pour décrire l'action de sélection des patchs (ou changesets ou commits) devant être reporté d'une branche à l'autre [1],[2],[3].
Hum "révision de contrôle", c'est google translate qui a traduit ?
[^] # Re: ?
Posté par M . Évalué à 6.
Quelqu'un est motivé pour modifié l'article wikipedia ou mettre en bandeau comme quoi il est moisi.
[^] # Re: ?
Posté par CrEv (site web personnel) . Évalué à 5.
Pour le coup, picorage, picorer décrit assez bien l'action réalisée, mieux que la traduction d'une expression.
Maintenant je ne sais pas non plus comment on pourrait l'utiliser : "picorer des patchs" ça va encore je trouve, c'est assez clair. Par contre, "j'ai picoré 2 de tes commits" ça fait un peu plus étrange, mais pourquoi pas...
[^] # Re: ?
Posté par Troy McClure (site web personnel) . Évalué à 2.
[^] # Re: ?
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 5.
— grâce à cette page wikipedia, je sais que je peux désormais dire « de nombreux erreurs logiques. »
— la page est légitime jusqu'à ce qu'on demande qu'elle soit effacée. On trouvera bien un admin/modo/jenesaisquoi qui admettra que c'est pas très encyclopédique, tout ça.
[^] # Re: ?
Posté par galbolle . Évalué à 5.
>franchement, pourquoi tenter de traduire, littéralement, un terme qui n'a aucune >signification en français ? D'ailleurs on le voit bien puisque sans la parenthèse c'est >incompréhensible.
Je reconnais que c'est de la pure coquetterie sylistique la plus vaine.
De toute façon, dans darcs le cherry-picking est automatique et implicite, donc on n'utilise pas beaucoup le terme. On récupère les changements des gens comme il nous plaît, point. Un peu comme le défragmentage à la grande époque de windows: les autres dvcs trouvent héroïque de cueillir des cerises, nous on apprécie le clafoutis, c'est tout.
[^] # Re: ?
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 6.
Comme ça a été proposé plus haut, picorage est un très bon néologisme.
[^] # Re: ?
Posté par beagf (site web personnel) . Évalué à 1.
La traduction est particulièrement moisie mais elle est en plus discriminante envers toutes les dévelopeuses car tout le monde sait bien que les cerises ce ramassent avec la queue...
ok, je sais où c'est ~~~~~~~> [ ]
# utilisation...
Posté par CrEv (site web personnel) . Évalué à 9.
Là où je bosse, on se pose la question depuis un moment d'abandonner svn (le besoin s'en fait de plus en plus sentir).
Pour le moment, Bazaar est évidemment rejeté, git pourtant très intéressant et entrain de disparaître des choix (portabilité essentiellement...), mercurial a pour le moment de beaux jours devant lui (intégration dans les ide, version windows réellement fonctionnelle, simplicité - même si les branches locales alagit manquerait)
Qu'en est-il de darcs ? Est-il réellement utilisable sur autre chose que linux (on a du linux et du windows), s'intègre-t-il dans eclipse, vs.net, etc ?
Et aussi, est-il assez performant ? (quand on parle de bazaar on comprend les problèmes de performance...)
Avez-vous des retours d'utilisation tout simplement ?
[^] # Re: utilisation...
Posté par barmic . Évalué à 1.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: utilisation...
Posté par rogo . Évalué à 2.
Mais dans certains cas, une branche locale est plus pratique. Il faut alors installer une extension non-officielle dans Mercurial :
http://mercurial.selenic.com/wiki/LocalbranchExtension
Désolé pour les anglicismes, même si au fond j'assume ce jargon technique non traduit.
[^] # Re: utilisation...
Posté par CrEv (site web personnel) . Évalué à 2.
Sans oublier que l'intégration de clones avec un ide devient vite bordélique.
LocalBranch j'avais essayé, mais ça n'avait pas fonctionné comme souhaité. On voit bien que c'est différent et moins intégré.
[^] # Re: utilisation...
Posté par Victor . Évalué à 3.
Je recommande la lecture suivante pour bien voir en quoi ça diffère et en quoi Mercurial permet plus :))
http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-me(...)
[^] # Re: utilisation...
Posté par galbolle . Évalué à 2.
[^] # Re: utilisation...
Posté par ribwund . Évalué à 2.
[^] # Re: utilisation...
Posté par Antoine . Évalué à 2.
[^] # Re: utilisation...
Posté par geh . Évalué à 5.
Par rapport aux trois grands (git, hg, bzr), non. C'est le problème de l'effet réseau, plus/moins y'a de monde qui l'utilise, plus/moins on a envie de l'utiliser.
> Qu'en est-il de darcs ? Est-il réellement utilisable sur autre chose que linux (on a du linux et du windows), s'intègre-t-il dans eclipse, vs.net, etc ?
Pour ce qui est des GUI, passe ton chemin :-) C'est ligne de commande pure pour le moment, tant que personne ne s'y met pour écrire une interface ou ajouter le support dans quelque chose d'existant, genre RabbitVCS.
Il y a des binaires Mac et Windows, garde un oeil sur http://wiki.darcs.net/Binaries dans les jours qui viennent, ils vont être ajoutés pour cette nouvelle version.
> Et aussi, est-il assez performant ? (quand on parle de bazaar on comprend les problèmes de performance...)
Généralement, darcs n'est pas recommandé pour des gros projets. Par exemple, il gère peu efficacement les fichiers binaires aussi bien du point de vue taille du dépot que consommation mémoire. De mon expérience, il est quand même bien plus rapide que bazaar.
Pour un benchmark récent tu peux regarder:
http://wiki.darcs.net/Benchmarks/Mornfall#and-for-a-big-repo(...)
Les plus gros dépots darcs publics sont probablement celui du compilateur GHC avec >22000 patchs, de darcs même avec >8000 patchs et Tahoe-LAFS avec >4500 patchs.
> Avez-vous des retours d'utilisation tout simplement ?
En termes de fréquentation du chan IRC oui bien sûr. Ceux qui nous font pas mal de remarques sont les dévelopeurs GHC principalement. Ils ont envisagé de passer à Git pour cause de mauvaise performance de darcs il y a 2 ans et ne l'ont finalement pas fait car darcs s'est amélioré (cf http://hackage.haskell.org/trac/ghc/wiki/DarcsEvaluation ). Bon, maintenant j'ai ouï dire qu'ils veulent à nouveau passer à Git parce qu'ils veulent utiliser github, c'est encore un autre problème :-)
Sinon, cf http://wiki.darcs.net/ProjectsUsingDarcs
[^] # Re: utilisation...
Posté par galbolle . Évalué à 1.
C'est assez difficile à savoir. Comme gros projet, il y a ghc —le compilateur haskell— et xmonad (de mémoire). On a beaucoup d'utilisateurs qui apprécient la simplicité de l'interface par rapport à git, et qui l'utilisent pour de petits projets. Darcs reste un peu au "second rang", mais on rattrape progressivement git et hg en matière de performances.
> Pour le moment, Bazaar est évidemment rejeté,
Pour quelles raisons? Le problème de performance avec darcs, c'est la gestion des dépôts avec de gros fichiers binaires. Pour le reste, c'est (au doigt mouillé) entre bazaar et hg/git.
> les branches locales alagit manquerait
Il n'y en a pas non plus avec darcs. D'un autre côté, avec le picorage natif, on a besoin de moins de branches locales en général.
L'intégration dans eclipse… je ne connais pas bien, mais s'il y a des choses, ça doit être assez primitif. Il y a un mode emacs, c'est ce qui compte, non?
[^] # Re: utilisation...
Posté par CrEv (site web personnel) . Évalué à 3.
Pour bazaar, la dernière fois que j'ai testé il était vraiment toujours lent (il y a qq mois). J'ai un shell qui m'indique la branche dans laquelle je suis, que ce soit sous git, hg ou bzr. Sous git ça roule, sous hg aussi, par contre sous bzr il me faut 1 seconde pour que mon prompt apparaisse... vraiment trop lourd (et c'est qu'un exemple).
donc après si darcs est entre bazaar et hg, ben ça donne moyen envie (après faudrait tester pour de vrai)
> Il y a un mode emacs, c'est ce qui compte, non?
enfin là je parlais de vrai monde avec de vrai gens qui ne tourne pas forcément sous linux et encore moins sous emacs (j'ai rien contre emacs c'est mon outil principal pour coder, taff compris)
[^] # Re: utilisation...
Posté par M . Évalué à 4.
Pourquoi ?
Il y a de plus en plus de gui sous windows : https://git.wiki.kernel.org/index.php/InterfacesFrontendsAnd(...)
[^] # Re: utilisation...
Posté par Stibb . Évalué à 3.
On en veut un qui fonctionne. Comme TortoiseGIT par exemple, il n'est pas mal du out, pas encore parfait, mais c'est déjà bien (j'ai meme l'impression que sous linux on n'a pas aussi efficace).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.