From: Junio C Hamano Date: Thu, 30 Apr 2020 19:49:21 GMT Subject: Re: Guess the base-commit of a series Message-ID: In-Reply-To: <20200430173302.GA18877@dcvr> Eric Wong writes: > Konstantin Ryabitsev wrote: >> Hello: >> >> Given a/ b/ filenames and blob index information, is there a relatively >> easy way to find the latest branch commit where a patch series would >> apply cleanly (i.e. guess the base-commit)? > > Not as far as I know... Me neither. I am assuming that this is in the context of the kernel project, where there are numerous but manageable number of well known repositories, so Konstantin can probably create a (bare) repository that fetches from all of them into refs/remotes/{linus,next,...}/ remote-tracking branches. With that, running this command $ git rev-list --all | git diff-tree --stdin --raw -r and write a script that parses its output may not be too hard. I am not sure what Konstantin wanted to say with "the latest branch commit", but if the starting point (i.e. branch) is known, then such a script can read from the output of the above pipeline but instead of starting from "--all", start the traversal from the branch tip. There may not be any such tree with all those blobs. For the second patch in an N-patch series, there won't be such a tree anywhere other than the author's repository unless the first patch of the series has been applied somewhere well known.