Skip to content

Commit

Permalink
commit-reach: reduce requirements for remove_redundant()
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
derrickstolee authored and gitster committed Feb 1, 2021
1 parent 5a3b130 commit 0fac156
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions commit-reach.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 0fac156

Please sign in to comment.