[05:14] <FailBit> can I use launchpadlib to grab a commit message from a specified revno of a bazaar branch?
[12:01] <shadeslayer> out of curiousity, how does launchpad deal with incoming uploads over ftp? Does it react when it detects new .changes files ( in which case, what happens if the .changes file is uploaded first, and the orig is uploaded at the end, and the processing might happen before the orig gets fully uploaded )
[12:01] <shadeslayer> or is it a cron job?
[12:02] <shadeslayer> wgrant: cjwatson ^^ ideas?
[12:30] <shadeslayer> wgrant: cjwatson ah ah, nvm
[12:44] <FailBit> Anyone get my question from yesterday?
[13:09] <cjwatson> FailBit: Not directly.  You can use launchpadlib to get the branch URL, but you'd then need to use bzr or bzrlib to get individual commit messages.  launchpadlib doesn't wrap bzrlib.
[13:09] <FailBit> Ok
[13:12] <cjwatson> shadeslayer: It's a cron job; but the FTP upload server is a custom one that moves the whole upload into place in one go at the end of the upload transaction.
[13:14] <shadeslayer> roger
[13:14] <shadeslayer> cjwatson: it's just that I was using the rsync/scp backend
[13:14] <shadeslayer> and that does fancy chmod stuff at the end
[13:15] <shadeslayer> and inotincoming had already triggered reprepro and reprepro had already deleted the files, so chmod failed
[13:15] <shadeslayer> hurray for things being too fast
[13:15] <shadeslayer> :P
[13:15] <shadeslayer> anyway, lunch :)
[13:21] <cjwatson> shadeslayer: Right, the upload server has to be quite careful if it wants to avoid that class of problem.  On the other hand it's a trade-off; it means that you can't resume an incomplete upload if it fails, and other similar problems (https://bugs.launchpad.net/launchpad/+bug/30415)
[13:41] <FailBit> oops.
[13:41] <FailBit> how do I get a information about a revno with bzrlib
[13:41] <FailBit> ?
[13:44] <FailBit> bzr log --line -c <revno> <branch>
[13:44] <shadeslayer> cjwatson: mmm fun
[13:44] <shadeslayer> anyway, I'm writing my own solution with ruby inotify now
[13:45] <shadeslayer> because for some reason sftp + inotincoming doesn't work
[15:29] <FailBit> what's "GhostRevisionsHaveNoRevno" ?
[15:32] <FailBit> $ bzr log --line -r 13337 lp:inkscape/experimental
[15:32] <FailBit> bzr: ERROR: Server sent an unexpected error: ('error', 'GhostRevisionsHaveNoRevno'…
[15:32] <FailBit> what does it mean?
[15:40] <FailBit> please, I'm so impatient…
[21:05] <FailBit> anyone?
[21:17] <wgrant> FailBit: That's bug #1049124. What exactly are you trying to do?
[21:18] <FailBit> wgrant: I was able to use nosmart+branchurl to get my bot to work
[21:18] <wgrant> It specifically affects asking a stacked branch for a revision that isn't in the branch itself, so it's often simple to work around.
[21:18] <wgrant> Right, that works too.
[21:19] <wgrant> The smartserver revision_id_to_revno method doesn't know to look at the stacked-on repository.
[21:19] <FailBit> The only problem is that bzr is slow =/
[21:19] <FailBit> 10 seconds after the request, usually it finds it
[21:19] <wgrant> Well, at least you can perform remote operations at all :)
[21:20] <wgrant> With eg. git you have to clone the repository locally to get the log.
[21:21] <FailBit> Compare
[21:21] <FailBit> /msg InkBot !bug 12345
[21:21] <FailBit> /msg InkBot !revno 12345
[21:21] <wgrant> Sure. If you want quick, regular access, just keep a copy of the branch locally.
[21:22] <FailBit> !revno takes another (optional) argument
[21:22] <FailBit> /msg InkBot !revno 1234,lp:lib2geom
[21:23] <FailBit> You can't have every branch always up to date locally unless you are the server :P
[21:23] <FailBit> taotie or something like that.
[21:23] <wgrant> That's the one.
[21:24] <wgrant> The current codehosting infrastructure doesn't let us provide direct access like that in an efficient manner. Upcoming changes should improve that, but it's all at least a year off.
[21:46] <FailBit> wgrant: the launchpad automailer is kinda odd — for example, comments in merge proposals have a mail sent instantly, while branch revision emails take a few minutes