From: Larry McVoy <lm@bitmover.com>
To: Jeff Garzik <jgarzik@mandrakesoft.com>
Cc: Larry McVoy <lm@bitmover.com>, linux-kernel@vger.kernel.org
Subject: Re: Problems using new Linux-2.4 bitkeeper repository.
Date: Sat, 16 Mar 2002 11:01:44 -0800 [thread overview]
Message-ID: <20020316110144.H10086@work.bitmover.com> (raw)
In-Reply-To: <200203161608.g2GG8WC05423@localhost.localdomain> <3C9372BE.4000808@mandrakesoft.com> <20020316083059.A10086@work.bitmover.com> <3C9375B7.3070808@mandrakesoft.com> <20020316085213.B10086@work.bitmover.com> <3C937B82.60500@mandrakesoft.com> <20020316091452.E10086@work.bitmover.com> <3C938027.4040805@mandrakesoft.com> <20020316093832.F10086@work.bitmover.com> <3C938966.3080302@mandrakesoft.com>
In-Reply-To: <3C938966.3080302@mandrakesoft.com>; from jgarzik@mandrakesoft.com on Sat, Mar 16, 2002 at 01:05:26PM -0500
On Sat, Mar 16, 2002 at 01:05:26PM -0500, Jeff Garzik wrote:
> Larry McVoy wrote:
>
> >>I think a fair question would be, is this scenario going to occur often?
> >> I don't know. But I'll bet you -will- see it come up again in kernel
> >>development. Why? We are exercising the distributed nature of the
> >>BitKeeper system. The system currently punishes Joe in Alaska and
> >>Mikhail in Russia if they independently apply the same GNU patch, and
> >>then later on wind up attempting to converge trees.
> >>
> >
> >Indeed. So speak in file systems, because a BK package is basically a file
> >system, with multiple distributed instances, all of which may be out of
> >sync. The problems show up when the same patch is applied N times and
> >then comes together. The inodes collide. Right now, you think that's
> >the problem, and want BK to fix it. We can fix that. But that's not
> >the real problem. The real problem is N sets of diffs being applied
> >and then merged. The revision history ends up with the data inserted N
> >times.
> >
>
> Another thought, that I'm betting you laugh at me for even suggesting :)
>
> Don't insert the data N times. Give the user the option to say that one
> or more changesets are actually the same one. In filesystem speak,
> unlink a file B which is a user-confirmed duplicate of file A, and
> re-create file B as a symlink to file A. Or just unlink file B without
> the symlink, whichever metaphor suits you better. :)
>
> Yes it is "altering history"... but... OTOH the user has just told
> BitKeeper, in no uncertain terms, that he is altering history only to
> make it more correct.
You need to put on the distributed-think hat. The problem is never
what I do in any one instance, we can do all sorts of useful things
in that instance. The problem is doing them in such a way so that
synchronization with repositories which are both ahead and behind works.
So if you repull from whereever you just pulled from, the system needs
to remember that some cset is a duplicate and has been eliminated.
And if you pull in the opposite direction, the past events, including
duplicate removal, propagate.
*All* of this stuff is trivial if you don't care about passing it on, if
your repository is a backwater dead end. But that's not the case.
So you have to decide that you want the events to propagate and if you
do, then we can do something about it.
I'm starting to get psyched about this, I think I see a picture that
works, I need to chew on it for a bit though.
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
next prev parent reply other threads:[~2002-03-16 19:02 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-15 2:38 Problems using new Linux-2.4 bitkeeper repository James Bottomley
2002-03-15 4:55 ` Jeff Garzik
2002-03-16 16:08 ` James Bottomley
2002-03-16 16:28 ` Jeff Garzik
2002-03-16 16:30 ` Larry McVoy
2002-03-16 16:41 ` Jeff Garzik
2002-03-16 16:52 ` Larry McVoy
2002-03-16 17:06 ` Jeff Garzik
2002-03-16 17:14 ` Larry McVoy
2002-03-16 17:25 ` Jeff Garzik
2002-03-16 17:38 ` Larry McVoy
2002-03-16 17:51 ` Jeff Garzik
2002-03-16 18:31 ` Christer Weinigel
2002-03-16 18:05 ` Jeff Garzik
2002-03-16 19:01 ` Larry McVoy [this message]
2002-03-16 19:44 ` Jeff Garzik
2002-03-17 10:49 ` David Woodhouse
2002-03-17 15:54 ` Larry McVoy
2002-03-17 16:23 ` David Woodhouse
2002-03-17 18:15 ` Larry McVoy
2002-03-17 18:34 ` David Woodhouse
2002-03-18 15:25 ` Tom Rini
2002-03-16 17:17 ` James Bottomley
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=20020316110144.H10086@work.bitmover.com \
--to=lm@bitmover.com \
--cc=jgarzik@mandrakesoft.com \
--cc=linux-kernel@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