"Derrick Stolee via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > > Remove a comment at the beggining of remove_redundant() that mentions a > reordering of the input array to have the initial segment be the > independent commits and the final segment be the redundant commits. > While this behavior is followed in remove_redundant(), no callers rely > on that behavior. > > Remove the final loop that copies this final segment and update the > comment to match the new behavior. > > Signed-off-by: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > --- Makes sense, especially since this is a file-local/static helper function, we have reasonably tight control over its callers. Will queue. Thanks. > commit-reach.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/commit-reach.c b/commit-reach.c > index e38771ca5a1..9af51fe7e07 100644 > --- a/commit-reach.c > +++ b/commit-reach.c > @@ -160,9 +160,10 @@ static int remove_redundant(struct repository *r, struct commit **array, int cnt > { > /* > * Some commit in the array may be an ancestor of > - * another commit. Move such commit to the end of > - * the array, and return the number of commits that > - * are independent from each other. > + * another commit. Move the independent commits to the > + * beginning of 'array' and return their number. Callers > + * should not rely upon the contents of 'array' after > + * that number. > */ > struct commit **work; > unsigned char *redundant; > @@ -209,9 +210,6 @@ static int remove_redundant(struct repository *r, struct commit **array, int cnt > for (i = filled = 0; i < cnt; i++) > if (!redundant[i]) > array[filled++] = work[i]; > - for (j = filled, i = 0; i < cnt; i++) > - if (redundant[i]) > - array[j++] = work[i]; > free(work); > free(redundant); > free(filled_index);