git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Olaf Dabrunz <Olaf@Dabrunz.com>
To: Bert Wesarg <bert.wesarg@googlemail.com>
Cc: "Olaf Dabrunz" <odabrunz@gmx.net>,
	git@vger.kernel.org,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Petr Baudis" <pasky@suse.cz>,
	"martin f krafft" <madduck@madduck.net>,
	"Per Cederqvist" <ceder@lysator.liu.se>
Subject: Re: [TopGit PATCH] t/depend-add-using-export
Date: Sat, 9 Oct 2010 14:21:11 +0200	[thread overview]
Message-ID: <20101009122111.GA29010@santana.dyndns.org> (raw)
In-Reply-To: <AANLkTi=Xhd8DY+f1ZYR6dEhHvC-=50iHLnhdv8GTacNX@mail.gmail.com>

On 09-Oct-10, Bert Wesarg wrote:
> On Sat, Oct 9, 2010 at 12:54, Olaf Dabrunz <Olaf.Dabrunz@gmx.net> wrote:
> > [...]
> 
> When I understand this correctly, this hand made merge commit on base,
> has also the just removed dep as parent. But the tree does not include

The hand made merge commit on base only has a removed dep as a parent if
that removed dep is brought in again directly, as the new dep that is
added here. The only parents of the hand made merge commit are: the tip
of the current topgit branch's base and the new dependency.

    hand made merge commit on base =                        \
        git-commit-tree $tree_from_merge_on_export          \
                        -p $topgit_base_branch -p $new_dep

In general, the new dep may already have merged in a dep that we
previously removed from our topgit branch. So the previously removed dep
is brought in indirectly by merging a branch that contains it.

This patch tries to cover both cases. The latter case and requirements
for tg depend add to cover it were discussed by you and Uwe in this
thread:

http://lists-archives.org/git/688698-add-list-and-rm-sub-commands-to-tg-depend.html

> any code from that dep. So git merge-base would select this commit as

If the new dep _is_ a previously removed dep, the code of the new dep is
contained in the hand made merge as well.

If the new dep _brings in_ a previously removed dep, it depends on how
the previously removed dep was merged into the new dep we are trying to
merge now. If our new dep merged in the previously removed dep but used
the "ours" merge strategy to supersede that dep's contents, it does not
bring in any code from that dep but only brings in that dep as part of
it's history.

> the merge base.

Yes, as the previously removed dep is now -- directly or indirectly --
part of the history of the hand made merge on base.

I should really draw graphs. But here is the mail anyway (release
early...).

Olaf

-- 
Olaf Dabrunz (Olaf <at> dabrunz.com)

      parent reply	other threads:[~2010-10-09 12:21 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-09  1:43 [TopGit PATCH] t/depend-add-using-export Olaf Dabrunz
2010-10-09  7:45 ` Bert Wesarg
2010-10-09 10:54   ` Olaf Dabrunz
2010-10-09 11:27     ` Bert Wesarg
     [not found]       ` <20101009121003.GA19991@santana.dyndns.org>
2010-10-09 12:21         ` Bert Wesarg
2010-10-09 12:21       ` Olaf Dabrunz [this message]

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101009122111.GA29010@santana.dyndns.org \
    --to=olaf@dabrunz.com \
    --cc=bert.wesarg@googlemail.com \
    --cc=ceder@lysator.liu.se \
    --cc=git@vger.kernel.org \
    --cc=madduck@madduck.net \
    --cc=odabrunz@gmx.net \
    --cc=pasky@suse.cz \
    --cc=u.kleine-koenig@pengutronix.de \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).