[ccan] CCAN status update

Rusty Russell rusty at rustcorp.com.au
Wed Mar 19 20:52:27 EST 2008


On Tuesday 18 March 2008 23:10:17 Adam Kennedy wrote:
> Since we've been accepted as a mentor org, I've been looking more into
> the current repo.

Bwahah, my plan is working!

> One thing we really need is some intro docs on how to get started, which
> I'll admit I need more than other people since I'm not a C native. It
> also would help me understand the workflow you are currently using.

Yes.  Currently my workflow looks like this (note the nice recursion as I 
create submodules):

create_module := write_module test_module checkin_module
write_module := [create_module]* [enhance_module]* WRITE-C-CODE
test_module := 'make test-<modname>'
enhance_module := WRITE-C-CODE test_module
check_in := 'bzr checkin'

> It's probably also time to look at doing a repository refactor as well,
> to start to conceptually separate a few things we've currently got
> munged together.
>
> For example, we currently don't separate the repository state of
> packages from the release state.
>
> That's fine for now, but it's something we probably need to look at
> fairly soon.

Yes, I'm just not sure how we want to do this.  I like the idea of a flow like 
the following:

new code comes in (bzr checkin or tarball)
-> automatic evaluation (does it have _info, testcases, other ccan-lint 
checks, etc)
-> place in appropriate spot (eg. junkcode, repo, core?)

updated code comes in (bzr checkin)
-> automatic evaluation and regression testing.  Stop if fails.
-> Non-core: commit.
-> Core: commit to testing branch.  After some delay w/ no bug reports, move
   to main branch.

Of course, the way we divide the modules is not necessarily reflected in the 
repository.

> I have to say I'm also not a huge fan of bzr either (I know you wanted
> to try it out because it was a version control you hadn't tried yet) :)
>
> Mostly, that's because I hate 1. Email 2. Patch files 3. Not having lots
> of people able to commit to trunk 4. Not having a decent Win32 gui that
> I can find.

Hmm, it's not entirely clear how to do that with bzr.  I assumed it was like 
mercurial (where you can either bundle together the changes and send them any 
way you want, or give you your ssh key and I can give you commit access to a 
particular repo).

I'll test this out...

> Mostly, I hate it because I can't see a simple way to refactor the
> layout of the repository easily by anyone other than you :)

I'm happy to change to mercurial if you prefer that.  I don't know what the 
Windows support is like.  Any ideas?

Thanks,
Rusty.



More information about the ccan mailing list