git-revert is a memory hog
From: Adrian Bunk <bunk@kernel.org>
Date: 2016-06-15 22:44:08
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