darcs

Patch 330 Add a "buildbot-try" script to contrib that submits lo...

Title Add a "buildbot-try" script to contrib that submits lo...
Superseder Nosy List kowey, mornfall
Related Issues
Status accepted Assigned To
Milestone

Created on 2010-08-06.11:09:15 by mornfall, last changed 2011-05-10.17:16:00 by darcswatch. Tracked on DarcsWatch.

Files
File name Status Uploaded Type Edit Remove
add-a-_buildbot_try_-script-to-contrib-that-submits-local-changes-to-buildbot_.dpatch mornfall, 2010-08-06.11:09:15 text/x-darcs-patch
unnamed mornfall, 2010-08-06.11:09:15
See mailing list archives for discussion on individual patches.
Messages
msg11995 (view) Author: mornfall Date: 2010-08-06.11:09:15
Hi,

so I have implemented a "try" interface for our buildbot. The attached script
can be used to submit your local branch to buildbot. I will eventually set up
separate builders for this feature, so the normal waterfall is not spilled by
people submitting their patches.

The script is a little slow and quite ugly, which is in most part due to
missing darcs features. (Like, get --intersection, or pull --dry-run
--count...)

Nevertheless, it seems to work fairly well so far. You can submit builds from
(mostly) arbitrary branches of the darcs.net repo and the list of extra patches
shows up in buildbot output, together with an unified diff, like here:

http://buildbot.darcs.net/builders/6.12.1%20Debian/builds/97/steps/darcs/logs/patch

Yours,
    Petr.

PS: Due to security concerns, the submission system is password-protected
(otherwise, anyone on the internet could gain permissions to run arbitrary code
on the buildslaves). I will distribute the password to the review team folks.
1 patch for repository darcs-unstable@darcs.net:darcs:

Fri Aug  6 12:48:01 CEST 2010  Petr Rockai <me@mornfall.net>
  * Add a "buildbot-try" script to contrib that submits local changes to buildbot.
Attachments
msg11996 (view) Author: kowey Date: 2010-08-06.11:45:01
On Fri, Aug 06, 2010 at 11:09:15 +0000, Petr Ročkai wrote:
> +# Make a repo that's intersection of the upstream and ours and then pull our
> +# local patches on top. I wish there was a better (faster) way to do this.
> +darcs init
> +darcs pull --intersection .. http://darcs.net/ -a
> +darcs changes --context > _context
> +darcs pull -a .. --verbose 2>&1 | tee _newpatches

How about getting a known common tag and then the intersection from
there?

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
For a faster response, please try +44 (0)1273 64 2905.
msg11997 (view) Author: mornfall Date: 2010-08-06.12:05:57
Eric Kow <kowey@darcs.net> writes:

> On Fri, Aug 06, 2010 at 11:09:15 +0000, Petr Ročkai wrote:
>> +# Make a repo that's intersection of the upstream and ours and then pull our
>> +# local patches on top. I wish there was a better (faster) way to do this.
>> +darcs init
>> +darcs pull --intersection .. http://darcs.net/ -a
>> +darcs changes --context > _context
>> +darcs pull -a .. --verbose 2>&1 | tee _newpatches
>
> How about getting a known common tag and then the intersection from
> there?
How would you do that? I.e. how do you find such a tag, programatically?
(I would rather not assume too much about what patches you have in your
repo, since that could break in fairly interesting ways...)

Yours,
   Petr.
msg11999 (view) Author: kowey Date: 2010-08-06.12:32:47
On Fri, Aug 06, 2010 at 12:05:57 +0000, Petr Ročkai wrote:
> How would you do that? I.e. how do you find such a tag, programatically?
> (I would rather not assume too much about what patches you have in your
> repo, since that could break in fairly interesting ways...)

I'm suggesting not to try and solve it programmatically.

Perhaps we can at least assume that (for example), we have the tags for
the last stable major release minus one in common.

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
For a faster response, please try +44 (0)1273 64 2905.
msg12000 (view) Author: mornfall Date: 2010-08-06.12:36:29
Eric Kow <kowey@darcs.net> writes:

> On Fri, Aug 06, 2010 at 12:05:57 +0000, Petr Ročkai wrote:
>> How would you do that? I.e. how do you find such a tag, programatically?
>> (I would rather not assume too much about what patches you have in your
>> repo, since that could break in fairly interesting ways...)
>
> I'm suggesting not to try and solve it programmatically.
>
> Perhaps we can at least assume that (for example), we have the tags for
> the last stable major release minus one in common.

And change the script every major version? Come on... Also, if someone
tries to unpull an old patch (cherry picking, plausibly due to
suspecting that old patch of breaking something) they will be missing
the tag and the script will fall apart.

It would be *much* better to just implement get --intersection than to
try work around its absence (effectively implementing a bad and slow
version of it in bash).

Yours,
   Petr.
msg12001 (view) Author: kowey Date: 2010-08-06.12:42:15
On Fri, Aug 06, 2010 at 12:36:30 +0000, Petr Ročkai wrote:
> And change the script every major version?

Well, you wouldn't really have to, right?  Just as an occasional
optimisation.

> Come on... Also, if someone tries to unpull an old patch (cherry
> picking, plausibly due to suspecting that old patch of breaking
> something) they will be missing the tag and the script will fall
> apart.

> It would be *much* better to just implement get --intersection than to
> try work around its absence (effectively implementing a bad and slow
> version of it in bash).

Fair enough.

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
For a faster response, please try +44 (0)1273 64 2905.
msg12313 (view) Author: mornfall Date: 2010-08-26.10:06:42
This has been pushed a while back.
History
Date User Action Args
2010-08-06 11:09:15mornfallcreate
2010-08-06 11:10:09darcswatchsetdarcswatchurl: http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-2a2ef29ec0ac5cd24ab0d33780e8f8664c46c06b
2010-08-06 11:45:02koweysetnosy: + kowey
messages: + msg11996
2010-08-06 12:05:57mornfallsetmessages: + msg11997
2010-08-06 12:32:47koweysetmessages: + msg11999
2010-08-06 12:36:30mornfallsetmessages: + msg12000
2010-08-06 12:42:15koweysetmessages: + msg12001
2010-08-26 10:06:42mornfallsetstatus: needs-review -> accepted
messages: + msg12313
2011-05-10 17:16:00darcswatchsetdarcswatchurl: http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-2a2ef29ec0ac5cd24ab0d33780e8f8664c46c06b -> http://darcswatch.nomeata.de/repo_http:__darcs.net_reviewed.html#bundle-2a2ef29ec0ac5cd24ab0d33780e8f8664c46c06b