Jiang Xin <worldhello.net@xxxxxxxxx> writes: > Therefore, before calling `prepare_revision_walk()` function, make a > copy on `revs.pending` for later use. The in-core objects pointed by the list elements are shared between the original and the copy, and the object flag bits that are used to control the traversal (like SEEN, SHOWN and BOUNDARY bits) would be smudged during the traversal. So depending on how the "later use" uses the copied list, it may or may not be sufficient to just copy the list. Apparently, you've tested the updated code well enough to send to the list, so it must be sufficient to make a copy of the list to support the way the updated code uses it, but it is not clear how it is so, only from what is in the proposed log message.