commit-reach: move can_all_from_reach_with_flags

There are several commit walks in the codebase. Group them together into
a new commit-reach.c file and corresponding header. After we group these
walks into one place, we can reduce duplicate logic by calling
equivalent methods.

The can_all_from_reach_with_flags method is used in a stateful way by
upload-pack.c. The parameters are very flexible, so we will be able to
use its commit walking logic for many other callers.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee
2018-07-20 16:33:13 +00:00
committed by Junio C Hamano
parent 118be5785e
commit ba3ca1edce
4 changed files with 80 additions and 71 deletions

View File

@ -60,12 +60,12 @@ struct object_array {
* revision.h: 0---------10 26
* fetch-pack.c: 0----5
* walker.c: 0-2
* upload-pack.c: 4 11----------------19
* upload-pack.c: 4 11-----14 16-----19
* builtin/blame.c: 12-13
* bisect.c: 16
* bundle.c: 16
* http-push.c: 16-----19
* commit-reach.c: 16-----19
* commit-reach.c: 15-------19
* sha1-name.c: 20
* list-objects-filter.c: 21
* builtin/fsck.c: 0--3