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

git-revert is a memory hog

From
ABAdrian Bunk <bunk@kernel.org>
Date
Jan 27, 2008, 17:27 UTC
Message-ID
<20080127172748.GD2558@does.not.exist>

I'm not sure whether this is already known, but when recently working for some time from a computer with "only" 512 MB RAM I ran into the huge memory usage of git-revert when it tries to revert old commits.

Example (in Linus' kernel tree with git 1.5.3.8):
<--  snip  -->

$ git-revert d19fbe8a7 Auto-merged drivers/input/input.c CONFLICT (content): Merge conflict in drivers/input/input.c Auto-merged include/linux/input.h CONFLICT (content): Merge conflict in include/linux/input.h Automatic revert failed. After resolving the conflicts, mark the corrected paths with 'git add <paths>' and commit the result. $

<--  snip  -->
In top you can see that this took > 800 MB of RAM !
I don't know how easy it would be to implement, but shouldn't git-revert 
be able to be as fast and less memory consuming as
  git-show d19fbe8a7 | patch -p1 -R
?

cu Adrian

-- 
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
Next: Shawn O. Pearce
Message 1 of 24 in “git-revert is a memory hog”
  1. Adrian BunkJan 27, 2008
  2. Shawn O. PearceJan 27, 2008
  3. Jeff KingJan 28, 2008
  4. Jeff KingJan 28, 2008
  5. Linus TorvaldsJan 29, 2008
  6. Junio C HamanoJan 29, 2008
  7. Jeff KingJan 29, 2008
  8. Jeff KingJan 29, 2008
  9. Junio C HamanoJan 29, 2008
  10. Jeff KingJan 29, 2008
  11. Jeff KingJan 29, 2008
  12. Linus TorvaldsJan 29, 2008
  13. Jeff KingJan 29, 2008
  14. Junio C HamanoJan 29, 2008
  15. Jeff KingJan 29, 2008
  16. Junio C HamanoJan 29, 2008
  17. Junio C HamanoJan 29, 2008
  18. Optimize rename detection for a huge diffJunio C Hamano, Jan 30, 2008
  19. Luke LuJan 30, 2008
  20. Luke LuJan 30, 2008
  21. Junio C HamanoFeb 13, 2008
  22. David KastrupFeb 13, 2008
  23. Junio C HamanoFeb 13, 2008
  24. Junio C HamanoFeb 14, 2008

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.