linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Martin J. Bligh" <mbligh@aracnet.com>
To: Daniel Phillips <phillips@arcor.de>, Zack Brown <zbrown@tumblerings.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: BitBucket: GPL-ed KitBeeper clone
Date: Tue, 11 Mar 2003 11:33:41 -0800	[thread overview]
Message-ID: <24360000.1047411221@flay> (raw)
In-Reply-To: <20030311192639.E72163C5BE@mx01.nexgo.de>

>> Not sure if this was captured before (I don't see it explicitly in what
>> you sent), but one thing that I don't think current tools do well is to
>> keep changes seperated out. We need to be able to put a stack of 200
>> patches on top of 2.5.10, then be able to break those out again easily
>> come 2.5.60, once we've merged forward. Treating things as one big blob
>> will work great for Linus, but badly for others.
> 
> Coincidently, I was having a little think about that exact thing earlier 
> today. 

Good, then either I'm not insane, or at least I have company in the 
madhouse ;-) 

> Suppose we call the process of turning an exact delta into a 
> delta-with-context, "softening".  So you select a set of deltas somehow 
> (e.g., all deltas in wild-card set of files) then soften them by adding 
> context, or in the deluxe version, convert to lists of tokens with whitespace 
> markup.  The result is a first-class object in the database, called a, hmm, 
> soft changeset?  (Surely there is a better name.)

a "patch" ? ;-) A context-diff is kind of a delta with context. 
I have some similar patch tools to akpm, and he uses the patch as the
base concept of what he does.

> A soft changeset can be carried forward in the database automatically as long 
> as there are no conflicts (like patch with fuzz) and where there are 
> conflicts, the soft changeset itself can be versioned.  To implement soft 
> changeset versioning the lazy way, just merge the changeset with some version 
> and generate a new soft changeset against some other version.  A name for the 
> versioned soft changeset can be generated automatically, e.g.:
> 
>    changset.name-from.version-to.version.

Right ... what I do is basically have a script that does:
for i in *
<copy lastview to $i>
(cd $i; <apply $i>)

My patches all start with a sequence number (a bit like Andrea does), so
for i in * does really nicely. What it's *meant* to do is read $? back
from patch, and stop if patch failed to apply it properly (more than
just offsets), and barf for user intervention, but that bit's broken
at the moment ;-)
 
> You can wave your wand, and the soft changeset will turn into a universal 
> diff or a BK changeset.  But it's obviously a lot cleaner, extensible, 
> flexible and easier to process automatically than a text diff.  It's an 
> internal format, so it can be improved from time to time with little or no 
> breakage.
> 
> Did that make sense?

Yeah, the wand is called "creatediffs" in my case, and it takes all the
views in a dir, and diffs the first against the second, second against
third, etc. I always start with "000-virgin".

I might even clean up my tools, turn them into one perl script, and send
them out at the weekend. They're a fetid (but working) mess right now.

What we need is a "better context-diff", with something smarter to apply
it that understands C syntax (can fall back to cdiff for text / asm for
now). 

And whilst we're at it, would be nice to have something that tried to
produce the most human readable diffs, not the smallest ones. Renaming
the function at the top is frigging annoying.

>> At the moment, I slap the patches back on top of every new version
>> seperately, which works well, but is a PITA.
> 
> Tell me about it.

Well, it normally only takes me an hour per release. But it's still a
waste of time. And yes, I have to do some things by hand. But the screams
of others around me when BK goes wrong tell me it's not much better for
all its fancy tricks (for *my* usage at least), in terms of applying
patches happily to deleted files, etc. so it still needs manual fix up.
 
>> I hear this is something
>> of a pain to do with Bitkeeper (don't know, I've never tried it).
>> People muttered things about keeping 200 different views, which is
>> fine for hardlinked diff & patch (takes < 1s to clone normally), but
>> I'm not sure how long a merge would take in Bitkeeper this way? Perhaps
>> people who've done this in other SCM's could comment?
> 
> I've never seriously used any commercial SCM, so nobody can accuse me of 
> stealing their ideas.  On the other hand, it means I may have to take a few 
> shots way wide of the target before hitting any bullseyes.

Yeah, neither have I. CVS I tried for a day, and it was just laughable.
BK I never looked at yet (have been tempted by the fancy looking merge
tool a few times). I tend to be slow to pick up new tools ... I prefer
to let others knock out the bugs first, and most of the time they don't
stick anyway ... so it was wasted time. 

