git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Deciding between Git/Mercurial

From
MAMatthias Andree <matthias.andree@gmx.de>
Date
Sep 30, 2009, 11:14 UTC
Message-ID
<4AC33D84.406@gmx.de>
In-Reply-To
<alpine.DEB.1.00.0909281059180.4985@pacific.mpi-cbg.de>
Johannes Schindelin schrieb:
Show 27 quoted lines
> Hi,
> 
> I tried to refrain from commenting in this thread, because I do not want 
> to encourage people just to use msysGit and never even attempt to fix 
> their own issues.
> 
> But I cannot let this go uncommented:
> 
> On Mon, 28 Sep 2009, Felipe Contreras wrote:
> 
>> IMO the key difference between hg and git is the storage model: hg 
>> stores deltas, while git stores snapshots. That would mean that certain 
>> operations are theoretically faster in git (e.g. checkout, diff) while 
>> others faster in hg, although with git's packed format I guess there's 
>> no operation faster in hg. This means that it doesn't matter how much 
>> hg's python code improves, or if they even re-write parts in C, they 
>> will never be able to match git's performance (unless they change the 
>> storage model, which essentially means changing the whole design -- 
>> won't happen).
> 
> That is wrong.  "git log -- <file>" will always be slightly faster in 
> Mercurial, for all the reasons you mentioned.
> 
> In addition, Mercurial _has_ parts re-written in C for performance, which 
> renders it not-exactly more portable if you ask me.  Last time I checked, 
> there was no way to compile a Python module with MinGW (or for that 
> matter, Python itself), but you needed MSVC...

I have a shortish mercurial build script that works under Cygwin 1.5 and uses msys, py2exe and iscc to build an installable Mercurial package, but I'm not sure what this boils down to WRT C-versions of "modules". Maybe these are lumped into the resulting hg.exe, I never bothered to check the details.

Previous: Bruce StephensNext: Dilip M
Message 16 of 44 in “Deciding between Git/Mercurial”
  1. AnteruSep 27, 2009
  2. Robin RosenbergSep 27, 2009
  3. AnteruSep 27, 2009
  4. Alex RiesenSep 27, 2009
  5. Mark StrubergSep 27, 2009
  6. AnteruSep 27, 2009
  7. Alex RiesenSep 27, 2009
  8. Erik Faye-LundSep 27, 2009
  9. Pascal ObrySep 27, 2009
  10. Martin LanghoffOct 22, 2009
  11. Felipe ContrerasSep 28, 2009
  12. Matthieu MoySep 28, 2009
  13. Johannes SchindelinSep 28, 2009
  14. Felipe ContrerasSep 28, 2009
  15. Bruce StephensSep 28, 2009
  16. Matthias AndreeSep 30, 2009
  17. Dilip MSep 28, 2009
  18. Damien WyartSep 28, 2009
  19. Steven NoonanSep 28, 2009
  20. Sverre RabbelierSep 28, 2009
  21. Randal L. SchwartzSep 28, 2009
  22. Sverre RabbelierSep 29, 2009
  23. Mike RalphsonSep 29, 2009
  24. Matthieu MoySep 29, 2009
  25. Sverre RabbelierSep 29, 2009
  26. Jakub NarebskiSep 28, 2009
  27. Jakub NarebskiSep 29, 2009
  28. AnteruSep 29, 2009
  29. Leo RazoumovSep 29, 2009
  30. Jakub NarebskiSep 29, 2009
  31. Matthieu MoySep 29, 2009
  32. Leo RazoumovSep 30, 2009
  33. Björn SteinbrinkSep 30, 2009
  34. Andreas EricssonSep 30, 2009
  35. Jakub NarebskiSep 30, 2009
  36. Paolo BonziniSep 29, 2009
  37. Daniele SegatoSep 29, 2009
  38. Dilip MSep 29, 2009
  39. Matthias AndreeSep 30, 2009
  40. Daniel BarkalowSep 30, 2009
  41. Dilip MOct 22, 2009
  42. AnteruOct 22, 2009
  43. Dilip MOct 22, 2009
  44. AnteruOct 22, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.