From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: Re: Multi-headed branches (hydra? :)) for basic patch calculus
Date: Sun, 02 Apr 2006 08:49:22 +0200 [thread overview]
Message-ID: <e0ns59$uq2$1@sea.gmane.org> (raw)
In-Reply-To: 1143950852.21233.23.camel@localhost.localdomain
Sam Vilain wrote:
> From a discussion on #git, the idea was raised of "multi-headed
> branches"
[...]
> If somebody adds a commit (5) that changes "foo.c" again, the darcs
> history would change to:
>
> 1 -> 3 -> 5
> 2 -> 4
>
> To represent this in git you could just roll back the head merge commit,
> push commit 5 on that branch, then make a new head:
>
> 1 -> 3 -> 5 \
> >- head
> 2 -> 4 -----/
>
> However, if there was support for "hydra", or heads that are multiple
> commit IDs (and necessarily, no blobs in corresponding paths in their
> trees that are not identical), then you would not need to destroy and
> recreate this dummy merge head commit to model your patch history in
> this manner.
[...]
I'm not sure if "hydras", i.e. multi-commit 'heads' are what would make
GIT able to use some of Darcs patches calculus ideas. If I understand
correctly in GIT 'head' (and 'tag') not only identifies commit (commits
in hydra[1]) but also tree (in hydra it is result of trivial (?) merge).
Wouldn't it be better to somehow represent rather partial ordering between
commits in history, to have something from Darcs in GIT? Although I'm not
sure about efficiency, and if we should do detect commits dependency -- or
in other words partial ordering of commits/patches -- at commit or at
merge. And if we should remember (or cache) partial ordering/dependency
info...
[1] I've detected some confusion in this terminology. "Hydra" is
multi-headed moster, yet in your ptoposal it is one head that has multiple
bodies... and "octopus" is taken. I guess the terminology should be
switched (octopus <-> hydra).
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
next prev parent reply other threads:[~2006-04-02 6:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-02 4:07 Multi-headed branches (hydra? :)) for basic patch calculus Sam Vilain
2006-04-02 6:49 ` Jakub Narebski [this message]
2006-04-02 23:15 ` Sam Vilain
2006-04-03 4:10 ` Jakub Narebski
2006-04-02 16:11 ` J. Bruce Fields
2006-04-02 16:30 ` Patch calculus Jakub Narebski
2006-04-02 17:03 ` Jakub Narebski
2006-04-03 1:15 ` Multi-headed branches (hydra? :)) for basic patch calculus Martin Langhoff
2006-04-03 2:09 ` Sam Vilain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='e0ns59$uq2$1@sea.gmane.org' \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).