public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: openbkweb-0.0
@ 2003-02-15 19:12 Nicolas Mailhot
  2003-02-15 20:42 ` openbkweb-0.0 Vlad@geekizoid.com
  0 siblings, 1 reply; 121+ messages in thread
From: Nicolas Mailhot @ 2003-02-15 19:12 UTC (permalink / raw)
  To: Larry McVoy; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1584 bytes --]

> if you guys can't come to some sort of consensus, then patents are the
> route we'll choose, even German law respects patents.

Software is not patentable in Europe right now, much as it pisses of the
patent office of the US of A (because it lowers the value of what they
offer) and the EU patent offices (for much the same reasons).

Note that won't stop EU patent offices granting (and being paid for)
software patents *now* for people that hope they'll be worth something
later.

Please do not go the software patent route. If you think the current bk
« debate » stinks, just wait till you put your finger in another hot
issue (which software patents *are* in Europe, 'cos lots of people don't
want the EU to follows the same braindamaged path as the USA).

You'll just shoot yourself in the foot. The shortcomings of CVS didn't
spurn any serious free alternative for years, this won't change any time
soon unless you start waving a red flag in front of everyone. Just
provide any sort of CVS gateway, and most people will go back hacking
elsewhere.

You did know creating bk would be an incentive for others to write
similar free tools didn't you ? All patents/NDAs/legal threats won't
change this fact. They'll only wipe out all the genuine goodwill you
earned in the community by helping Linus. Just look at the latest
messages, by invoquing all the stupid american legalese you've only
managed to startle people in other parts of the world.

Right now inertia is your friend. Be smart and stop making a fuss.

Regards,

-- 
Nicolas Mailhot

[-- Attachment #2: Ceci est une partie de message numériquement signée --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 121+ messages in thread
* openbkweb-0.0
@ 2003-02-06  2:10 Andrea Arcangeli
  2003-02-06  2:34 ` openbkweb-0.0 Dave Jones
                   ` (2 more replies)
  0 siblings, 3 replies; 121+ messages in thread
From: Andrea Arcangeli @ 2003-02-06  2:10 UTC (permalink / raw)
  To: linux-kernel

Hello,

In a few words: I prefer to spend time coding than in endless flamewars
on l-k, and I suggest everybody to do the same and to rather spend time
reading and contributing the code than in answerng this email unless
you've something technical to suggest of course ;)

If you're interested in checking out from the bitkeeper servers with an
open source program (GPLv2 actually) you can do/try it now (almost, see
below for the last trouble that I just discussed today on l-k).

	http://www.us.kernel.org/pub/linux/kernel/people/andrea/openbkweb/openbkweb-0.0.tar.gz

I should thanks Aaron Swartz, since I included a GPLv2 html2text python
library for him (google found it) that makes it trivial to extract the
data.

For example to checkout bk head starting from a 2.5.59 tarball on
kernel.org the command is:

	mkdir 2.5-pickle
	python bkweb.py -u http://linux.bkbits.net:8080/linux-2.5 --rev=1.947.3.4 -t linux-2.5.59 -c 2.5-pickle

The number 1.947.3.4 cames from this webpage:

	http://linux.bkbits.net:8080/linux-2.5/ChangeSet@-4w?nav=index.html

you'll see that 1.947.3.4 matches the release number 2.5.59. The number
1.947.3.4 tells bkweb to apply all the changesets from 1.947.3.5 to the
last one. So it's really simple.

bkweb will fetch the data, will save it in the cache directory
(2.5-pickle) and it will apply it to the linux-2.5.59 directory.

Unfortunately it doesn't work reliably when Linus merges old changesets,
the logic will be confused. The current logic thinks all changesets can
be applied in order.

the problem is that to generate bk head it may have to apply also some
changeset in the past, not only between 2.5.59 to the last one in
cronological order. That still needs a solution. One solution could be
also that nobody should send bk pull to Linus anymore, if everybody
sends patches it won't risk to reject anymore ;) but I doubt it's an
acceptable one for everybody, I assume somebody is confortable with it, if
they're using it right now. I also suspect it will be necessary to use a
different numbering and not to use the bk changeset numbers as index.  The
object is to never have to rebuild the database. Currently I don't even
store persistent the ordering (not point to store it yet since it's not a 100%
reliable ordering ;).

The -c parameter tells the directory where to generate the cache. the
cache is truly the whole repository and it contains all the data and
metadata in an open form. To get it just run:

	changeset = self.unpickle(revision)

where revision can be '1.947.3.5'. dir(changeset) will show you what you
can find there, it's a live class after being restored from disk (I put
only data in there to save space on disk but in theory it could contain
software too, not that I think it is useful but..).

the output looks like this

athlon:~/devel/bkweb> python bkweb.py -u http://linux.bkbits.net:8080/linux-2.5 --rev=1.947.3.4 -t ~/devel/kernel/x -c ~/devel/kernel/2.5-pickle >/tmp/x
Downloading (linux.bkbits.net:8080,/linux-2.5/) ... done.
Found 14 Changeset fallback pages.
Searching rev 1.947.3.4 ... found at CHS 6
Pending 294 revisions
Downloading changeset 1.947.3.5 ... done.
------ Changeset:       1.947.3.5
------ Author:          scott.feldman@intel.com
------ Date:            2003-01-16 23:06:26-05:00
------ Commentary:      [netdrvr e100] udelay a better way

* Bug Fix: TCO workaround after hard reset of controller to wait for TCO
  traffic to settle.  Workaround requires issuing a CU load base command
  after hard reset, followed by a wait for scb and finally a wait for
  TCO traffic bit to clear.  Affects 82559s and above wired to SMBus.

------ Files:           ['drivers/net/e100/e100_main.c']
patching file drivers/net/e100/e100_main.c
make distclean ... done.
Pending 293 revisions
Downloading changeset 1.947.3.6 ... done.
------ Changeset:       1.947.3.6
------ Author:          scott.feldman@intel.com
------ Date:            2003-01-16 23:38:43-05:00
------ Commentary:      [netdrvr e100] fix TxDescriptor bit setting
------ Files:           ['drivers/net/e100/e100_main.c']
patching file drivers/net/e100/e100_main.c
make distclean ... done.
Pending 292 revisions
Downloading changeset 1.947.3.7 ... done.
------ Changeset:       1.947.3.7
------ Author:          scott.feldman@intel.com
------ Date:            2003-01-16 23:40:31-05:00
------ Commentary:      [netdrvr e100] standardize nic-specific stats
support

* Removed /proc/net/PRO_LAN_Adapters
* Added ethtool GSTATS support
------ Files:           ['drivers/net/e100/Makefile', 'drivers/net/e100/e100.h', 'drivers/net/e100/e100_main.c']
patching file drivers/net/e100/Makefile
patching file drivers/net/e100/e100.h
patching file drivers/net/e100/e100_main.c
[..]

at the first reject it stops and writes to stdout (/tmp/x in my example)
the patch that rejected so you can analyze it. I think it never completed
successfully yet but if it works correctly it should just exit with
nothing in stdout (with stdout I really mean fd 1, not stderr of
course).

So if you run the same command twice the second time it will find
everything in the cache obviously, and the cache is trivial to
manipulate using simple python scripts, so you can automate searches on
files in the changesets or whatever (including feeding the data into CVS
or whatever) So backing up the cache effectively you save the whole
bitkeeper repository (only the main branch). Converting the cache to
something python indipendent is trivial too, I wrote this thing fast
so this was the easiest way.

My main object is to give access to data and metadata of the changesets
generated during kernel development in a very manageable form to
everybody, reliably, without proprietary licence restrictions, and to store it
somewhere (possibly mirrored) in a open standard. This had to be the
case since the first place IMHO. the cset/ directory doesn't allow
anything like that in terms of regenerating the whole tree or managing
the metadata, and it's even less reliable than bkweb. The fact I've to
fetch from the web and not from the cset/ directories on the mirrors
should tell the whole story about the completeness of the cset/
directory. cset/ is better than nothing but it doesn't obviate the need
of bkweb or bk.

I wrote the first line of this program yesterday (it's not that I've
that much time for this thing but eventually I wanted to checkout
through the bitkeeper database too), clearly it's not well tested and I
don't have much time for it.

I guess the bitkeeper network protocol could be also implemented on the
longer run, it should be much faster to fetch all the database that way,
but clearly decoding the html is been much easier and it is supposed to
run in background for me, so I don't care about the checkout speed at
the moment.

If you run it like shown above it will stop like below on
fs/jfs/inode.c.rej in changeset 1.947.6.2, removing -F1 from the patch
parameters should workaround it but I didn't even tried it since I need
to solve this problem before it is really useful.

[..]
Pending 278 revisions
Downloading changeset 1.947.9.4 ... done.
------ Changeset:       1.947.9.4
------ Author:          ganesh@veritas.com
------ Date:            2003-01-17 11:58:19-08:00
------ Commentary:      [PATCH] USB ipaq driver ids

Added ids for the Dell Axim and Toshiba E740.

Thanks to Ian Molton and B.I.
------ Files:           ['drivers/usb/serial/ipaq.c', 'drivers/usb/serial/ipaq.h']
patching file drivers/usb/serial/ipaq.c
patching file drivers/usb/serial/ipaq.h
make distclean ... done.
Pending 277 revisions
Downloading changeset 1.947.6.2 ... done.
------ Changeset:       1.947.6.2
------ Author:          shaggy@ibm.com
------ Date:            2003-01-17 14:17:30-06:00
------ Commentary:      JFS: replace ugly JFS debug macros with simpler ones.

JFS has always used ugly debug macros, jFYI, jEVENT, & jERROR.  I have
replaced them with simpler jfs_info(), jfs_warn(), & jfs_err().

------ Files:           ['fs/jfs/inode.c', 'fs/jfs/jfs_btree.h', 'fs/jfs/jfs_debug.h', 'fs/jfs/jfs_dmap.c', 'fs/jfs/jfs_dtree.c', 'fs/jfs/jfs_imap.c', 'fs/jfs/jfs_inode.c', 'fs/jfs/jfs_logmgr.c', 'fs/jfs/jfs_metapage.c', 'fs/jfs/jfs_mount.c', 'fs/jfs/jfs_txnmgr.c', 'fs/jfs/jfs_umount.c', 'fs/jfs/jfs_unicode.c', 'fs/jfs/jfs_xtree.c', 'fs/jfs/namei.c', 'fs/jfs/super.c']
patching file fs/jfs/inode.c
Hunk #5 FAILED at 377.
1 out of 5 hunks FAILED -- saving rejects to file fs/jfs/inode.c.rej
patching file fs/jfs/jfs_btree.h
patching file fs/jfs/jfs_debug.h
patching file fs/jfs/jfs_dmap.c
patching file fs/jfs/jfs_dtree.c
patching file fs/jfs/jfs_imap.c
patching file fs/jfs/jfs_inode.c
patching file fs/jfs/jfs_logmgr.c
patching file fs/jfs/jfs_metapage.c
patching file fs/jfs/jfs_mount.c
patching file fs/jfs/jfs_txnmgr.c
patching file fs/jfs/jfs_umount.c
patching file fs/jfs/jfs_unicode.c
patching file fs/jfs/jfs_xtree.c
patching file fs/jfs/namei.c
patching file fs/jfs/super.c
Traceback (most recent call last):
  File "bkweb.py", line 283, in ?
    bkweb(sys.argv)
  File "bkweb.py", line 279, in bkweb
    checkout(url, rev, tree, cache, verbose)
  File "bkweb.py", line 235, in checkout
    raise 'FailedPatch', changeset.rev
FailedPatch: 1.947.6.2

Andrea

^ permalink raw reply	[flat|nested] 121+ messages in thread

end of thread, other threads:[~2003-02-21 21:07 UTC | newest]

Thread overview: 121+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-15 19:12 openbkweb-0.0 Nicolas Mailhot
2003-02-15 20:42 ` openbkweb-0.0 Vlad@geekizoid.com
2003-02-16 10:36   ` openbkweb-0.0 Nicolas Mailhot
  -- strict thread matches above, loose matches on Subject: below --
2003-02-06  2:10 openbkweb-0.0 Andrea Arcangeli
2003-02-06  2:34 ` openbkweb-0.0 Dave Jones
2003-02-06  3:09 ` openbkweb-0.0 Larry McVoy
2003-02-06  4:23   ` openbkweb-0.0 Ben Collins
2003-02-06  4:37     ` openbkweb-0.0 Larry McVoy
2003-02-06  6:02       ` openbkweb-0.0 Willy Tarreau
2003-02-06  6:14         ` openbkweb-0.0 David Lang
2003-02-06 14:23         ` openbkweb-0.0 Geert Uytterhoeven
2003-02-13  2:47 ` openbkweb-0.0 Jamie Lokier
2003-02-13 11:55   ` openbkweb-0.0 Rik van Riel
2003-02-13 16:13     ` openbkweb-0.0 Larry McVoy
2003-02-13 16:23       ` openbkweb-0.0 Xavier Bestel
2003-02-13 16:46         ` openbkweb-0.0 Larry McVoy
2003-02-13 16:56       ` openbkweb-0.0 John Bradford
2003-02-13 21:11       ` openbkweb-0.0 Adrian Bunk
2003-02-13 21:18         ` openbkweb-0.0 Robert Love
2003-02-14 12:59           ` openbkweb-0.0 Xavier Bestel
2003-02-13 22:05         ` openbkweb-0.0 Larry McVoy
2003-02-13 22:56           ` openbkweb-0.0 Jamie Lokier
2003-02-14  6:02             ` openbkweb-0.0 Matthew D. Pitts
2003-02-14  6:30               ` openbkweb-0.0 David Lang
2003-02-14 14:41                 ` openbkweb-0.0 Alan Cox
2003-02-14 13:54                   ` openbkweb-0.0 Matthew D. Pitts
2003-02-14 15:30                   ` openbkweb-0.0 Larry McVoy
2003-02-14 15:45                     ` openbkweb-0.0 Geert Uytterhoeven
2003-02-14 16:56                     ` openbkweb-0.0 Alan Cox
2003-02-14 16:47                       ` openbkweb-0.0 Tomas Szepe
2003-02-14 16:50                         ` openbkweb-0.0 Larry McVoy
2003-02-14 17:09                           ` openbkweb-0.0 Tomas Szepe
2003-02-14 17:24                             ` openbkweb-0.0 Larry McVoy
2003-02-15 11:42                               ` openbkweb-0.0 Henning P. Schmiedehausen
2003-02-15 14:42                                 ` openbkweb-0.0 Andrew Walrond
     [not found]                                   ` <1045342539.5130.5.camel@irongate.swansea.linux.org.uk>
     [not found]                                     ` <3E4F7E20.30905@walrond.org>
