/srv/irclogs.ubuntu.com/2015/09/06/#launchpad-dev.txt

costellocjwatson thanks, yes, the fact that it is under /usr/share and not /usr/include was a bit misleading. .. should I really make copy of the file or say #include "/usr/share/gettext/gettext.h" .. say, now it is #defined to  npgettext_aux and if that detail of internal implementation is to change in the future, then..17:28
cjwatsoncostello: You should follow the directions in the gettext documentation, which say to copy it17:28
cjwatsoncostello: npgettext_aux is a static function declared in that same header file17:29
costelloOk, getgext.h is gpl. my package is lgpl and can't be gpl due to openssl licensing stupidities -> does this pose a problem?17:29
cjwatsoncostello: No idea, ask the gettext maintainers17:30
costelloIf I'm supposed to copy that. And that way also distribute it.17:30
costelloyes.17:30
cjwatsonI imagine you could just do the same things with dcgettext/dcngettext that it does17:31
cjwatsonThat's the actual important function, the rest is just syntactic sugar over the top17:31
costelloy. better idea.17:31
vilahmm, something is weird with  https://code.launchpad.net/~vila/bzr/1451448-skip-racy-tests17:54
vilalaunchpad doesn't show the diff even after way longer than usual (not a metric ;)17:55
vilabzr push --overwrite after 1 hour says 'No new revisions or tags to push' so the data is there17:56
cjwatsonvila: run this in "lp-shell production devel": lp.branches.getByUrl(url="lp:~vila/bzr/1451448-skip-racy-tests").unscan(rescan=True)20:51
vilacjwatson: lp-shell ? never heard about that before20:52
cjwatsonvila: (LP's bzr branch modelling is terrible and requires inserting a row for every revision in the branch's history when you push a new branch, so it often times out for large histories)20:52
cjwatsonvila: it's in lptools20:52
cjwatsonbasically just a Launchpad.login_with wrapper, but convenient20:52
cjwatsonvila: if the history isn't there after six minutes (technically five but let's make sure not to overlap) after you attempt the rescan, try it again, repeat until it actually manages to scan the thing20:53
vilacjwatson: ack, ran20:54
vilacjwatson: but well, it's 2 or 3 commits on top of trunk, I doubt we were close the limit before that...20:55
cjwatsonvila: it depends how hot things are in the DB (or something)20:55
cjwatsonvila: and this is not the first bzr branch that has timed out this way, by any means20:55
vilacjwatson: ack, thanks for the feedback anyway ;)20:55
cjwatsonvila: it may happen a bit less often for bzr than it does for LP itself, but we've had a number of other reports20:56
vilacjwatson: but the row has to be inserted for any bzr branch right ? Err, bzr the tool, not the project. I.e. every lp project using bzr share the same db table right ?20:57
cjwatsonthey all use BranchRevision, yes20:57
cjwatsonbut the number of rows varies wildly20:57
vilaso bzr the project itself shouldn't be more affected than any other project no ?20:57
cjwatsonit is, because it has quite a deep history20:57
vilacjwatson: oh, the cache...20:58
vilacjwatson: anyway, it worked ! Thanks a lot20:58
cjwatsonno, not the cache20:58
vilacjwatson: so little activity on bzr that the revs are not cached anymore ?20:58
cjwatson<cjwatson@niejwein ~/src/bzr/bzr/bzr.dev>$ bzr log | grep --count '^ *revno:'20:58
cjwatson660920:59
cjwatsonyou don't understand how terrible the LP data model is here20:59
cjwatsonif you push a new branch of bzr based on the above, it will insert 6609 + (something small) rows20:59
cjwatsoninstead of, say, (something small)20:59
cjwatsonand it turns out that trying to insert thousands of rows is slow21:00
vilaO_o even for already known revisions ?21:00
cjwatsonyes21:00
* vila heart stops21:00
cjwatsonit's revision per branch21:00
cjwatsonlike I say: terrible21:00
vilaI've heard stories about that table since... barcelona 2009 ? But I never realize there was revnos per *branch* :-(21:01
cjwatsonunrolling the whole graph into the DB in an incredibly inefficient way21:01
vilacjwatson: say no more ;-}21:01
cjwatsonwe avoided repeating this mistake for the git data model, obviously21:01
vilawell, you don't revnos in git anyway ;)21:02
cjwatsonit's not revnos anyway, it's revisions21:02
cjwatsoni.e. not just the left-hand side21:02
cjwatsonLP itself is at revno 17709, but every new LP branch we push involves inserting well over a hundred thousand rows21:03
cjwatsonit is very annoying21:03
vilabzr has revids, what you mention seems related to revnos, i.e. for the same revid, tracking all the revnos in the branches21:03
cjwatsonerr21:03
cjwatsonno it's not21:03
cjwatsonit's branch * revision (revid if you like), it's not relevant if they share revnos in many cases21:04
cjwatsonand it's not an attempt to track revnos, it's more like a performance-terrible implementation of merge detection21:04
* vila rollbacks21:05
vilaok, so you mean for each branch (irrelevant of whether revisions are shared via repositories), a list of *all* revisions is maintained and used to detect merges ?21:06
cjwatsonyes21:06
vilaand this doesn't try to use the bzr code that do the same but knows how to load only part of the graph ?21:06
cjwatsonpossibly other reasons21:07
vilayeah, ok, nm ;)21:07
cjwatsonI don't think there's any point analysing exactly why it got that way TBH21:07
cjwatsonI believe it's trying not to use the bzr code in question because that would require a callout to a system that actually has the branches in question21:09
cjwatsonmerge detection is done just with the LP database21:09
cjwatsonthat said, for the git implementation, we said screw that, we just call out to the git hosting system and ask it to do merge detection21:10
cjwatsonmuch easier21:10
cjwatsonWilliam had part of a BranchRevision 2.0 implementation at one point, but then we did git instead21:11
* vila nods21:11
wgrantTo be fair, at the time the code was devised, bzr LCA detection wasn't exactly fast.23:54

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!