git-revert is a memory hog
- From
- Adrian 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