There are many binary search functions in the code base and I have been asked to refactor them in these message:
http://thread.gmane.org/gmane.comp.version-control.git/105363/focus=105436 http://thread.gmane.org/gmane.comp.version-control.git/114735/focus=115391
so here is a start
The following patch applies on top of pu where they can be squashed into other patches:
sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
patch-ids: use the new generic "sha1_pos" function to lookup sha1
bisect: use the new generic "sha1_pos" function to lookup sha1
replace_object: use the new generic "sha1_pos" function to lookup
sha1bisect.c | 23 +++++------- patch-ids.c | 93 +++----------------------------------------------- replace_object.c | 24 +++++-------- sha1-lookup.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sha1-lookup.h | 7 ++++ 5 files changed, 131 insertions(+), 117 deletions(-)