Re: Specifying N revisions after the initial commit
- From
- Josh Boyer <jwboyer@gmail.com>
- Date
- Sep 22, 2015, 19:10 UTC
- Message-ID
- <CA+5PVA6YWJizRjseeJ4EpRya0Mpyrv3DoNsB3=Gi=dOiAoDfHg@mail.gmail.com>
- In-Reply-To
- <20150922214037.b6b48059f051fcd4060a5a85@domain007.com>
On Tue, Sep 22, 2015 at 2:40 PM, Konstantin Khomoutov <kostix+git@007spb.ru> wrote:
Show 15 quoted lines
> On Tue, 22 Sep 2015 14:32:19 -0400 > Josh Boyer <jwboyer@gmail.com> wrote: > >> Please CC me as I'm not subscribed. >> >> I was hoping someone could help me with the revision shorthand to get >> the commit sha of a commit N commits after the initial commit. > > What happens if right after the initial commit, there have been five > branches created -- with no common commits except for the initial one? > > That's the core limitation of the data model Git uses (and arguably any > other DVCS system): all commits form a directed acyclic graph. > The "directed" in that construct means that child commits contain a > link to their parent commit (or commits) but not vice-versa.
Hm. It has been so long since I've looked at the underlying model and git has proven to be so flexible on such a variety of things that I guess I forgot it was constructed through a DAG. The --reverse parameter to git-log and git-rev-parse had left me hopeful.
> Hence, given any particular commit, you're able to trace all of its > ancestry, but the reverse is not possible.
That makes sense. I suppose I will have to resort to parsing output of git-rev-list or something. Thanks for the reminder.
josh