Opened 8 years ago

Last modified 4 years ago

#1034 new enhancement

REQ: Fossil support

Reported by: fatman2 Owned by:
Priority: patches-accepted Milestone: 0.9.+
Version: 0.8.1 Keywords:
Cc:

Description

The steps in my master.cfg are all ShellCommands? atm. While this is perfectly satisfactory, I would like to see support for the tools I use, notably Fossil (and CMake, but one thing at a time).

Although Fossil works perfectly well with Buildbot in a ShellCommand? ("fossil update"), I would like to see tighter Fossil integration so that we might do something like:

src = s(source.Fossil,
        user="nobody", // nobody has very few rights
        password="", // nobody does not actually need to log in
        sync="update", // nobody can only do a one-way sync
        repourl="http://blah/repo.cgi",
        branch="trunk")

and I wouldn't need to go around cloning and opening beforehand on all my buildslaves. (For the above example to work, I think user nobody needs "clone" permission.)

Fossil is a source code management (SCM) tool for Windows, Linux, BSD and pretty much any other platform with a C compiler. A Fossil repo is a SQLite3 database. Fossil has no build requirements except a C compiler and is a single executable binary on all platforms.

I know certain parts of the source code very well, so feel free to ask. I have submitted a patch to add post-push hooking to Fossil (so we can do a "buildbot sendchange" server-side). I'm hoping my patch will make it into the main branch.

In usage, it is a lot like DARCS. (In fact there is a wiki page specifically for users migrating from DARCS because the basic usage is so familiar.)

Please see http://www.fossil-scm.org/ for more information on Fossil.

Change History (13)

comment:1 Changed 8 years ago by fatman2

I don't have a good feeling for how widely used Fossil is - do you think this would be beneficial to others? (bug 971 comment 11)

Mmm, it's hard to get a feel for the size of the Fossil community, but here are some observations:

  • The mailing list suggests there are quite a few active users since it issues one to three digests a day.
  • Fossil was featured on... let me check... "BSDTalk 194: Fossil SCM with D. Richard Hipp", so that must have attracted at least a couple of BSD users.
  • Then there is the Fossil bugs list with many bug reports in the last couple of months. Many bug reports implies many users finding bugs.

comment:2 Changed 8 years ago by dustin

  • Milestone changed from undecided to 0.8.3

comment:3 Changed 8 years ago by dustin

  • Milestone changed from 0.8.3 to 0.8.+

comment:4 Changed 7 years ago by lvh

I'd just like to add I also really like Fossil and hope fatman2's patch makes it in.

comment:5 Changed 7 years ago by dustin

lvh: it looks like fatman2 has the Fossil skillz to combine with your Twisted skillz to make this happen.

For the sake of fair warning: we're about to institute a "maintainer" system where someone is on the hook for fixes - and preventing bitrot - in VC components. Orphaned components with lots of bugs will make their way to the chopping block. Would one or both of you be willing to put your names on that list, and recruit others for the purpose as your interests evolve? I'd hate to see a lot of code written only to be removed in a year or two because it wasn't tended to properly.

comment:6 Changed 7 years ago by dustin

  • Milestone changed from 0.8.+ to 0.8.4

Let's target this for the next release for now. If it doesn't happen, we can push it back to 0.8.5.

comment:7 Changed 7 years ago by fatman2

I'd like to have a go at this. I think I could hack something together. My only concern is I have a full time job, so I don't have much time for coding these days. OTOH I might be about to quit my job (PHB seriously getting on my nerves), so I might have a lot of time opening up soon.

comment:8 Changed 7 years ago by dustin

Well, bearing in mind we can't pay you, sounds good.

Wisdom of posting about your boss in a public forum? Hrm..

comment:9 Changed 7 years ago by fatman2

He couldn't tell a CPU apart from a PSU, so the odds of him reading this are quite small.

comment:10 follow-up: Changed 7 years ago by dustin

  • Milestone changed from 0.8.4 to 0.8.+

I had a chat with some folks here at PyCon (lvh_ in particular) about Fossil support. It sounds like there is very little chance of creating a Fossil hook, but a poller might be possible.

Is this still something you're interested in seeing?

comment:11 in reply to: ↑ 10 Changed 7 years ago by fatman2

Replying to dustin:

I had a chat with some folks here at PyCon (lvh_ in particular) about Fossil support. It sounds like there is very little chance of creating a Fossil hook, but a poller might be possible.

Is this still something you're interested in seeing?

Yeah, sure is. The folks on the Fossil mailing list (paleontologists?) said the same to me, all convinced I couldn't figure out a way to get the "client" Fossil to signal the "server" Fossil to run a command. I admit my solution was a bit rough around the edges, but the concept worked. It's easy to say "it can't be done" until someone actually does it! ;)

comment:12 Changed 5 years ago by tom.prince

  • Priority changed from major to patches-accepted

comment:13 Changed 4 years ago by dustin

  • Milestone changed from 0.8.+ to 0.9.+

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.