commit-reach: reduce requirements for remove_redundant()
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@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5a3b130cad
commit
0fac156523
@ -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
|
* Some commit in the array may be an ancestor of
|
||||||
* another commit. Move such commit to the end of
|
* another commit. Move the independent commits to the
|
||||||
* the array, and return the number of commits that
|
* beginning of 'array' and return their number. Callers
|
||||||
* are independent from each other.
|
* should not rely upon the contents of 'array' after
|
||||||
|
* that number.
|
||||||
*/
|
*/
|
||||||
struct commit **work;
|
struct commit **work;
|
||||||
unsigned char *redundant;
|
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++)
|
for (i = filled = 0; i < cnt; i++)
|
||||||
if (!redundant[i])
|
if (!redundant[i])
|
||||||
array[filled++] = work[i];
|
array[filled++] = work[i];
|
||||||
for (j = filled, i = 0; i < cnt; i++)
|
|
||||||
if (redundant[i])
|
|
||||||
array[j++] = work[i];
|
|
||||||
free(work);
|
free(work);
|
||||||
free(redundant);
|
free(redundant);
|
||||||
free(filled_index);
|
free(filled_index);
|
||||||
|
Loading…
Reference in New Issue
Block a user