2003-02-16 20:18                                       ` openbkweb-0.0 Henning Schmiedehausen
2003-02-16 20:23                                         ` openbkweb-0.0 Larry McVoy
2003-02-16 21:18                                           ` openbkweb-0.0 Henning P. Schmiedehausen
2003-02-15  0:11                       ` openbkweb-0.0 Vlad@geekizoid.com
2003-02-15  0:52                         ` openbkweb-0.0 Jamie Lokier
2003-02-15  0:56                           ` openbkweb-0.0 Vlad@geekizoid.com
2003-02-15  1:50                         ` openbkweb-0.0 Alan Cox
2003-02-15  1:01                           ` openbkweb-0.0 Vlad@geekizoid.com
2003-02-15  2:00                             ` openbkweb-0.0 Jamie Lokier
2003-02-15  2:41                               ` openbkweb-0.0 Larry McVoy
2003-02-15  3:11                                 ` openbkweb-0.0 Jamie Lokier
2003-02-15  3:30                                   ` openbkweb-0.0 Larry McVoy
2003-02-15  5:00                                   ` openbkweb-0.0 Aggelos Economopoulos
2003-02-15  5:32                                     ` openbkweb-0.0 Larry McVoy
2003-02-15  7:24                                       ` openbkweb-0.0 Aggelos Economopoulos
2003-02-15  6:20                                     ` openbkweb-0.0 Jamie Lokier
2003-02-15  7:27                                       ` openbkweb-0.0 Aggelos Economopoulos
2003-02-15  2:13                             ` openbkweb-0.0 Alan Cox
2003-02-15  8:02                         ` openbkweb-0.0 John Bradford
2003-02-16 11:17                     ` openbkweb-0.0 Pavel Janík
2003-02-14 20:31             ` openbkweb-0.0 Adrian Bunk
2003-02-14 22:02               ` openbkweb-0.0 Thomas Molina
2003-02-15  0:39                 ` openbkweb-0.0 Jamie Lokier
2003-02-15 16:18                   ` openbkweb-0.0 Andrea Arcangeli
2003-02-15 21:31                     ` openbkweb-0.0 David Lang
2003-02-19  9:57                       ` openbkweb-0.0 Andrea Arcangeli
2003-02-19 10:43                         ` openbkweb-0.0 David Lang
2003-02-19 10:51                           ` openbkweb-0.0 Andrea Arcangeli
2003-02-16 21:03                     ` openbkweb-0.0 Henning P. Schmiedehausen
2003-02-19  9:54                       ` openbkweb-0.0 Andrea Arcangeli
2003-02-14 23:45               ` openbkweb-0.0 Jamie Lokier
2003-02-14 23:57                 ` openbkweb-0.0 Larry McVoy
2003-02-15  0:45                   ` openbkweb-0.0 Jamie Lokier
2003-02-15  1:05                     ` openbkweb-0.0 Davide Libenzi
2003-02-15  1:13                       ` openbkweb-0.0 David Lang
2003-02-15  1:18                         ` openbkweb-0.0 David Lang
2003-02-15  1:29                         ` openbkweb-0.0 Vlad@geekizoid.com
2003-02-15  1:40                           ` openbkweb-0.0 David Lang
2003-02-15  1:35                       ` openbkweb-0.0 Jamie Lokier
2003-02-15  7:36                   ` openbkweb-0.0 Adrian Bunk
2003-02-15  9:46                     ` openbkweb-0.0 David Lang
2003-02-15 11:47                   ` openbkweb-0.0 Henning P. Schmiedehausen
2003-02-15 11:50                     ` openbkweb-0.0 Christoph Hellwig
2003-02-15 12:07                       ` openbkweb-0.0 Jörn Engel
2003-02-15 16:44                         ` openbkweb-0.0 Christoph Hellwig
2003-02-15 12:10                       ` openbkweb-0.0 Henning P. Schmiedehausen
2003-02-15 16:58                         ` openbkweb-0.0 Christoph Hellwig
2003-02-16 20:26                           ` openbkweb-0.0 Henning Schmiedehausen
2003-02-16 21:11                             ` openbkweb-0.0 John Jasen
2003-02-18 17:41                             ` openbkweb-0.0 Christoph Hellwig
2003-02-15 17:44                   ` openbkweb-0.0 Nicolas Pitre
2003-02-15 18:12                     ` openbkweb-0.0 Larry McVoy
2003-02-15 20:44                       ` openbkweb-0.0 Alan Cox
2003-02-15 20:54                         ` openbkweb-0.0 Larry McVoy
2003-02-16  4:08                           ` openbkweb-0.0 Nicolas Pitre
2003-02-16  5:18                             ` openbkweb-0.0 David Lang
2003-02-16  5:35                               ` openbkweb-0.0 Nicolas Pitre
2003-02-16 22:34                                 ` openbkweb-0.0 Pavel Machek
2003-02-17  4:31                                 ` openbkweb-0.0 Jamie Lokier
2003-02-17 14:50                                   ` openbkweb-0.0 Rik van Riel
2003-02-18 22:34                                     ` openbkweb-0.0 David Lang
2003-02-19  8:31                                       ` openbkweb-0.0 Pavel Janík
2003-02-19 15:11                                         ` openbkweb-0.0 Paul Fulghum
2003-02-19 15:16                                           ` openbkweb-0.0 Larry McVoy
2003-02-19 15:28                                             ` openbkweb-0.0 Pavel Machek
2003-02-19 15:47                                         ` openbkweb-0.0 Nicolas Pitre
2003-02-15 21:56                       ` openbkweb-0.0 Davide Libenzi
2003-02-15 21:52                         ` openbkweb-0.0 Larry McVoy
2003-02-15 22:04                           ` openbkweb-0.0 Davide Libenzi
2003-02-15 22:11                           ` openbkweb-0.0 John Bradford
2003-02-15 22:24                             ` openbkweb-0.0 Andrew Morton
2003-02-15 22:44                               ` openbkweb-0.0 John Bradford
2003-02-16  0:15                                 ` openbkweb-0.0 Matt Reppert
2003-02-16  0:46                                   ` openbkweb-0.0 John Bradford
2003-02-16  0:55                                     ` openbkweb-0.0 John Bradford
2003-02-16  3:23                                     ` openbkweb-0.0 Larry McVoy
2003-02-16  5:22                                       ` openbkweb-0.0 Alan Cox
2003-02-16 11:08                                         ` openbkweb-0.0 John Bradford
2003-02-16 11:22                                           ` openbkweb-0.0 David Woodhouse
2003-02-16 11:50                                             ` openbkweb-0.0 John Bradford
2003-02-16  9:58                             ` openbkweb-0.0 Filip Van Raemdonck
2003-02-16 14:42                       ` openbkweb-0.0 Gaël Le Mignot
2003-02-16 16:27                         ` openbkweb-0.0 Jörn Engel
2003-02-14 20:28           ` openbkweb-0.0 Adrian Bunk
2003-02-14 20:35             ` openbkweb-0.0 nick
2003-02-15  0:17               ` openbkweb-0.0 Vlad@geekizoid.com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox