/srv/irclogs.ubuntu.com/2010/01/14/#bzr.txt

mwhudsonbut it's actively bad, just poorly performant00:00
mkanatmwhudson: Yeah.00:00
mwhudsonmkanat: i guess i'd say it's ok as it is00:00
PengRace conditions and bug fixes that don't always work make me feel icky.00:00
PengObjectively, it's an improvement over hte current situation, but..00:00
mwhudsonmkanat: maybe put a comment in?00:00
mkanatmwhudson: That seems reasonable.00:01
mwhudsonor maybe try the extra lock and see how performance goes?00:01
mkanatmwhudson: Sure, I'll try the second lock.00:01
mkanatmwhudson: It has no noticeable effect on performance (within the margin of error of my tests).00:03
PengCould Loggerhead still get killed by a bunch of different caches being built at once?00:04
mkanatPeng: That's what we're going to see.00:04
mkanatPeng: That problem didn't actually happen in the hang logs--it was always the building of a graph for the same project over and over.00:05
PengHuh.00:05
Pengmkanat: Ah, I see what you wrote on the bug.00:06
PengOK.00:06
mkanatOkay, pushed a new version.00:08
mkanatHmm, the preview diff doesn't include my newly-pushed commit?00:09
poolieit takes a minute00:09
poolieto update00:09
mkanatAh, okay.00:09
poolieminute==little while, not precisely a minute00:09
mwhudsonthe cronjob runs every minute now actually00:10
PengThis is getting excessively pedantic, but should the new lock use a try...finally too? :D00:10
Peng(The answer is probably no!)00:11
mwhudsoni reviewed the branch00:11
mkanatPeng: Yeah, no. :-)00:11
mwhudsonit's lunchtime though00:11
mkanatPeng: I don't think anything in there can throw an exception.00:11
mwhudsonPeng: want to land if if you're happy with it?00:11
mwhudsonmkanat: well anything _can_ fail (consider memoryerror)00:11
mwhudsonbut....00:11
mwhudsonoh no00:11
PengYeah.00:11
PengOh no?00:11
mwhudsonhm00:12
mwhudsonwe have this thread killer in launchpad00:12
mwhudsonso we should be really paranoid i think00:12
PengGiven the consequences (LH would basically die), paranoid sounds good to me.00:12
mwhudsoni can't see why a thread would have only got this far in 300 seconds or whatever00:12
mwhudsonbut what Peng says00:12
pooliejam, does https://bugs.edge.launchpad.net/bzr/+bug/507040 suggest anything to you?00:13
mkanatmwhudson: Okay.00:14
ubottuLaunchpad bug 507040 in bzr "NoSuchRevision during "bzr check"" [Medium,Confirmed]00:14
PengWith that change, I'd be happy to land it.00:14
* mwhudson vanishes for a bit00:14
mwhudsonPeng: thanks00:14
mkanatOkay, pushed.00:15
mkanatAnnotateUI is still really slow.00:16
mkanatBut everything else is fast.00:16
mkanatAnd "really slow" now is 11 seconds, not 120.00:16
Pengmkanat: Awesomesocks, thanks.00:16
mkanat2x users = 5x time.00:18
PengPushing now.00:20
mkanatPeng: Once it's live, an easy way to test would be to open several tabs that would all build a revision graph cache at once, for one branch.00:22
mkanatPeng: That seems to be what people were doing that caused the hangs.00:22
mkanatPeng: It has to be on a huge branch though, like launchpad or bzr itself or mysql.00:23
PengMm.00:24
PengIt's totally _possible_ for someone to do the same thing to several different branches of LP or MySQL, just even less likely./00:25
mkanatPeng: Yeah. And also, that's a level of concurrency that loggerhead should validly handle.00:26
mkanatPeng: Whereas buliding multiple revision graph caches for the same branch is something that's never necessary.00:26
mkanatPeng: If we see problems across multiple projects, then we can switch to a global semaphore around the per-branch lock.00:27
mkanatPeng: The problem then is that we have to make some judgement about how many caches it's OK to build simultaneously, which we can't really know, and that gets into needless configuration by the admin, and so on.00:27
PengPlus, it would be a shame to block everyone building a little cache as well.00:29
PengBBIAB -- Hopefully we didn't just blow anything up.00:33
PengYay, nothing exploded.01:05
mkanatYay. :-)01:06
mkanatNow we see if the hangs keep happening.01:06
jampoolie: bug #507040 looks to me like a missing inventory that is expected to be there03:27
ubottuLaunchpad bug 507040 in bzr "NoSuchRevision during "bzr check"" [Medium,Confirmed] https://launchpad.net/bugs/50704003:27
jamwhich hints at a stacking issue03:27
jambut it isn't something I've specifically seen03:27
=== tchan1 is now known as tchan
=== thumper is now known as the-watcher
magciusIs there documentation about how bzr works internally? The object format... are full files stored or just deltas.03:54
PengBoth.03:54
=== the-watcher is now known as thumper
magciusPeng, where?03:55
PengErr, i was answering the second question. :P03:55
PengIt mainly uses deltas, but occasionally throws in a fulltext to keep performance up.03:55
magciusOh.03:55
spivmagcius: there's some docs in the doc/developers directory03:56
spiv(or http://doc.bazaar.canonical.com/bzr.dev/developers/)03:56
spivmagcius: but they are far from complete on this sort of topic :/03:57
bvkhi, how do i get combined diff (without using revision numbers) after some "local commits" in a "bzr checkout" directory?04:52
spivHmm, possibly "bzr diff :bound" ?04:56
bvkspiv: no, it didn't work :(04:58
fullermdYou'd probably need something more like 'bzr diff -rancestor::bound..' I'd guess.05:05
StevenKspiv: Did you get the e-mail that contained my bzr logs? It was sent a while ago.05:10
spivStevenK: hmm, I think so yes05:11
scorp007when I make a merge directive, will it contain my log messages that I committed locally with?05:50
scorp007or does the patch simply forget them and treat em all as one change?05:51
bob2yes, no05:51
scorp007oh, so from the merge directive, how can I see/extract the log messages?05:51
scorp007will it automatically happen when I merge?05:51
bob2yes05:51
scorp007ah, great. Out of curiosity, is it possible to view them prior to that?05:52
bob2don't know, sorry05:52
scorp007ok, that's fine. Thanks05:53
scorp007how can I temporarily set my HEAD to an older revision. (not revert, I don't want uncommitted changes)06:03
scorp007sort of like a svn update -r<old revision>06:03
RAOFbzr branch -r<old revision> old-thing06:05
RAOFSorry, “bzr branch -r<old revision> current-branch old-revision”.06:05
scorp007won't that make a new branch?06:05
pooliescorp007: if you have a recent bzr 2.1, you can use update -r06:06
scorp007otherwise I must make a new branch each time?06:06
RAOFpoolie: Interesting.  How does that handle allowing you to get back to your old branch?06:07
poolieraof, it only sets the working tree back to an old revision, it doesn't change the branch06:07
poolieso plain update will take you back to the tip06:07
RAOFHm.  That could be useful, yah.06:07
poolieso scorp's question is a bit contradictory: it fulfils the aspect of being like svn update06:08
lifelesspoolie: the exit button in tribunal-view-subunit is greyed out for me.06:08
poolieyes :)06:08
poolieit is a placeholder for useful tb buttons06:08
pooliei saw your mail06:08
lifelessok06:08
lifelessI wasn't sure if it was just me :(06:08
lifelesss/(/)06:08
pooliei don't think it's good for gui programs to default to reading stdin06:08
pooliecos it tends to make them just sit there waiting for stuff06:09
scorp007poolie, I'm not sure I understand.06:09
mneptoklifeless: you should use that as the title for your memoirs.06:09
pooliei'd be happy to have it understand '-' as an argument though06:09
lifelesspoolie: oh, ok. I did that because of the module docstring.06:09
scorp007I made a new branch as a copy from my main one -- I want to simulate a merge using a merge directive06:09
mneptoks/(/)06:09
scorp007but my copy is alreadt at the latest verison06:09
lifelesspoolie: 'Reads a subunit stream from stdin  ...' - I figured it was a bug I was fixing for you :)06:09
poolieheh06:10
poolieanyhow i'll look at merging it06:10
lifelesspoolie: yeah, - would be better.06:10
pooliei'd like to eventually give it commands to open files and to run subprocesses06:11
lifelesspoolie: what I /wanted/ was for no-args to not crash with an IndexError, and to put in the testrepository support06:11
poolie:-)06:11
poolieas another comment notes, reading from a pipe will suck a bit until it's done asynchronously06:11
lifelessI'm going to have dinner with scott, see you tomorrow06:11
lifelesspoolie: if you want code to read from a pipe asynchronously in gtk06:11
poolieoh ok06:11
pooliesay hi for me please06:11
lifelesspoolie: see subunit2gtk - it has code to do that.06:12
poolieok06:12
lifelessfeel free to liberate and repurpose to your hearts desie06:12
lifelesss/ie/ire/06:12
lifelessmneptok: econtext06:12
pooliek06:12
* lifeless is gone06:13
pooliethanks for the imports spiv07:12
vilahi all !07:30
pooliehi vila07:39
vilahey poolie !07:39
_AndrewIs there something like svn's propset in bzr? I want to insert the revision number into a file08:00
poolie_Andrew: http://wiki.bazaar.canonical.com/KeywordExpansion08:03
poolievila, circular imports are hurting me :/08:32
vilawhere ?08:32
pooliei want to set ui.ui_factory to be an instance of the TextUIFactory08:32
pooliebut that's declared in a submodule of ui of course08:32
vilahmm, setting a global instance is always tricky, generally you need to involve a call somewhere to add some lazyness in the loop08:33
vilaIf you can't.... you need to rethink your design :D08:34
pooliemm08:35
pooliegood night08:52
bialixheya bzr09:42
vilahi bialix09:48
bialixhi vila09:48
quicksilvervila: I'm fairly sure my solution worked. I have pushed the clean branch to our repository.09:51
quicksilvervila: it seems to merge cleanly with other related branches, which is the main test.09:51
quicksilver(if I'd done it wrong, merges would be expected to cause conflicts)09:51
vilahttp://instantrimshot.com/09:51
quicksilvervila: I'm just writing up a report for the mailing list, although I have plenty of work to do so I might not email it for a day or two.09:51
vilaquicksilver: great ! as long it comes in, I'm happy09:52
bob2f/win2909:52
bob2bah09:52
=== loxs_wrk is now known as loxs
=== mrevell is now known as mrevell-lunch
jkprg_hi! I want to implement central shared repository. How could I prevent someone will delete the repository? Thx13:01
=== jkprg_ is now known as jkprg
=== gnomefreak is now known as thunderstrck
=== thunderstrck is now known as gnomefreak
=== gnomefreak is now known as gnomefreak76
=== gnomefreak76 is now known as gnomefreak
=== gnomefreak is now known as gnomefreak76
=== gnomefreak76 is now known as gnomefreak
=== mrevell-lunch is now known as mrevell
davertronhi guys, if i have a branch with a working tree, and i want to create a "central" branch with no working tree from that branch, how do i do that?14:19
jamdavertron: 'bzr push' or 'bzr branch --no-tree"14:21
davertronbzr: ERROR: no such option: --no-tree14:21
ToksyuryelWhat version of bzr are you using?14:22
davertroni'm using 1.1214:22
davertronmaybe too old?14:22
ToksyuryelAncient14:22
davertronfigures14:22
wundoHi, right now I have an SVN repository with tons of data (and over 5k revisions), I'm willing to change to BZR, but I'm not sure how to deal with access control. Could someone give me some guidance please?14:37
rubbswundo: really the only way to deal with access control is to do it at the system level.14:38
rubbswundo: due to the distributed nature of DVCS, commit-access isn't as much of an issue at the repo level (since everyone gets their own repo).14:39
rubbsso the only way to really stop write access is to do so at the system level.14:39
wundoI'm willing to use bzr with a centralized workflow... And I'm willing to prevent people from reading certain directories too, not only writing.14:40
quicksilverI don't think bzr works well with people only having access to certain directories?14:41
quicksilverin my experience you always get a whole branch.14:42
rubbsexactly14:42
rubbsif you're looking for per-directory/per-file permissions, you'd have to split up the repo14:42
rubbsbzr doesn't allow for partial checkouts14:42
wundohmm...14:43
MvGHi! Do I see this correctly that there is no "commit --amend" for bzr, as there is for git, and that I'd have to uncommit and commit manually to get a similar effect?14:44
MvGIf so, would you agree that this would be a nice feature to have, should be feasible, and would warrant a request for enhancement in lp?14:44
rubbsMvG: you are correct there is no commit --amend14:45
rubbsthere has been debate IIRC about that feature.14:45
wundoanother question,  most of the people work from our office, is possible to have an local mirror from the central repository where the people can commit/checkout their code without using our internet connection?14:46
rubbsyes14:47
rubbsthis is how bzr was designed14:47
rubbsthey each can have their own repo as a copy of the "central" branch14:47
MvGrubbs: There was some discussion back in 2007 for editing the comment: http://thread.gmane.org/gmane.comp.version-control.bazaar-ng.general/2155814:48
wundoI mean, there are 5 people in our LAN, but our internet connection is off...  assuming user A has new changes he wants to share it to user B. Could he commit to a local server from which user B can checkout and when the internet is back on the local server seamless synchronizes with the external server?14:50
rubbsMvG: I am not a dev... but as I recall the biggest problem with doing an amend is that changing history at all can screw up with some other people's things.14:50
rubbswundo: yes14:50
rubbswundo: you can push and pull to different locations14:50
MvGrubbs: As can uncommit, and it's still there, and I'm glad it is. Rule is, once you pushed something, then changing it can cause divergence. Nothing new there.14:50
wundorubbs: any how to setup it available?14:51
rubbswundo: when you branch from the central repo,bzr would remember that repo, but you could tell it to pull, push , or merge from another one quite easily.14:51
rubbswundo: http://doc.bazaar.canonical.com/bzr.2.0/en/14:51
rubbscheck them out that might help14:51
rubbsMvG: good point14:52
rubbsMvG: you could try requesting it again.14:52
MvGWill do so.14:52
rubbswundo: if you are looking for a pseudo-centralized workflow check out this: http://doc.bazaar.canonical.com/bzr.2.0/en/tutorials/centralized_workflow.html14:53
quicksilveruncommit loses the commit message though I think?14:53
quicksilverminor disadvantage of it.14:53
rubbsquicksilver: yes, it does... that's why he want's an ammend.14:54
rubbsamend*14:54
* quicksilver nods14:54
jammorning vila, rubbs and quicksilver14:54
quicksilvermorning jam.14:54
jamquicksilver: I thought there was a hook that preserved uncommit14:54
jamcheck with vila / qbzr14:54
vilamornign jam14:54
quicksilveryou're more likely to be right than me jam ;)14:54
quicksilverthe very very long message I'm writing to the bzr mailing list does mention this point as an aside.14:54
jamI don't think 'bzr commit' defaults to reusing it, but certainly "bzr qcommit" can remember something14:55
vilaAFAIK both bzr-gtk and qbzr saves commit/uncommit messages in branch.conf14:55
rubbsMorning14:55
=== salgado is now known as salgado-lunch
rubbsMvG: wundo: I have to go to a meeting, but others here can help if you have any other questions.14:56
vilaanother trick is to have a qlog running around and copy/paste from there14:56
wundothanks rubbs14:56
wundostill is not an one hour decision to change a whole company VCS :P14:57
wundoI will probably be here when you come back...14:57
MvGI'm also copy and pasting from console output, but that's not nice. Writing a lp whishlist item for commit --amend just now.14:57
vilaMvG: search for duplicates instead and click the affects me too button instead15:01
vilaMvG: I'm 80% sure this has been reported15:01
MvGvila: I did search, and found nothing.15:01
vilaok, thks for trying :D15:02
MvGProblem is, it's kind of difficult to find suitable terms for it.15:02
MvGDoes lp do a full text search?15:02
vilawhen you file a bug, lp does a pretty good search, details available at #laundpad-dev :)15:04
phinze_hey folks, does anybody have a second to look at this 8 lines of error and tell me if this might be a fluke... http://gist.github.com/27722815:10
=== phinze_ is now known as phinze
doctormoUsing bzrlib, What's the best way to check if a local working tree has commits which are not pushed (assuming push_location is set)15:12
jamanyone know if John Whitley hangs out on IRC?15:14
jamphinze: that looks like a really low-level failure15:15
jamas it means "import os" is failing15:15
jamdo you have a "posix.py" file somewhere in your path?15:15
phinzethat's what i figured -- we run bzr every minute in a cron job and that came up once last night -- so there is much room for flukes15:15
jam(some platforms accidentally set things up to include the current working dir in the python search path.)15:16
jamphinze: could the system have been updating itself?15:16
phinzepython -> 'import posix' works fine15:16
phinzejam: mmm good thought15:16
vilait doesn't help that '' in PYTHON_PATH also means add current directory15:17
phinzemight want to see what other cron jobs run on our build server and pause all the bzr activity for that time15:17
jamdoctormo: last_local_rev = wt.branch.last_revision(); push_url = wt.branch.get_push_location(); push_branch = bzrlib.branch.Branch.open(push_url); push_last_rev = push_branch.last_revision()15:17
phinzeso, tentative conclusion is -- not really bzr's job to handle that sort of error?15:18
jamif last_local_rev == push_last_rev: then you know there is nothing to do15:18
jamotherwise you may have local changes, or remote may have changes15:18
jamyou can use  graph = wt.branch.repository.get_graph(push_branch.repository)15:18
doctormojam: I see, what if we assume that remote doesn't have changes.15:18
vilaphinze:  so far, the occurrences have been rare enough that the bug hasn't been fixed (there is one I can't remember the # just now )15:19
jamgraph.find_difference() if you care about both sides15:19
jamor15:19
doctormojam: See what would be good is to be able to say "Have there been any commits after the last push command"15:19
jamgraph.find_unique_ancestors(local_rev, [push_rev])15:19
jamdoctormo: well, if the local revision is different than remote15:19
jamand nobody else updates remote15:19
jamthen yes15:19
jamthere must be something to push15:19
phinzevila: sounds good -- initial bug searches for the text of my error weren't yielding much15:19
phinzeat the end of the day i'm not too worried either15:20
doctormojam: OK, if that's the only way, I just want to avoid remote requests if I can.15:20
jamdoctormo: if you are writing your own stuf15:20
jamyou can save the revision at push time15:20
=== CardinalXiminez_ is now known as CardinalFang
jamusing something like a "post_branch_tip_changed" hook15:20
jamhowever, *bzr* does not track that15:21
jamit doesn't save a 'this branch was pushed at this revision' anywhere15:21
jamI think there is also a post_push hook, if you just wanted to trap that15:21
doctormoI see, then perhaps I should do a bit of code to track and then fall back on discrepency15:21
MvGvila: https://bugs.launchpad.net/bzr/+bug/50752915:33
quicksilverIs there a command-line way to get the nearest common ancestor of two branches?15:36
vilaquicksilver: 'bzr merge --preview --show-base' may not be the pretiest, but from command-line... it's the only way I can think of15:39
vilathere was an approximate command in bzrtools at one point but I'm pretty sure it's not up to date15:40
DaffyDuck_`I want to set up a few potential complicated ignore-rules. Anyone here proficient in ignores with regular expressions?15:41
quicksilvervila: Hmm. Bzr is very clever but it's a bit hard to get the information out of it sometimes. I suppose you're expected to use bzrlib.15:42
quicksilvervila: do any of the visualisation tools help you visualise the relationship between a bunch of branches?15:42
vilaquicksilver: bug filing time ! :D15:43
DaffyDuck_`I have an /src directory in a project which contains lots of files and directories. I want to ignore everything in there, with a few (something like 10) exceptions, which I want to track.15:43
vilaqlog accepts seveal branches as input like : bzr qlog b1 b2 b315:43
vilaquicksilver: it then display special tags for the tips and doing a very good job at displaying the multiple heads15:43
quicksilvervila: but still shows you all the revisions doesn't it?15:43
vilaquicksilver: if the branches diverge a lot it becomes harder to track though15:44
MvGWhat are ghosts?15:44
MvGIs there some kind of document (wiki page, source file, mailing thread) that I could read to get an idea about what ghosts are and how different parts of bzrlib deal with them, i.e. which parts take care of them themselves and which expect the caller to deal with them? Or could you tell me in a few lines here?15:44
MvGMight be important to get support for them into trac-bzr one day, I'm not sure.15:44
vilaquicksilver: qlog default to masking most of the merged revisions but you can then open the ones marked with a '+'15:44
vilaan close the ones marked with a '-', obvious when you use, akward to describe :)15:45
quicksilvervila: sure. The thing is all I want is an overview which shows branches and all of their nearest common ancestors.15:46
quicksilvervila: so I can see what branched from where, when.15:46
quicksilverI don't want ot see individual revs at all15:47
vilathen definitely give a try to bzr qlog **/* or whatever15:47
vilathat's the closest I can think of15:47
vilayou will see the revs but one line for each but that's the best we have to present a *graph* with multiple heads so far15:48
quicksilvervila: *nod*15:49
MvGDaffyDuck_`: Simply ignore the whole dir and add the files you want to track. Ignore only affects untracked files; once you told bzr about the ones you are interested in, it will track them.15:49
quicksilvervila: I don't really like GUI toolkits.15:49
quicksilvervila: I was thinking of something a bit more elegant like a .dot file or a PDF file or something :)15:49
vilaquicksilver: I use almost no GUI myself *except* qlog15:49
MvGquicksilver: You want to write a bzr plugin generating dot output?15:50
jamvila: giving qlog a repo will do everything underneath, I don't know about a plain dir15:50
quicksilverMvG: no, I want someone else to :P15:50
jamquicksilver: there is also "graph-ancestry" from bzrtools15:50
vilaquicksilver: I've played with .dot files and intend to replay with one day.... when time permits15:50
MvGquicksilver: You want to pay someone else to... doesn't matter, still no time...15:50
jamwhich does generate DOT output15:50
jamor PNG (generated from DOT), etc15:50
quicksilverjam: that looks promising :)15:51
vilaquicksilver: how many revisions in your repo ? (all revisions not only the mainline ones)15:51
jamI think it can also take a revision range15:51
quicksilvervila: 2000 or so? I'm not sure15:51
jamYou may have to tweak it if you want specific information15:51
vilalast time I played I started with graph-ancestry but my graph was too big but it was a decent starting point15:52
jamI think it handles 2 branches, but not more than that15:52
jamvila: I think it now supports giving a range of revisions so you don't have to graph the whole thing15:52
quicksilverah, right. So not quite what I'm after but definitely thinking in the right direction.15:52
jamquicksilver: IME dot doesn't like graphs with more than ~100 revs15:52
jam100 nodes15:52
quicksilverjam: I only want a node per 'most-recent-ancestor' really15:52
vilafrom memory I'd say 2000 will blow away graph-ancestry (or give you a result you can't really use)15:52
vilajam: qlog  or graph-ancestry ?15:53
quicksilverso I'm talking 20 branches and 20 MRAs at most, I think.15:53
jamI tried using it with a 100k object graph... and after 8 hours an 2GB of memory... it still hadn't finished formatting to -Tplain15:53
jamvila: graph-ancestry15:53
jamdot itself doesn't handle lots of nodes very well15:53
jamit would probably be better with revision graphs, since there is less cross-linking and no cycles15:53
jamunlike object reference graphs15:54
quicksilverwell something else to think about next time I have free time...15:55
quicksilvernot immediately clear how you find the right set of MRAs either15:55
quicksilveralthough I'm sure it should be clear.15:56
=== beuno is now known as beuno-lunch
=== raimue is now known as Raim
=== salgado-lunch is now known as salgado
=== beuno-lunch is now known as beuno
quicksilvercan loggerhead cope with multiple bzr branches or is that a launchpad feature?17:09
quicksilverwhen I say 'cope with' I mean have some idea of the relationship between, I suppose.17:09
beunoquicksilver, what do you mean by a relationship?17:12
quicksilverwell the fact that one branch is a branch of the other17:12
quicksilverthey're not just two unrelated lumps of code.17:12
beunoso, the loggerhead instance running on Launchpad is the same one as trunk (minus some glue)17:13
quicksilverbeuno: I'm not quite clear how much of what I look at is generated by launchpad and how much by loggerhead17:17
quicksilverbeuno: for example : https://code.launchpad.net/loggerhead17:17
quicksilverbeuno: is that page launchpad or loggerhead?17:18
beunoquicksilver, launchpad17:19
* quicksilver nods17:19
quicksilverbeuno: but this one is loggerhead: http://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/files I presume?17:20
beunoquicksilver, correct17:20
beunoanything UI under  http://bazaar.launchpad.net is loggerhead17:20
beunoI suspect that what you want isn't part of loggerhead, but it may not be too hard to do17:20
* quicksilver nods17:21
quicksilverloggerhead looks like a 'branch inspector' so it inspects one branch at a time.17:21
beunoyes it does17:22
beunowithin a directory17:22
beunobut you can infer some relationship with commid revids and parent URLs17:22
beunolaunchpad is different, because it stuffs everything into a DB  :)17:22
* quicksilver nods17:23
jkprghi. how to protect shared (centralized) repository against deleting or corrupting?17:59
PengDon't give people write access to it.18:01
PengSeriously, though. If you use stacked branches, that's a viable solution.18:01
jkprgPeng: Stacked branches? I have to read about it18:02
PengThat's what Launchpad does, FYI.18:06
PengStacking policy, too.18:06
jkprgPeng: Is there no need to have write access to whole shared repository to push changes?18:08
Pengjkprg: If you use stacked branches, it's not necessary.18:08
jamjkprg: one option is that you also only need read access to existing objects18:10
jamso once a transfer finishes, you could mark all files in .bzr/repository/packs and indices as readonly18:10
jam(note that new ones will get created, old ones get moved to obsolete_packs and eventually deleted...)18:11
=== vxnick_ is now known as vxnick
=== deryck is now known as deryck[lunch]
=== deryck[lunch] is now known as deryck
=== vxnick_ is now known as vxnick
guilhembijam: hello! thanks for the explanation about "bzr log" order constraints; I understand (1), but not (2):20:05
guilhembi"2) We also output a revision after the last revision which did not have it in20:05
guilhembithe ancestry.20:05
guilhembiwhat is "it"?20:05
=== salgado is now known as salgado-afk
jamguilhembi: hi20:27
jamso if you have revs A B C.20:27
jamIf B is in the ancestry of C, but not in the ancestry of A20:27
jamthen B will appear in the log output between A & C20:27
jamif you go back to the graph I put up on the bug20:27
jamI detailed the difference between that an just 'topological'20:28
guilhembijam: I promised I read it, I saw "(2) says that C E G"20:29
guilhembibut I cannot parse (2)20:29
guilhembicould (2) mean: a revision is always after the last revision which didn't have it in its ancestry...20:30
guilhembicould (2) mean: a revision is always after the last revision which isn't a child of it?20:30
guilhembiNo, that wouldn't imply that "that C E G has to come after F ".20:31
jamC has to come after F because F does not have C in the ancestry20:32
jamis that an easier way to see it?20:32
jamA revision X will appear in the log after all revisions which do not contain X in their ancestry20:33
guilhembijam: but I could also say "F has to come after C because C does not have F in its ancestry"...?20:33
jamguilhembi: left ancestry first :)20:33
jamsomething has to come first20:34
jamlet me think of a way to word it20:34
guilhembijam: I'm grateful for the current effort to phrase that!20:34
jamback in a sec20:35
jama revision X will appear before any child revision Y (topological), further if Y's left-hand parent (Z) does not contain X, then X will appear between Z and Y in the output20:53
jamguilhembi: how's that?20:53
* guilhembi reads and reads again20:56
guilhembijam: "a revision X will appear before any child revision Y"20:56
guilhembino, children appear first (newest revision on top)20:56
jamguilhembi: I always draw time downwards (--forward)20:57
jamyou can reverse the statement20:57
jama revision X will appear after any child revision Y (topological), further if Y's left-hand parent (Z) does not contain X, then X will appear between Y and Z in the output20:57
jamNote that the graphs in the bug report are also directed that way, in case you had some confusion there as well20:58
jamA is the *first* commit20:58
guilhembiyes, I had understood graphs in the proper way. Re-reading the new sentence now...21:01
guilhembiTesting that sentence on various examples posted in the bug report...21:03
guilhembimatches your A B D F C E G H example...21:04
lifelessmoin21:04
guilhembimatches the example for which I had posted a postscript file...21:09
guilhembijam: your explanation looks quite good. However I'm not sure it adresses defining the initial set of nodes on which the rules apply (from the bug report):21:10
guilhembi<quote>21:10
guilhembiif you have this graph:21:11
guilhembiA21:11
guilhembi| \21:11
guilhembiB C21:11
guilhembi| /21:11
guilhembiD21:11
guilhembithen "bzr log -rB..D -n0" shows21:11
guilhembiD21:11
guilhembi  C21:11
guilhembiB21:11
guilhembibut "bzr log -rC..D -n0" shows21:11
guilhembiD21:11
guilhembi  C21:11
guilhembiSee, it's assymetric: the "mainline" property of the starting point of the -r range, influences how many revisions you see (3 versus 2).21:11
guilhembi</quote>21:11
guilhembi(A is the first revision).21:11
guilhembi?21:11
guilhembiI'm not sure this is covered by the "left-hand" piece of your explanation.21:12
guilhembiDepends on what graph subset this piece applies.21:12
guilhembiApparently it's not "all nodes on all paths from X to Y" (for -rX..Y), as for -rB..D it would mean B,D (only those two nodes are on the paths),21:14
guilhembiand "bzr log -n0 -rB..D" also shows C.21:14
guilhembiguilhembi: I'm off to bed and that will log me out. If you like, you can reply in the bug report or to my mail. Thanks for the help and patience!21:15
guilhembijam: I'm off to bed and that will log me out. If you like, you can reply in the bug report or to my mail. Thanks for the help and patience!21:15
* guilhembi talks to himself, thus is tired21:15
=== ubottu is now known as ubott2
guilhembijam: In other words: the bug report is maybe more about "what set of nodes do I see and how does -n0 influence that?", rather than "in what order do I see those nodes?". I understand that the order has to be non-trivial for humans, because it's a serialized graph; but the set could be interest for humans.21:35
guilhembigood night21:35
jamguilhembi: night. if you take the serialized order and then just start and stop, then I think it works out21:36
jamyour graph orders to "A B C D" given my rules21:36
jam(or D C B A)21:36
guilhembijam: ah, ok, looks good then.21:36
guilhembijam: I'll think more about it. Bye and thanks again.21:36
guilhembijam: ah, and also, the influence of -n0...21:37
guilhembisee you later.21:37
jammorning lifeless21:39
jamlifeless, do you know if spiv is officially on parent leave now?21:40
jamhe mentioned he was "likely going" this week21:40
jambut I didn't get a "I have a new baby" email.21:40
lifelessjam: they are overdue I think21:46
lifelessjam: I haven't heard a pop,squall yet.21:46
thumperlifeless: hey21:47
thumperlifeless: when are you arriving in wellington?21:47
lifelesstomorrow 2pm21:48
lifelessjml: btw 'testr failing' works now.21:48
thumperlifeless: bumped into pia this morning and she was asking if you were here yet21:48
lifelessheh21:48
lifelessI'm fairly sure she can see on tripit.21:49
lifelessall this web2 stuff ...21:49
thumperi have some kudos to hand out to all you guys21:49
lifelessnice! what flavour?21:49
thumperI was going to wait for poolie to give the report though21:49
thumperthat way, I won't have to repeat myself again21:50
* lifeless summons poolie21:50
thumperlifeless: nice kudos21:50
lifeless...21:50
lifelessnope didn't work21:50
* mneptok pulls on his full-head latex Martin Pool mask21:51
lifelessmneptok: 'ew'21:51
mneptokone moment. can't find my panty hose and nipple-clamps.21:52
mneptokattention everyone! we are rechristening the project "Bizarre Revision Control"21:52
lifelessmneptok: you are aware that we have minors in this channel ? :)21:52
lifelessAnd I don't mean the birds.21:52
PengRight. You better wear pasties under those nipple clamps.21:53
mneptok"Even the ravens are calling my name," thought Caw.21:53
mwhudsonmneptok: btw21:53
mwhudsonmneptok: have you seen http://uncyclopedia.wikia.com/wiki/Ubuntu recenty?21:53
mneptokmwhudson: ?21:53
mneptokmwhudson: is my picture removed?21:53
mwhudsonmneptok: no21:54
mneptokoh good.21:54
mneptokthat's been there for *ages*21:54
mwhudsonmneptok: did you add it, by any chance?21:54
mneptokno.21:54
lifelessmwhudson: lol21:54
mwhudsoni edited the caption21:54
mneptokthe actual caption is "My hair is luxurious. Touch it."21:55
mwhudsonmneptok: it's a wiki!21:55
lifelessthumper: go here: https://code.edge.launchpad.net/~subunit/subunit/trunk . click on '1 branch proposed for merging'.21:56
lifelessthumper: I think this is my #1 code complaint at the moment.21:56
jamlifeless: ouch21:57
thumperlifeless: but if I fix that, you'll just get another #1 code complaint21:57
jamyou can select "needs review" on that page, though21:57
thumperlifeless: is there a bug for that?21:57
thumperit is trivial21:57
mneptokmwhudson: OK, OK. i done it.21:58
jamof course: https://code.edge.launchpad.net/~bzr-pqm/bzr/bzr.dev/+merges has 320 results on it21:58
lifelessthumper: there is a bug for it21:58
lifelessthumper: and you even commented on it :)21:58
thumperlifeless: I was hoping you'd give me a number21:58
mwhudsonmneptok: :-)21:58
mwhudsonthanks21:58
* bigjools waves at mneptok22:00
mneptokbigjools: ahoyhoy22:01
* mneptok tootles off to run some errands22:02
thumperlifeless: when does poolie normally turn up?22:08
lifelessbefore now22:09
lifelesswhy don't you put your news in a bufer22:09
lifelessand paste it ;)22:09
lifelessthumper: bug 49013922:11
ubottuLaunchpad bug 490139 in launchpad-code "'X branches proposed for merging' goes +merges not +activereviews on branch page" [Undecided,New] https://launchpad.net/bugs/49013922:11
lifelessthumper: I was wrong, Aaron has commented on it, not you.22:13
=== poolie changed the topic of #bzr to: Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://bazaar.canonical.com/ | http://irclogs.ubuntu.com/ | Patch pilot: jam | bzr 2.1.0b4 and 2.0.3 released
pooliehi all22:15
thumperFirstly a big kudos to all bzr devs, with extra to jelmer22:18
thumperlast night we were at a local pug meeting where most non-lp devs used git22:18
thumperwe gave an on the fly demo of bzr (pushing to lp and code reviews)22:18
thumperthe question was asked about a nice gui22:18
thumperwe said "bzr explorer is awesome"22:18
thumperthe question came - "does it have a pluggable back end?"22:18
thumperwe said "bzr is a pluggable back end"22:19
thumperwe decided that with bzr-git installed, bzr explorer should work on a git repo22:19
thumperso I did a git clone of one of their local works22:19
thumperinstalled bzr-git from the repos and (bzr explorer)22:19
thumperdied due to me using bzr-nightly ppa22:19
thumperjelmer got the latest and greatest dulwich and bzr-git on my laptop22:19
thumperwent into the git repo and did "bzr explorer"22:19
thumperit worked!!!22:19
thumperit was a great smug moment22:19
* thumper hands out kudos to bzr devs22:19
mwhudsonit was also a 300 meg git repo with 15000 revisions22:19
mwhudsonand it was pretty fast22:19
bigjoolsI was very surprised at how fast it was22:20
lifelessthumper: yeah that kind of thing is real nice22:21
lifelessthumper: I remember doing a lightning talk @ europython, showing bzr-hg (written that afternoon) doing bzr-viz22:22
lifelessthumper: is there a secondly?22:24
thumperno22:24
thumperit was just the start of the message22:24
thumperthere was another thing22:24
thumperbut it was more LP related22:25
thumperI think our bzr demo helped though22:25
thumperthis was at catalyst22:25
AfCI've been using bzr-git to track GTK and GLib. Updating (pulling) is not what I'd call fast, and it seems to be really CPU intensive. But it does work (given that I can use git+ssh://, since git:// doesn't) which is really nice.22:28
mwhudsonwhat we did in explorer only really tested the revision graph stuff22:30
jelmerAfC, what about git:// doesn't work?22:30
AfCjelmer: it crashed, if I remember correctly.22:30
lifelessmwhudson: same as viz :P22:31
mwhudsonright22:31
lifelessmwhudson: but ssh, don't tell em22:31
mwhudsonwe didn't :-)22:31
jelmerAfC: If you can still reproduce, please file a bug. I'm pretty sure most of the crash bugs are gone now22:31
AfCjelmer: [your VCS tools use the same ID-for-foreign-revision mapping mechanism regardless of protocol, right? So given I have a more or less up to date git+ssh:// checkout, I can bzr pull git:// without causing cats and dogs to sleep together. right?]22:32
AfCjelmer: I was using whatever is in the bzr PPA as of, oh, 2 weeks ago?22:33
jelmerAfC: Yes22:33
jelmerAfC: Ah, I think we haven't updated that in a while22:33
AfCjelmer: do you want me to try and reproduce, or do you want me to wait for you to publish a new package?22:33
AfCjelmer: [ready to try right now with $whatever is installed if you want22:35
AfChaha22:36
AfCbzr: ERROR: This operation is not supported by the Git smart server protocol.22:36
AfCthat should be22:36
AfCbzr: ERROR: This operation is not supported by the Git not-so-smart server protocol.22:36
AfC(`bzr missing`)22:36
jelmerAfC: I don't think there is anybody updating the bzr-git ppa packages22:36
AfCjelmer: uh, I'm talking about "deb http://ppa.launchpad.net/bzr/ppa/ubuntu karmic main", which I thought was the one we all agreed [after months of email debate] would be the best place to get releases of the current Bazaar ecosystem22:38
jamAfC: according to jelmer, you can only fetch over the git protocol22:39
AfCis that not [no longer, not again] correct?22:39
jamyou can't do stuff like log/ compare etc22:39
AfCjam: sure; not critiquing anyone for that (well, other than Git)22:39
spivjam: still no baby :)22:39
jelmerAfC: I'm not involved in the PPA packaging, but I think only the core set of plugins is packaged there22:40
jamspiv: well probably your wife is :(22:41
jamspiv: anyway, mostly I wanted to check if we should be landing your patches22:41
jamyou have 2 mostly-approved ones right now22:42
spivjam: not yet :)22:42
spivYeah, I'll do those now.22:42
AfCjelmer: uh, oh. I thought we had agreed that bzr-$VCS was in that category.22:42
AfCie the ENDLESS debacles with bzr-svn not working with bzr releases.22:42
jamAfC: atm only bzr-svn is22:42
maxbHas anyone ever set up some system to automatically back up bzr branches when changes are pushed?22:43
lifelessmaxb: the autopush plugin?22:43
maxbWill that only catch tip changes? In a perfect world I'd want to catch things like tag changes without a tip change22:44
maxbThough I imagine it might need something like launchpad's custom sftp/ssh server for that22:45
spivmaxb: hmm, probably.  I'm not sure if we have a hook point for tag changes, but if not we should fix that.22:45
spivmaxb: FWIW, http://doc.bazaar.canonical.com/bzr.dev/en/admin-guide/backup.html suggests the automirror plugin22:45
AfCjam: perhaps someone in the Bazaar team might consider adding bzr-git to that PPA, then.22:46
maxbright... hmm, I'd want it asynchronous from user's pushes22:46
jamAfC: well, until recently bzr-git was quite alpha state, if Jelmer feels it is ready to be in 'production' then we can consider it22:48
jamof course, we'd need someone willing to actually do the packaging22:48
maxbAlso I need to come up with some way to make it work for new branches, without manual configuration for each branch22:48
AfCjam: sure.22:49
AfCjam: (but consider people are *using* it out of Karmic, so maybe we can just take "in production" as read)22:50
spivmaxb: hmm, it *might* try to use locations.conf too22:51
spivmaxb: if not that's probably fairly easy to fix.22:51
pooliejam, hi22:51
poolieabout https://code.launchpad.net/~mbp/bzr/499637-default-uifactory/+merge/1735822:51
pooliethere are two stages22:52
pooliethe first is making SilentUIFactory still be silent and not error if you try to make_output_stream22:52
pooliethe second is defaulting to text output if you do no special initialization22:52
pooliewhich i think would be reasonable22:52
pooliebut is a bit blocked by the circular import problem22:52
=== oubiwann_ is now known as oubiwann
jampoolie: I think no progress bars, etc is reasonable without configuration23:03
jamfor interactive mode, etc.23:03
jamI don't know, I feel like we have a bit of a "bzrlib.actually_make_things_work()" issue23:03
jamload_plugins, trace.enable_default_logging, install_bzr_command_hooks,...23:03
jammake_ui_factory()23:04
jamIf we had a standard function for plugins to call to set up bzrlib as though it was a command-line client23:05
jamthat might be the best thing23:05
jamand then put whatever we need to in there23:05
jaminstead of telling people ad-hoc that "In 2.1 you need to call these functions to get set up."23:05
mwhudsonjam: load_plugins()!23:05
pooliethat would avoid the problems of doing it at import time23:06
jampoolie: right, and unless we are going to do the rest of them at "import" time, then I think it makes sense to have a helper function23:06
pooliei wonder if one size fits all?23:06
jampoolie: pass it flags23:06
jamwith **kwargs so it is forward & backward compatible23:06
jamwhen I debug in interactive mode, I generally copy & paste "from bzrlib import branch, trace, ui; trace.enable_default_logging(), ui.ui_factory = ui.make_ui_factory..."23:07
jamas the first line23:07
jamI do wish it was a bit easier23:07
pooliethen they could say plugins=False23:07
pooliefor examlpe23:08
jampoolie: right23:08
pooliewfm23:08
pooliekwargs, or maybe a dict of options?23:08
jampoolie: kwargs is easier to type23:08
jambut either is ok23:08
pooliebut it's a kind of one-shot thing23:08
jamI can always do "foo(dict(a=1,b=2))" :)23:08
pooliei kind of like to keep it as an escape valve23:08
poolieright23:08
jamanyway, time for me to go23:09
pooliek23:09
jammaybe I'll see you later23:09
poolieplease send a patch pilot wrapup around the end of your week?23:09
=== jkprg_ is now known as jkprg
jelmerspiv: awesome to finally see the per-file-merge happening23:26
spivjelmer: :)23:27
pooliehi spiv, jelmer23:28
jelmerhi poolie23:28
poolielifeless, jml, what's the best place to talk about tribunal-subunit? istm maybe on the overall testtools-dev list?23:28
spivpoolie: or possibly testing-in-python?23:29
pooliemm23:29
pooliei wonder if detailed conversation there would be too intrusive though23:29
spivpoolie: well, so long as you make some noise about tribunal-subunit on t-i-p at some point, I think it'll be worth advertising :)23:31
lifelesspoolie: subunit dev has all the relevant people I thik23:53
lifelesspoolie: testing-in-python would be good from the wider-audience perspective23:54
lifelesspoolie: I don't think there is a testtools-dev specific list, last I saw the list for testtools is testing-in-python23:54

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