Eric Kow <[EMAIL PROTECTED]> writes: > [...] and if you do return, you can teach us many other useful things > that Mercurial can do that we should pick up.
Off the top of my head, I can think of two things: dependency graph visualization, and push over HTTP. "hg glog" emits a dependency graph -- like camp-view or bzr viz or gitk/giggle -- but it does so as ASCII, so that it's easy to use on a charcell display like Emacs or an xterm. hg has a "smart" server (usually deployed behind apache's mod_proxy) that accepts patch pushes over HTTP using (I believe) the PUT command. At my office this is only authenticated by SSL (tied to our yp database), but I expect this could also work by GPG-signing prior to pushing to the smart server. HTTP pushing has a couple of benefits -- the user doesn't need to install an MTA (cf. darcs send), HTTP is usually allowed through even stupidly tight corporate firewalls, and it doesn't require the server admin to hand out ssh (i.e. commit) access (cf. darcs push). My naïve guess is that an HTTP PUT prototype could probably be implemented in a couple of dozen lines of Perl CGI script, and that this would be an adequate proof-of-concept to investigate further. The same "smart" server also acts like ViewVC, so if you just open "http://path.to/repo" in your browser, you get a read-only view of the repository with the most recent commits listed and such like, rather than the usual Darcs case of just getting a directory listing of the repo's root directory. > I'm sure Mercurial is a fine revision control system, I personally disagree. In particular, merging is incredibly confusing and painful in hg, and there are a number of annoying properties that slowly contribute to cardiac arrest. For example, "hg record" lets you cherry-pick which hunks to record, but it changes the mtime of the file -- so if it is still open in Emacs, Emacs thinks the file has been changed (though it still has the same contents). Another example would be how you can only unrecord the newest patch: $ hg rollback rolling back last transaction $ hg rollback no rollback information available There's also the obvious, fundamental difference that hg is (like git, bzr and svn) history oriented, making cherry-picking (e.g. of bug fixes but not new features) extremely onerous. That fundamental difference is why I continue investing time in improving Darcs rather than trying to backport Darcs' best ideas into another VCS. _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
