Re: [StGIT PATCH] Don't use patches/<branch>/current
From: Karl Hasselström <hidden>
Date: 2016-06-15 22:43:10
On 2007-05-16 13:07:14 +0100, Catalin Marinas wrote:
I did a quick test of 'stg series' with the DAG patches applied, on
a Linux kernel repository ('du -sh .git' is 285M) with 42 patches
(only 25 applied). It constantly takes over 2 seconds to complete
(compared to < 200ms without the DAG patches). The problem is that
this delay will happen for bash completion as well.
This is more than ten times as expensive as in my measurement.
Curious. And the algorithm is designed so that it shouldn't take time
proportional to the repository size, just proportional to the number
of patches.
There are three git calls involved:
* List the references. There can't be more than a few hundred of
them.
* rev-list all patches, subtracting everything that's reachable from
the branch head. This set of commits should not be much larger
than the number of unapplied patches.
* rev-list the branch head, but stop walking as soon as all applied
patches have been seen. This set of commits should not be much
larger than the number of applied patches.
None of the calls should be expensive.
--
Karl Hasselström, kha@treskal.com
www.treskal.com/kalle