From: Junio C Hamano Date: Wed, 13 Feb 2019 21:12:25 GMT Subject: Re: How to get next commit that just after a specified commit Message-ID: In-Reply-To: <87mun0j9vv.fsf@evledraar.gmail.com> Ævar Arnfjörð Bjarmason writes: > (Replying to > https://public-inbox.org/git/383c14cc.9289.168e61d39e8.Coremail.wuzhouhui14@mails.ucas.ac.cn/ > which curiously I can see there, but not in my inbox (or spam)) > > Git's data format doesn't make it easy to find "C" given "B" in a commit > chain like A->B->C (also there could be any number of "C" > successors). We need to walk the graph. This shows how to do it: > > https://sqlite.org/whynotgit.html#git_makes_it_difficult_to_find_successors_descendents_of_a_check_in Of course, the history is not necessarily linear. Even though you *MUST* know all your parents before having a commit (which means that when you ask "what came before this commit", there is a definitive answer that everybody in the world would agree on), you by definition cannot know all the commits that are children of a commit (simply because somebody else may be creating a new one), so the question "what's the next commit" does not make any sense from that point of view ;-)