BK seems to be sticking better than most, but from the feedback I get
about it from others, I think I like my scripts well enough ... and can 
change them to do what I want, and I understand what they're doing, 
which makes me happy (they're 10 lines of sh or perl ;-)). And that's
not an open-source license thing ... it's complex enough that it wouldn't
do me any good to be open source (for any non-trivial mod). I want 
something *simple* personally.

M.

  reply	other threads:[~2003-03-11 19:33 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-02  0:11 BitBucket: GPL-ed KitBeeper clone Adam J. Richter
2003-03-02  0:20 ` Larry McVoy
2003-03-02  0:20 ` David Lang
2003-03-02  0:49 ` Arador
2003-03-02  1:03   ` Jeff Garzik
2003-03-02  2:15   ` Alan Cox
2003-03-02  1:19     ` Jeff Garzik
2003-03-02  1:40       ` BitBucket: GPL-ed *notrademarkhere* clone Andrea Arcangeli
2003-03-02  1:45         ` Jeff Garzik
2003-03-02  2:09           ` Andrea Arcangeli
2003-03-02 17:28             ` Jeff Garzik
2003-03-02 18:16               ` Andrea Arcangeli
2003-03-02 20:12                 ` Jeff Garzik
2003-03-02 21:49                   ` Geert Uytterhoeven
2003-03-03 18:37                 ` Larry McVoy
2003-03-03 18:46                   ` Larry McVoy
2003-03-03 22:57                   ` Andrea Arcangeli
2003-03-03 23:14                     ` Pavel Machek
2003-03-03 23:56                     ` David Lang
2003-03-04  0:02                       ` Jeff Garzik
2003-03-04  0:05                         ` Larry McVoy
2003-03-04  0:15                         ` Andrea Arcangeli
2003-03-04  0:30                           ` Jeff Garzik
2003-03-04  2:20                       ` Martin J. Bligh
2003-03-04  5:29                         ` Linus Torvalds
2003-03-04  5:56                           ` Dimitrie O. Paun
2003-03-04 14:51                             ` Jeff Garzik
2003-03-02  3:29           ` H. Peter Anvin
2003-03-02 17:12             ` Jeff Garzik
2003-03-02 18:39               ` H. Peter Anvin
2003-03-02 20:01                 ` Jeff Garzik
2003-03-03  0:47               ` nickn
2003-03-03  0:55                 ` David Lang
2003-03-03  2:31                   ` Jeff Garzik
2003-03-03  2:32                 ` Jeff Garzik
2003-03-04  1:07                   ` Horst von Brand
2003-03-04  1:10                     ` H. Peter Anvin
2003-03-03 21:53               ` Joel Becker
2003-03-04 23:37                 ` Olaf Hering
2003-03-06 16:47                 ` Pavel Machek
2003-03-06 16:41               ` Pavel Machek
2003-03-07 11:24                 ` Tupshin Harper
2003-03-07 11:28                   ` Pavel Machek
2003-03-07 21:53                 ` H. Peter Anvin
2003-03-08 23:18                   ` Daniel Phillips
2003-03-03  0:13           ` Pavel Machek
2003-03-03  0:10       ` BitBucket: GPL-ed KitBeeper clone Pavel Machek
2003-03-04 16:16         ` David Woodhouse
2003-03-04 16:27           ` Pavel Machek
2003-03-02  1:26 ` Olivier Galibert
2003-03-06 16:18   ` Pavel Machek
2003-03-07 12:12     ` Olivier Galibert
2003-03-07 12:32       ` Pavel Machek
2003-03-07 16:54         ` Olivier Galibert
2003-03-07 17:14           ` Geert Uytterhoeven
2003-03-07 19:08           ` Pavel Machek
2003-03-07 19:25             ` Eli Carter
2003-03-07 20:29               ` Pavel Machek
2003-03-07 23:16             ` Linus Torvalds
2003-03-08 22:52               ` Zack Brown
2003-03-09  0:05                 ` Larry McVoy
2003-03-09  1:21                   ` Davide Libenzi
2003-03-09  2:45                   ` Zack Brown
2003-03-09  3:19                     ` Roman Zippel
2003-03-09  3:42                       ` Linus Torvalds
2003-03-09  4:32                         ` Roman Zippel
2003-03-09 13:34                           ` Eric W. Biederman
2003-03-09 15:35                             ` Roman Zippel
2003-03-09 16:55                               ` Martin J. Bligh
2003-03-09 17:20                                 ` Zack Brown
2003-03-09 17:48                                   ` Martin J. Bligh
2003-03-09 19:58                                   ` Larry McVoy
2003-03-09 21:32                                     ` Zack Brown
2003-03-09 21:54                                       ` Valdis.Kletnieks
2003-03-09 23:28                                         ` Larry McVoy
2003-03-13 20:00                                     ` Pavel Machek
2003-03-09 17:39                                 ` Linus Torvalds
2003-03-09 17:58                                   ` Martin J. Bligh
2003-03-09 18:20                                   ` Larry McVoy
2003-03-09 23:19                                     ` fs
2003-03-13  0:41                                     ` Pavel Machek
2003-03-13 21:21                                       ` Horst von Brand
2003-03-09 20:01                                   ` Roman Zippel
2003-03-13  0:13                             ` Pavel Machek
2003-03-09 14:49                         ` Olivier Galibert
2003-03-13  0:05                         ` Pavel Machek
2003-03-10  0:02                     ` Thoughts about ideal kernel SCM Petr Baudis
2003-03-10  0:32                       ` Larry McVoy
2003-03-12 19:29                         ` Petr Baudis
2003-03-13 10:36                       ` Pavel Machek
2003-03-14 22:56                         ` Petr Baudis
2003-03-17 20:59                       ` Petr Baudis
2003-03-10  3:41                     ` BitBucket: GPL-ed KitBeeper clone Horst von Brand
2003-03-10 13:52                       ` Jamie Lokier
2003-03-10 23:03                     ` Daniel Phillips
2003-03-11 18:40                       ` Zack Brown
2003-03-11 18:46                         ` Martin J. Bligh
2003-03-11 19:30                           ` Daniel Phillips
2003-03-11 19:33                             ` Martin J. Bligh [this message]
2003-03-11 20:08                               ` Andrew Morton
2003-03-11 20:29                                 ` Martin J. Bligh
2003-03-12  6:14                             ` Werner Almesberger
2003-03-13  2:48                               ` Daniel Phillips
2003-03-13  3:11                                 ` Werner Almesberger
2003-03-14 12:29                             ` Pavel Machek
2003-03-15 20:53                               ` Martin J. Bligh
2003-03-15 21:26                               ` Daniel Phillips
2003-03-15 21:32                               ` Petr Baudis
2003-03-15 23:39                                 ` Petr Baudis
2003-03-16  0:39                               ` Horst von Brand
2003-04-07 21:22                               ` Petr Baudis
2003-03-12  3:47                         ` Horst von Brand
2003-03-12  4:03                           ` Larry McVoy
2003-03-12  4:49                             ` [PATCH] ~/kernel/sys.c (2.5.64) (trivial) Jay Patrick Howard
2003-03-12  5:22                           ` BitBucket: GPL-ed KitBeeper clone Zack Brown
2003-03-12  5:44                             ` Horst von Brand
2003-03-12 13:48                               ` Daniel Phillips
2003-03-13  1:03                                 ` Horst von Brand
2003-03-13 16:53                                   ` Daniel Phillips
2003-03-15 15:02                                     ` Horst von Brand
2003-03-15 21:25                                       ` Daniel Phillips
2003-03-12  6:19                             ` Werner Almesberger
2003-03-13  1:31                               ` Horst von Brand
2003-03-12 15:32                             ` Horst von Brand
2003-03-12 16:13                               ` Daniel Phillips
2003-03-12 20:37                                 ` Horst von Brand
2003-03-12 20:54                                   ` H. Peter Anvin
2003-03-13  2:00                                   ` Daniel Phillips
2003-03-15  1:03                                     ` Horst von Brand
2003-03-12 13:22                           ` Daniel Phillips
2003-03-13  0:52                             ` Horst von Brand
2003-03-13 17:00                               ` Daniel Phillips
2003-03-13 21:48                                 ` Zack Brown
2003-03-13 22:04                                   ` Daniel Phillips
2003-03-15 16:21                                 ` Horst von Brand
2003-03-15 21:25                                   ` Daniel Phillips
2003-03-15 21:53                                     ` Robert Anderson
2003-03-15 21:50                                       ` Randy.Dunlap
2003-03-15 22:16                                         ` Robert Anderson
2003-03-15 22:18                                         ` Robert Anderson
2003-03-16  0:18                                       ` Petr Baudis
2003-03-16  0:53                                         ` Davide Libenzi
2003-03-16  0:55                                         ` [arch-users] " Stig Brautaset
2003-03-16  1:44                                         ` Tom Lord
2003-03-16  2:06                                           ` Adam Spiers
2003-03-16  3:28                                             ` David Lang
2003-03-16  5:43                                         ` Robert Anderson
2003-03-16 11:57                                         ` (Re: BitBucket: GPL-ed KitBeeper clone) Moving to arch-users Petr Baudis
2003-03-14 11:34                         ` BitBucket: GPL-ed KitBeeper clone Pavel Machek
2003-03-12 23:38                     ` Pavel Machek
2003-03-09  2:06             ` Horst von Brand
     [not found]             ` <b4b98v_14m_1@penguin.transmeta.com>
2003-03-12 23:23               ` Pavel Machek
2003-03-13 21:15                 ` Horst von Brand
2003-03-08  0:18       ` Olaf Dietsche
2003-03-02  1:37 ` Filip Van Raemdonck
  -- strict thread matches above, loose matches on Subject: below --
2003-04-08 17:52 Chuck Ebbert
2003-04-08 18:02 ` Larry McVoy
2003-04-08 23:19   ` Jamie Lokier
2003-04-09  0:47     ` Larry McVoy
2003-04-09  1:34       ` Jamie Lokier
2003-04-09  1:43       ` Robert White
2003-04-09  2:09     ` Mark Mielke
2003-04-09 13:14       ` Mr. James W. Laferriere
2003-04-09 13:35         ` Matti Aarnio
2003-04-08 13:06 Chuck Ebbert
2003-04-07 23:57 Chuck Ebbert
2003-04-08  0:30 ` Larry McVoy
     [not found] <1047571030.5373.161.camel@passion.cambridge.redhat.com>
2003-03-15 14:17 ` Horst von Brand
2003-03-15 18:48   ` Larry McVoy
2003-03-15 18:51   ` David Woodhouse
     [not found] <20030309001008$2ed5@gated-at.bofh.it>
     [not found] ` <20030309001008$4e61@gated-at.bofh.it>
     [not found]   ` <20030309001008$0732@gated-at.bofh.it>
     [not found]     ` <20030309001008$747c@gated-at.bofh.it>
     [not found]       ` <20030309001008$6342@gated-at.bofh.it>
2003-03-15 10:47         ` Kai Henningsen
2003-03-13 16:21 Ed Vance
2003-03-15 14:31 ` Horst von Brand
2003-03-12 19:00 Kaz Kylheku
2003-03-03 17:02 Adam J. Richter
2003-03-02  2:23 Adam J. Richter
2003-03-03 15:26 ` Edward S. Marshall
2003-03-03 23:06   ` Daniel Phillips
2003-02-26 20:02 BitBucket: GPL-ed BitKeeper clone Pavel Machek
2003-03-01 18:05 ` BitBucket: GPL-ed KitBeeper clone Pavel Janík
2003-03-01 18:39   ` Christoph Hellwig
2003-03-01 22:43     ` Pavel Janík
2003-03-02  9:11       ` Christoph Hellwig
2003-03-02  9:30         ` John Bradford
2003-03-02  9:32           ` Christoph Hellwig
2003-03-03 12:39           ` Pavel Machek
2003-03-03 14:12           ` Alan Cox
2003-03-03 13:57             ` John Bradford
2003-03-03 14:22               ` Richard B. Johnson
2003-03-03 15:08                 ` John Bradford
2003-03-03 17:50                   ` David Lang
2003-03-03 19:37                   ` Pavel Machek
2003-03-03 19:49                     ` John Bradford
2003-03-03 14:22               ` Charles Cazabon
2003-03-02  9:57         ` Pavel Janík
2003-03-03  8:05       ` Helge Hafting
2003-03-03  8:28         ` Bernd Eckenfels
2003-03-01 20:58   ` Paul Fulghum
2003-03-02  4:52     ` Mike Galbraith
2003-03-03  0:02   ` Pavel Machek

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=24360000.1047411221@flay \
    --to=mbligh@aracnet.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillips@arcor.de \
    --cc=zbrown@tumblerings.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).