/srv/irclogs.ubuntu.com/2009/06/25/#bzr.txt

thumperjames_w: ping00:06
james_whi hi00:06
=== mthaddon is now known as afk
=== BasicTheProgram is now known as BasicOSX
lifelessmeep00:42
lifelesssomething very odd:00:43
jamlifeless: I just set you an update about iter_interesting... did it make sense?00:43
lifelessg$ bzr info lp:~mordred/libcpuinfo/add-bindings00:43
lifelessbzr: ERROR: Server sent an unexpected error: ('error', 'No repository present: "lp-49592784:///~mordred/libcpuinfo/add-bindings"')00:43
lifelessbut merging from http://b.l.n. works00:43
lifelessif someone could reproduce that would be great00:44
jamlifeless: 'bzr info lp:...' works here00:45
jamI do see:00:46
jam  public branch: http://bazaar.launchpad.net/%7Emordred/libcpuinfo/add-bindings00:46
jam  parent branch: lp-hosted:///%7Elibcpuinfo-developers/libcpuinfo/trunk/00:46
jam     stacked on: /~libcpuinfo-developers/libcpuinfo/trunk00:46
jamthe 'lp-hosted' specifically looks weird00:46
lifelessjam: its plausible00:46
lifelessjam: the parent branch won't be followed though00:47
lifelessjam: are you lp-login'd?00:47
jamlifeless: yes00:47
lifeless[its plausible] - the iter_interesting00:47
jamlifeless: I figured00:47
Peng_I just tried "bzr info" over lp: (logged in). I mostly concur with jam, except I saw a shared repo line, not a public branch line.00:47
lifelessyes, interesting things cannot be in *any* uninsteresting page00:47
jamlifeless: "bzr info http://b.l.n" works, too00:48
lifelesshttp:// works for me00:48
mwhudsoni see the same as lifeless00:48
lifelessmwhudson: great.00:48
mwhudsoni bet the difference here is that lifeless and i have branch super powers00:48
mwhudsonand are seeing the hosted area00:48
lifelesshttps://code.edge.launchpad.net/~mordred/libcpuinfo/add-bindings00:48
lifelessit looks like it is a hosted branch00:49
mwhudsonand well00:49
mwhudsonthere's no repository there00:50
mwhudsonlifeless: https://pastebin.canonical.com/18971/00:50
lifeless?!00:50
lifelessI'll ask monty when he returns00:50
jammwhudson: so you're saying that it didn't mirror the broken repo to the public side00:52
jamand thus non-super people like me and Peng see everything as ok00:52
mwhudsonjam: i am not intepreting anything!00:52
mwhudsonjam: but yes, that seems likely00:52
mwhudsonthere's probably an oops from the puller somewhere00:52
jamlifeless: could be in the middle of an upgrade?00:53
lifelesshe asked me to look at it; I don't think he'd have done that just before starting an upgrade00:53
jamlifeless: unless he was asking you why it was broken :)00:54
pooliejam, want to resume?00:56
jampoolie: yes, though my wife is away, so I'm watching my son00:57
lifelessjam: no, he asked me to review it00:57
jamphone would probably work better00:57
igcmorning01:17
lifelessjam: so, let me know when you're stopping working on the bug and I'll pick up from there01:19
jamlifeless: I'm done01:20
lifelesskk01:22
jelmerrocky: that's not specific to bzr-svn, deleting tags doesn't propagate inside of bzr in general01:42
rockyjelmer: so there's no way to delete a tag?01:43
jelmerrocky: push --overwrite might delete a tag01:44
jelmerIIRC01:44
Peng_Yeah, I think so.01:45
mwhudsondamn loggerhead's way of making you fix a bunch of bugs at once!01:48
lifelessbecause it has so many?01:48
mwhudsonyes01:50
mwhudsonstill, it's only 250 lines01:54
mwhudsonPeng_: want to review a branch? :)01:54
Peng_mwhudson: Sure.01:54
Peng_mwhudson: I'll probably wind up saying "it seems ok to me, but you should really ask beuno", though. :P01:54
mwhudsonyeah01:55
Peng_mwhudson: no-transport-sharing?01:59
Peng_mwhudson: I think you have the logic backwards in check_serveable.01:59
mwhudsonPeng_: yeah01:59
mwhudsonoh yes01:59
mwhudsonwriting up a merge proposal now02:00
Peng_If a thread exits, will its threading.local stuff automatically get cleaned up?02:01
mwhudsonnot sure02:02
mwhudsonprobably not02:02
Peng_Leaking a transport every 100 requests (by default) wouldn't be very nice/02:03
lifelessuhm02:06
lifelessI'd expect threading.local to get dereferenced02:06
lifelessotherwise its a huge bug in python :)02:07
Peng_Haha.02:07
lifelesscheck the module source if you need to02:07
Peng_I did once. I wasn't curious enough at the time to try to understand it. :P02:08
Peng_And I only checked the Python version, not the C version that actually gets used on most platforms.02:08
lifelessso there is a wrapper around each thread02:11
lifelessI'd expect the wrapper to have a list of threading.local instances, and tell them all at thread exit02:11
Peng__threading_local.py uses attributes on threading.current_thread() to store the thread-local data, so it'd probably be okay?02:12
mwhudsonthe data is stored in the threadstate it seems02:13
mwhudsonso it will die with the thread02:13
mwhudson(in the c implementation)02:13
Peng_Wait, what broke HTTP serving was the stupid readonly+ decorator? Ouch.02:14
mwhudsonPeng_: yes02:14
mwhudsonPeng_: hey, you know what are really really great?02:15
Peng_Cupcakes!02:15
mwhudsoni was going to say tests, but you're also right02:15
mwhudsoni guess docstrings are nice too02:15
Peng_What's even better are interns to get you cupcakes, docstrings and unit tests.02:16
jmlI would like a cupcake.02:22
lifelessPeng_: I did suggest not doing readonly+ :P02:29
Peng_lifeless: :(02:29
lifelessPeng_: actually no. I suggested not requiring it :)02:29
mwhudsonPeng_: LocationConfig doesn't open a transport afaict02:46
mwhudsonit looks up locations by url in the ~/.bazaar/locations.conf file02:46
Peng_mwhudson: Oh, OK.02:47
Peng_mwhudson: ...If locations.conf is broken, will it explode, and do we care?02:47
mwhudsonPeng_: so will everything else though?02:47
mwhudsoni'm not sure i care very much02:48
Peng_Heh, probably. I'm OK with that, then. :)02:48
mwhudsonuh02:54
mwhudsonthe date on this launchpad bugmail is highly unbelievable02:54
mwhudson(i.e. it's in the future)02:55
Peng_Oh? Which one?02:55
mwhudsonPeng_: when you assigned the 'serve over http is broken' to me02:55
Peng_I got "Date: Thu, 25 Jun 2009 01:36:37 -0000", which is correct.02:56
mwhudsonDate: Thu, 25 Jun 2009 02:36:38 -000002:56
Peng_Wow.02:56
RenatoSilvaIs BzrEclipse compatible with Eclipse Galileo?02:56
Peng_Hello, Daylight Saving Time. Meet Launchpad.02:56
mwhudsonPeng_: i'm a little bit scared as to how this is possible :)02:57
mwhudsonPeng_: which machine was yours sent from?02:57
Peng_mwhudson: If you're receiving bugmail from the future, you could file bugs before people get the chance to and steal the credit!02:57
mwhudsonmine was 'potassium' it seems02:57
Peng_From what, the Recieved headers?02:58
Peng_loganberry -> adelie (IIRC) -> my mail server.02:59
Peng_Notably, both were BST (GMT+1)02:59
mwhudsonok, mine was a very different path02:59
mwhudsonwhich is good, i guess02:59
Peng_Might've been Adelaide or something. I can't remember, and my mail client is swapping.02:59
Peng_Oh, adelie.02:59
Peng_mwhudson: Oh, the message-id is indeed potassium.03:00
mwhudson<20090625013638.19816.53674.launchpad@potassium.ubuntu.com> ?03:00
mwhudsoni guess the launchpad user's TZ is set wrong on that machine or something03:00
Peng_Message-Id: <20090625013638.19816.85527.launchpad@potassium.ubuntu.com>03:00
mwhudsonhuh03:01
mwhudsoni have no idea how this code works :)03:01
* mwhudson emails the sysadmins03:01
* Peng_ brushes his teeth.03:03
Peng_brb03:03
lifelessabentley: is there a bug open for the fetch errors you're experiencing?03:09
abentleylifeless: I don't know.03:11
=== abentley1 is now known as abentley
abentleylifeless: You know that this was discussed in the canonical-bazaar thread "Ongoing problems with inconsistent revisions in Launchpad trunk", right?03:35
Peng_"canonical-bazaar"?03:36
abentleyPeng: The canonical employees' list for discussions related to bazaar.03:39
* Peng_ feels left out. :P03:39
abentleyPeng_: It doesn't get a lot of traffic.03:40
fullermdPeng_: Why?  Obviously being on the list makes you have problems   ;)03:40
Peng_Heh.03:40
abentleyfullermd: No, only people with problems are allowed on the list :-)03:40
* fullermd quickly hides his invitation.03:41
=== abentley1 is now known as abentley
=== abentley1 is now known as abentley
lifelessabentley: I've re-read the thread; it didn't seem to talk about the proposed solution04:59
lifelessabentley: I agree that this is an important thing to correct04:59
=== abentley1 is now known as abentley
abentleylifeless: Yeah, it mostly covers the investigation of the situation.  I thought that was what you were looking for.05:05
lifelessabentley: I want a backtrace I think; I want to make reconcile faster, but I need to make sure it will still catch these bits of data05:06
lifelessthe new KnownGraph thing may be an easy-grasp item to make reconcile _much_ faster.05:07
abentleylifeless: backtrace is in the first message.05:08
lifelessabentley: ah cool.05:08
lifelessI'll turn it into a bug05:08
abentleylifeless: My problem repository is at devpad:/home/abentley/branches05:08
=== abentley1 is now known as abentley
poolielifeless: see you soon05:57
lifelessyeehaw05:59
jmlspiv, I want to hook into the smart server so that I logged an OOPS on unexpected errors06:51
jmlspiv, where's the best place to hook in?06:51
jmlat the moment, I'm considering monkeypatching log_exception_quitely06:53
jmlquietly.06:53
reehi All! I pushed a branch to a different location (on launchpad) and it became stacked for some reason. Is there any way to make it non-stacked? I would not like it to depend on the old location06:57
reeI find no --nostacked option.... how is stacking prohibited?06:58
lifelessree: there isn't a command line way to do it at the moment07:02
lifelessree: I don't understand the issue though?07:02
reeok, so is it a problem if it's stacked? The launchpad ui says it's stacked on the old location. What if the old location is removed? I would like to keep the new branch location independent from the old one07:03
reelifeless, ^07:04
lifelessree: well, lp won't let you remove the series branch07:04
lifelessree: as its used by other branches to stack on - not just branches of your own; anyone pushing to that project07:05
reethe trunk was under my own username, and I want to move it to under a group, so I can share access07:05
reeI thought in bzr the full branch history is stored in every repo... now this seems to be not like this with stacking. I also would like to find the way in general, to make a repo unstacked07:06
reeis there a way to "flatten out" a repo? Remove all stacking and get all history be local?07:07
reelifeless, ^07:08
spivjml: yes, that's probably the best option at the moment.07:09
spivjml: In the background I've recently started thinking about how to do that better, but for now hooking into where log_exception_quietly goes is the simplest route I can think of.07:10
jmlspiv, thanks.07:23
jmlspiv, why doesn't bzr use log.exception for that?07:23
jml(I'm guessing performance, but it's worth asking)07:24
spivjml: you mean logging.exception?  Not sure for this particular case.07:26
spivI personally wouldn't expect log_exception_quietly to be performance-sensitive... if you're calling it, something has gone wrong, so speed isn't a massive concern.07:27
jmlspiv, trace._bzr_logger.exception is what I mean in particular.07:28
jmlhmm. I guess that's a simple patch to try out.07:29
lifelessree: local branches on your pc will be not be stacked07:37
lifelessree: for server side branches, stacking is a *huge* space saver07:37
lifelessree: and you should be able to move the branch to a shared branch without problems; if you have any we can recover via the python API07:37
lifelessree: (just ask a question on answers.launchpad.net/launchpad-code, if noone here or in #launchpad is around/able to help immediately)07:38
lifelessjml: do you mean logging.exception ?07:38
lifelessjml: because logging was a huge performance suck for us, IIRC07:38
reelifeless, thanks! I have to go now, I'll experiment around.07:38
jmllifeless, logging is being used for note & error, just not log_exception_quietly07:40
lifelessjml: hmm, not sure then.07:41
lifelessjml: I do recall us having performance issues tied into using logging for multiple levels of output07:42
jmllifeless, I can easily believe that. :)07:42
jmllifeless, but as spiv says, I wouldn't expect log_exception_quietly to be particularly performance-sensitive.07:43
jmlwhat'd be the best way of evaluating the performance impact?07:43
lifelesstest? :P07:46
lifelessI'm struggling to think of a scenario where we'd be logging high volumes of exceptions though07:47
spivYeah, me too.07:47
lifelessas we stop what we're doing when we choose to log exceptions07:47
spivI'd think any case where we're logging high volumes of exceptions that the right answer would be "stop doing that" rather than make it fast.07:48
spivI'd expect the highest-volume producer of bzrlib exceptions is probably Launchpad :)07:48
jml:D07:49
pooliespiv, hi, still around? how did you go on network deltas?08:34
jmllifeless, just double checking: bug 365615 is fixed in trunk, should be CPd to Launchpad and should (not 'must') go into 1.16.1...08:36
ubottuLaunchpad bug 365615 in bzr/1.16 "'AbsentContentFactory' object has no attribute 'get_bytes_as' errors with CHK repository on write operations" [Critical,Fix committed] https://launchpad.net/bugs/36561508:36
jmlbug 390563 still needs to be fixed (there's a cheap-but-slow fix and an expensive-but-performant fix), it has to go into 1.16.1 and be CPd to Launchpad08:37
ubottuLaunchpad bug 390563 in bzr "absent factory exception from smart server when streaming 2a stacked branches" [Critical,Triaged] https://launchpad.net/bugs/39056308:37
lifelessjml: 365615 yes08:38
lifeless390563 is in progress08:38
lifelessno fixes completed yet; have code for a candidate in front of me now08:39
jmllifeless, sweet.08:39
jmlany other bugs that I need to be watching, either as RM or as LP/Bazaar person?08:41
* jml looks over the Critical bug list08:41
jmlI obviously don't know how to use "Target to release"08:43
lifelessjml: yes, but let me get this done first08:48
jmllifeless, no worries.08:48
kfogelpoolie: you explained to me once why Bazaar trunk itself is not on 1.16, but I can't remember the answer.  What was it?08:52
kfogelpoolie: (a mere hint might be enough :-) )08:53
asabilbialix: ping ?08:54
lifelesskfogel: because wee've moved on?09:03
lifelesskfogel: we don't release from trunk09:03
kfogellifeless: not sure I understand.  IIRC, if I branch Bazaar's bleeding-edge development trunk, the branch will not be in 2a, but in something older.  Is that still right?09:04
lifelesskfogel: oh, that isn't what you asked09:04
kfogellifeless: sorry09:04
lifelesskfogel: two reasons; one we know its broken at the moment.09:04
kfogel*nod*09:04
lifelesswe're trying to fix it09:04
lifelesssecondly, we knew it was broken, and were trying to fix it09:04
kfogellifeless: :-)09:04
lifelessthe check and reconcile steps make the upgrade process very traumatic09:05
lifelessand at the moment, without LOSA's to help, migrating would be fraught with risk09:05
kfogellifeless: thanks09:05
kfogellifeless: I do think dogfooding is important at some point, but obviously not when there are known problems.09:05
=== afk is now known as mthaddon
lifelessthere is another aspect which is that its hard for distros to track trunk until there is a version out there that they can use to pull trunk09:06
lifelessso I'm not at all convinced that dogfooding *trunk* in canididate formats makes sense09:06
kfogellifeless: why would we want distros to track trunk?09:06
lifelesskfogel: daily builds09:06
lifelessor even release builds09:06
lifelesswhat I want is bzr to get to a rich root format ASAP09:06
kfogellifeless: (2a is rich-root, right?)09:06
lifelessthen we can dogfood 2a as developers without trunk changing to 2a09:07
kfogelah09:07
lifelessand once we've got a clean bill of health as developers, then its much lower risk to change trunk09:07
kfogelsure09:07
kfogelokay, bedtime for me.  Thanks for the explanation, lifeless.09:07
lifelessthe rich root transition is really painful, as most trapdoors are09:07
lifelesshey, how is the mysql test going?09:07
kfogellifeless: still going.  ~/.bzr.log last touched 8 min ago09:08
lifelesscpu burning up?09:08
kfogellifeless: yes, it looks like my process eats all available cpu09:15
lifelessgood09:15
lifelessits busy09:15
bialixasabil: pong09:16
asabilbialix: I just checked bzr explorer, and it looks great ! thanks09:18
bialixasabil: kudos for igc!09:19
bialixit looks easy, but I agree -- it's great GUI09:19
asabilbialix: yes, but you are also the guy implementing it, am I wrong ?09:20
bialixI'm padavan here, and igc is master09:20
bialixI'm mostly working on qbzr09:20
asabilbialix: I see :)09:21
bialixit's so cool to see how fast bzr explorer growing into usable tool. mostly because we already have mature enough pieces in bzr-gtk and qbzr09:22
asabilbialix: I would like to suggest you take a look at the accurev ui09:22
asabilI have never used it myself, but it got some really awesome drag and drop features09:23
asabilyou can basically drag and drop revisions between branches to merge/cherry pick09:23
bialixoh, I see09:23
asabiland that's something I would love to see integrated in qbzr's qlog and bzr explorer09:23
bialixit's related to qlog (from qbzr then)09:23
bialixyou also need to ping garyvdm with this idea09:24
asabilhttp://www.accurev.com/virtualbooth/2min-demo/2min-demo.html09:24
* bialix looks09:24
asabil:)09:24
asabilit does more than version control, but there are some good ideas that could be used in the bzr gui world I think09:27
bialixhmmmmmm09:30
bialixwhy they're dragging offshore team back and forth?09:30
bialixwhat's the point?09:30
bialixlooks interesting, but I don't understand something09:30
bialixanyway thanks, I'll send the link in qbzr ml so other people (garyvdm) can see it too09:31
asabilbialix: to allocate resources09:31
bialixallocate resources?09:32
asabilbialix: from what I understood, accurev does version control + bug tracking + resources management09:32
bialixand it supposed to be distributed?09:32
asabilbialix: I am not sure, never used it myself as I said earlier09:33
bialixok09:33
asabilbut basically they are dragging a Team on top of a Stream (branch) to say that "this is the team now working on this branch"09:33
bialixhm09:34
bialixI see the point09:34
bialixasabil, btw here is our ideas qbout qbzr gui http://groups.google.com/group/qbzr/browse_thread/thread/68987a67f323e287#09:35
bialixfeel free to comment09:36
bialixthe main problem with bzr is main bzr idea: one branch = one dir09:36
asabilwill check it out, thanks09:36
asabilyep, I agree :/09:36
bialixso you have to either work inside shared repo to get all branches09:36
bialixor create virtual project structure09:36
bialixthough I think defining projects (including remote branches like in git) could be very powerful09:37
bialixI'm not sure how such project could be shared between several devs though09:37
bialixfuture colocated branches won't fix all rough edges09:38
bialixI think idea of registering remote branches in git is the right idea09:38
bialixalthough it's mostly local thing IIUC09:38
asabilyep09:39
asabilbut I think each model has its flaws09:39
bialixas usual :-)09:39
bialixigc: ping09:45
igchi bialix09:45
bialixhi, is there possible to pass current branch as argument to some commands?09:46
bialixin explorer09:46
igcbialix: yes09:47
igcbialix: see lib/app-suite-qbzr.ini in rev 11309:47
bialix    "add":      "bzr qadd --ui-mode %(selected)s",09:47
bialixthat is?09:48
igcbialix: we haven't populated the context with "current selection" information yet, but the command definitions support it when we do09:48
igcbialix: %(root)s is the current branch09:49
igcthat bit is working now09:49
igcbialix: got to go, sorry09:49
bialixok09:49
igcvery hungry and dinner is ready :-)09:49
* igc dinner09:49
bialixbon appetit09:50
=== mthaddon is now known as afk
=== afk is now known as mthaddon
poolienight10:04
lifelessEOD()10:50
mzzI was wondering if putting unrelated projects into the same shared repository is good, bad or neutral?11:43
mzzI currently have most stuff in a single ~/bzr shared repo and am doing some belated digital spring cleaning, was wondering if I should change that11:44
lifelessneutral11:45
vxnick_afkmzz: I only ever put related projects within the same shared repo11:47
=== vxnick_afk is now known as vxnick
vxnickrelated branches, even11:48
ddaalifeless: If I understood correctly, at some point it was bad, if one project was large (e.g. launchpad) because the index bloat impacted performance with the branches of small projects.11:51
mzzalso it makes it a bit hard to rm -rf a project11:51
mzzso I think I'm changing away from it11:51
ddaaBut 1. maybe I misunderstood, or 2. maybe it's fixed now with some newer non-default repo format.11:51
lifelessddaa: bzr runs out of steam with 16K projects11:52
lifeless(all of ubuntu)11:52
lifelessbut other than that its really just total things to index, not project count; the steam issue on 16K projects is simply the total file-version count11:53
lifelessand B+Tree indices are much more robust than the flat file indices were11:53
ddaaI do not understand what you mean by the "16k projects" limit. I take your other reply as meaning "yes, index bloat can be an issue with the default repo format, but it's fixed with repo format >= 1.9".11:55
lifelessI put all of ubuntu into a single repo11:56
lifelessas 16K 1-commit long branches11:56
lifelessit uses a lot of memory to work with everything at once11:56
lifelessbut you can commit to individual branches very quickly and successfully11:56
ddaalifeless: with which repo format?11:57
lifeless1.9+11:57
lifelessI think11:57
lifelesspack-0.92 was worse11:57
=== mrevell is now known as mrevell-lunch
ddaaThanks. Sorry about being this insistent, but I think it's important to be very clear about what performance benefits from non-default repo formats.11:58
lifeless1.9 memory caps the cache for indices11:58
lifelessspeeds up locating data by 100x factor (200:1 rather than 2:1 fan out)11:59
lifeless2a delivers similar changes to the inventory layer11:59
ddaaSo, how are you going to market 2.0? Came with something better than "bzr, it's not slow anymore!"?12:00
lifelessno idea :)12:00
ddaaMy 2¢, postpone 2.0 until you have a marketing angle.12:02
ddaa2.0 is largely (not only, but largely) a marketing op, so better to fire that particular bullet when you have a good target.12:03
lifelessits mainly about fixing the rich root problem once and for all12:03
lifelessmarketing is a small component12:03
lifeless2.0's default format will be rich root; there will be no new formats added in 2.0 that are not rich root12:03
ddaaOh. I thought it was more important to make the public reconsider its perception that "git and hg are so much faster than bzr".12:04
lifelessthe way to do that is to be fast12:05
ddaaWhich has proven disastrous for adoption.12:05
lifelesshave you tried 2a out?12:05
ddaaNope. Not interested in testing it before release. Bzr has been mostly fast enough for me since knitpacks.12:06
lifeless2a is supported - its a released format12:06
lifelessit becomes default in 2.012:06
lifelessI encourage you to migrate to rich roots as soon as you can; it will mean you can test 2a more easily if you want to12:06
ddaaOh right, it must have been just released.12:06
lifeless18th June :)12:07
ddaaI set up repos for my current project just a couple of weeks ago. It was not out yet.12:07
ddaaBTW, I did have a performance problem.12:07
lifeless1.16.1 will fix a key bug with 2a btw12:08
lifelessthats due out in the next dayish12:08
ddaaSpecifically, initial push to as unpopulated repo through bzr+shh was MUCH slower than it should have been (with 1.9 repos).12:08
lifelessnot a dataloss bug, just annoying12:08
lifelessbig history?12:08
lifelessand what bzr version ?12:08
ddaaHistory ~1000 revs. Bzr from ppa as of one month ago.12:09
ddaaImport from hg using fast-import.12:09
lifelessok12:09
lifelessits odd that that would be slow12:10
ddaaIt was not as much slow as stalling.12:10
lifelessif you care to a) try with bzr 1.16 at both ends and b) if it is still slow, run with 'bzr -Dhpss' and file a bug with the .bzr.log contents for it12:10
ddaaAt minutes at a time.12:10
ddaaSure. I'll do that today.12:11
lifelesslan or internet?12:11
ddaainternet, but should be fast12:11
lifelesswe had a hard-to-diagnose problem with the python trials12:11
ddaai.e. remote host is a hosted server on the same ISP as my workstation.12:11
lifelesssimilar sounding symptoms12:11
ddaaI'd be happy to provide diagnostic.12:12
lifelesscool12:12
lifelessthanks12:12
asabilis it normal that bzr status takes 26sec to complete with a clean working tree ?12:12
lifelessasabil: it has to sha1sum the files the first time12:13
lifelessasabil: it should be near instant after that12:13
asabillifeless: what is the 1st time ?12:13
lifelessasabil: after checkout, after manually copying the tree (destroys the stat cache)12:13
asabilright, it gets down to 1.1 seconds after that12:14
lifelessasabil: the other possibility is that your tree was cold and you're actually measuring the time to page in the dentries and inodes for the tree (and if its really cold, bzr is likely not in cache as well - thats a good 15-20 seconds there, because python *sucks* at loading many modules)12:14
ddaaalso, if the tree has many files, it can take a while for the system to read directory entries into the cache. Cold-cache perf occurs e.g. after reboots or long periods not working on those files.12:15
ddaa(lifeless just said the same thing with more jargon)12:15
asabillifeless: also I had a really weird issue with bzr-svn and the --development-6-rich-root format12:15
vxnickdavidstrauss: ping12:15
davidstraussvxnick: pong12:15
asabilI checked webkit over http, and it did result in an 11GB repository12:15
vxnickdavidstrauss: did you package the fixed 1.16 installer?12:15
* ddaa goes afk for an hour12:16
asabilit went down to 800MB after running bzr pack12:16
davidstraussvxnick: I haven't done anything since that venerable night12:16
lifelessasabil: hmm, shoulda gone smaller.12:16
vxnickdavidstrauss: fair enough :)12:16
davidstraussvxnick: It wasn't clear from the mailing list who was doing what12:16
vxnickdavidstrauss: ah, ok12:16
asabillifeless: the 11GB is not good in the 1st place I think12:16
lifelessanyhow, its bug https://bugs.edge.launchpad.net/bzr/+bug/37674812:18
ubottuUbuntu bug 376748 in bzr "after conversion chk formats are badly packed" [Critical,Fix released]12:18
lifelessbzr-svn needs to change as well12:18
asabillifeless: it wasn't a conversion12:18
asabilit was a fresh checkout12:18
lifelessasabil: svn->bzr - thats a conversion12:18
asabilah oki12:18
asabilthanks12:19
lifelessso what happens is12:19
lifelessbzr-svn copies some data12:20
asabilyes ?12:21
lifelessbecause of a couple of things, its not compressed beyond zlib12:21
lifelessthen, when it hits a threshold (5000 commits I think), it commits the transaction, and repeats12:21
lifelessbzr's core causes an autopack when a certain number of transactions have occured12:22
lifelessprobably bzr-svn needs some tuning to work better with 2a12:22
lifelessand it definitely needs to start doing the incremental autopack at the end of the fetch process as well12:22
asabilI see12:22
lifeless`night all12:30
asabilnight, and thanks for the explanation12:32
=== abentley1 is now known as abentley
=== mrevell-lunch is now known as mrevell
Peng_You mean the pack_hint stuff? bzr-svn and bzr-git do that now.13:26
jrwrenI'm getting very strange behavior, bzr 1.16 on win32 installed via the setup program. nslookup resolves my host, an internal dns name, but bzr says "failed to lookup <hostname>:4155: getaddrinfo failed"15:02
james_wit shouldn't be adding the port to the lookup should it?15:06
james_whow many colons do you have in the host/user/password part of the URI?15:07
jrwrennone.15:08
jrwrenits connecting to a bzr://host/path15:08
jrwrenan instance of bzr --serve running15:08
jrwrenit appears to be python getaddrinfo is different from windows nslookup.15:08
jrwrenah!  maybe a python bug.15:09
jrwrenmy win7 network interfaces were in bridge mode.15:09
jrwrenI had both interfaces up and connected to the same network.15:09
jrwrenwhen I took down an interface, it worked again.15:10
=== ja1 is now known as jam
jam morning vila15:14
jammorning #bzr15:14
james_wmorning jam15:14
* vila waves and wonders how jam manage to pop up at the precise second I was clicking on ja1 to check :-)15:15
jamvila:  magic15:15
vilajam: Aren't you scared that my magic allows me to summon you with my mouse ?15:16
vila:D15:17
jammeh, such is life15:17
jamBeing summoned at the whim of a Frenchman is just part of the mystery of the world15:17
awilkinsCa va15:19
awilkinsAnd C'est la vie15:20
* vila should stop magic, too much of it today anyway15:20
awilkinsSpeaking of mouse magic, I've discovered Synergy and I' love it15:20
vilaawilkins: you forgot: 'Et pour la ptite dame ce sera quoi ?'15:20
vilaawilkins: yup, synergy rocks, despite some incompatibilities with virtualbox15:21
awilkinsMa Francais est tres merde15:21
vilaawilkins: You certainly meant: "Mon francais n'est pas tres bon" :-D15:22
awilkinsAh, yes, I just called myself a girl15:22
awilkinsNo wonder they're obsessed with sex, it suffuses their language (ok, ok, that's gender)15:23
vilaawilkins: nope, I'm a boy, yet, I can say: "Ma voiture est en panne" (my car is broken)15:23
vilaawilkins: German is even worse, there is also neutral ;-)15:23
awilkinsSo "french" is mle15:23
awilkinsI thought it was that way round15:23
awilkinsI only studied it until I was 1515:24
Takyeah, I wonder why so many of the romance languages dropped the neuter gender from latin15:24
awilkinsWasn't romantic enough   <ducks>15:24
* Tak cry15:25
awilkinsverterok: I hate Eclipse sometimes15:27
awilkins"No repository found containing ...."   WHY IS THE SOFTWARE IN THE LIST IF YOU CAN'T SEE ITT!!!!115:27
awilkinsAhem.15:27
* awilkins calms down a bit15:27
verterokawilkins: you'r not alone15:28
jrwrenis there a way to spec a revno saying "last time this file changed"?15:34
jrwreni want to bzr diff MyFile, I know it changed recently, but I don't know if its -2, -3, -4...15:35
jrwrenis there a way to say "-1 for this file" ?15:35
vilajrwren: no, but annotate will show you all revisions the modify you file15:36
jrwrenah!  right!15:36
jrwrenty.15:36
vilajrwren: no, but annotate will show you all revisions the modified your file15:36
vilagee, typos all over the place15:36
vilas/the/that/ even or something15:37
awilkinsYou can log a file15:37
awilkinsbzr qlog <file> and bzr log <file> work just fine15:37
jrwrenannotate doesn't work in this case because I'm looking for a deleted line.15:37
jrwrenyes, I was trying to avoid log then diff15:37
vilajrwren: try qannotate15:38
vilaone more typo "-(15:38
jrwreni'm on win32 :(15:38
awilkinsqannotate works on win3215:38
vilaqannotate from the qbzr plugin15:38
jrwrenwhoa!  awesome!15:38
awilkinsIf you installed the .exe it's arleady instlled15:39
jrwrenthanks, that helps a lot15:41
james_wchk seems to have changed the rules about the revprops you can supply15:44
james_wI have to supply unicode values now, and I thought I had to supply non-unicode with old formats15:44
james_wwas I wrong before?15:45
awilkinsOh, I found a circumstance in 1.16 on windows where it just drops dead, something happening inside groupcompress_pyx.pyd15:53
awilkinsAlas, no stack track, because it just drops a minidump15:54
awilkinsWould that actually be any use to any bzr developers?15:55
rockstarjam, who designed the plugin model for bazaar?15:59
vilaawilkins: did you check you .bzr.log ?15:59
vilaawilkins: did you check your .bzr.log ?15:59
awilkinsvila: yes15:59
jamrockstar: I wrote the original code15:59
jamjames_w: Revision property *values* were *always* Unicode16:00
jamwe may have not asserted that in the past16:00
jambut they were meant to be16:00
jamand the decoder would always turn them into Unicode16:00
awilkinsvila: It doesn't write a stack dump to the log. I suppose a debug-on log would be ok16:00
james_wjam: ok, thanks16:00
jamawilkins: a copy of the *data* you were using would be helpful16:00
jamif that is possible16:00
jamawilkins: and you can rm groupcompress_pyx.pyd and you should then get a stacktrace16:01
rockstarjam, so, if I wanted to, say, steal the plugin loading code, where would I need to look?16:01
jamThough I recommend *moving* it away16:01
jamrockstar: bzrlib/plugin.py16:01
vilarockstar: groupcompress is not a plugin anymore16:01
jammv groupcompress_pyx.pyd groupcompress_pyx.old.pyd16:01
rockstarjam, okay.16:01
jamrockstar: different threads :)16:02
jamawilkins: We have a pure-python fallback that will be in library.zip16:02
rockstarvila, ?16:02
jamSo we should recover just fine from the .pyd going missing16:02
awilkinsjam: Alas, the data is rather large16:02
jamawilkins: my guess is an out-of-memory error or something weird like that16:02
jamawilkins: but again, the pure-python is more "segfault" tolerant16:02
awilkinsjam: That was my guess too ; it's also a bzr-svn branch16:02
jamso try that and see if it gives anything interesting16:03
vilarockstar: err, sorry, misread your first message, forget me16:03
awilkinsjam: Ok, I'll have to tinker with library.zip16:03
jamawilkins: you shouldn't have to tinker with library.zip16:03
awilkinsjam: Can you just unpack it and delete the zip16:03
jamI was just saying where the python code is16:03
awilkinsAh, yes16:03
awilkinsso just rename it to pyd_off ?16:03
jamawilkins: yep16:04
rockstarvila, c'est bon16:04
jamvila: any chance you could look at https://code.edge.launchpad.net/~jameinel/bzr/bug-390563/+merge/788916:04
jamIt should unblock the launchpad devs16:04
jamso I'd like to get it merged in16:04
jamand probably end up cherrypicking it to 1.16.116:04
jamThen I need to look at a more complete fix16:04
jamabentley: https://code.edge.launchpad.net/~jameinel/bzr/bug-390563/+merge/788916:04
jamThat is the branch Robert & I put together16:05
jamwhich probably fixes your issue about texts getting fetched that have already been fetched.16:05
abentleyjam: That approach isn't as robust as simply skipping duplicates when inserting records.  For example, the target repository may have text versions that cannot be predicted from its inventory data.16:09
jamabentley: I think erroring is the right approach if you have data that is inconsistent with what we want to insert that "cannot be predicted from the inventory data"16:09
* vila can't parse robust == ignoring errors16:10
abentleyjam: I disagree.16:10
jamabentley: if you have something that isn't referenecd16:11
jamwhich then *disagrees* with data that *is* referenced16:11
jamthen you have something very strange going on16:11
jamand it would be better to error than to warn16:11
jamwarning == do nothing16:11
jam(most people ignore warnings)16:12
abentleyjam: Erroring makes it harder to fix such situations.  It also requires the code that determines what to send to be bug-free.16:12
jamabentley: having different content be "acceptible" means that broken repositories are never "found"16:13
abentleyjam: Since you acknowledge that your code isn't bug-free, I'm not happy with such a solution.16:13
jamabentley: code is never bug free16:13
jamI would rather have it fail16:13
jamthan silently propagate corruption16:13
vilacorrupted data are harder to fix and diagnose than corrupted code16:13
abentleyjam: I didn't say we should do it silently.16:14
jamabentley: a warning won't generate a bug report16:14
jamnor push us to fix the code16:14
abentleyjam: It's not silent.  Users who care about corruption will notice and do something about it.  Users who don't care won't bother.  Everyone wins.16:15
jamcprov: I think the "crimson-and-clover" branch was yours, right? I've confirmed that lp:~jameinel/bzr/bug-390563 on the server side allows me to branch your stacked branch.16:15
jambeuno: ^^16:15
jamabentley: I honestly doubt it.16:15
jamSimple warnings get ignored16:15
abentleyjam: Also, your patch means that a bzr 1.16 server will break a newer client.16:16
jamabentley: nope16:16
abentleyjam: Doesn't the server decide what to send?16:16
jamabentley: so an older server will send more data than necessary to a client16:16
jamno breakage16:17
jaman older server will *break* just as it is breaking today16:17
jamwhen you push minimal data16:17
jambut then fetch more data than that16:17
jamclient determines what data to push16:17
jamserver determines what data to pull16:17
abentleyjam: Right.  I don't want it to break the way it breaks today.16:17
jamaka, source determines data16:17
jamabentley: and upgrading the *server* to this patch will fix it16:17
abentleyjam: I encountered this bug when pulling, not when pushing.16:17
jamabentley: to give details16:18
jamwhen pushing up 1 rev16:18
jamwe pushed up the minimal data16:18
jamwhen fetching 10 revs16:18
jamwe suddenly started fetching more data than the minimal set16:18
jamso doing "bzr push; bzr commit; bzr push" would send a minimal amount of data to the server16:18
jamand then doing "bzr pull" would break16:18
jam(for someone that didn't have the data)16:18
jamif you did "bzr commit; bzr commit; bzr push"16:19
jameveryone would be happy16:19
jamthe server would have "more data than necessary"16:19
jambut that doesn't *break* things16:19
abentleyjam: As I said earlier, this approach is not robust.  I'm not happy with it.16:19
jamabentley: having the same text twice in a repository with identical details does not harm anything16:19
jamattempting to insert it with *different* details does16:20
jamI'm against not aborting under that circumstance16:20
abentleyjam: It does no harm if you don't insert it.16:20
jamabentley: Except if *you're* the one that is wrong16:20
jamand the only way to find that out16:20
jamis to fetch someone else who is actually right16:20
abentleyBut you're damaging the case where I'm the one who is actually right.16:21
jamunlike the justice system, I'd rather presume guilty than innocent16:22
jamI realize this has blocked LP devs for a couple of days16:23
jamand that is certainly annoying16:23
jamI'd rather block some people and get a fix16:23
jamthan not block, and have the problem spread16:23
abentleyjam: It is not reasonable to prevent people from pulling good data from a server, just because the server also happens to have bad data.16:24
abentleyIt makes it much harder for us to fix the data.16:24
abentleyAnd this won't detect most forms of bad data.  It will only detect it in edge cases.16:25
abentleyIn fact, it won't even detect bad that we are inserting.  It will only detect potentially bad data that we *aren't* inserting.16:27
abentleyI'm all for improving consistency, but this is not contributing to that cause significantly.16:28
vilajam: I was looking at Robert's branch already,  I approved yours16:28
mxpxpodis there a way to register a directory type with the directory service and have certain urls initialize a shared repository with multiple branches in it?16:34
abentleyjam: I also don't understand why you think my fix would cause the corruption to spread.  Your fix would cause us to silently ignore the bad data, while my fix makes us warn about it.16:49
jamabentley: my fix is not specifically proposed for your work, though I think it will get you to where you want to be16:50
jamthe problem is cases where we should be fetching things  and they turn out to be inconsistent16:51
jamyours will still only warn16:51
abentleyThe problem is that I don't trust bzr to figure out what things we should be fetching.  Especially if I don't have control over the copy of bzr determining what to fetch.  That code is complex and you've already said it still needs work.16:55
=== Kissaki^0ff is now known as Kissaki
=== mthaddon is now known as afk
vxnickis it best to use 'bzr bundle' or 'bzr send' for saving patches?18:35
vxnickcreating*18:35
dashi think the main difference is that 'send' mails it18:36
vxnickI can't get either to output the patch info in the output file - I don't know what I'm missing18:37
* Tak always use bzr diff18:37
vxnickI've tried "bzr bundle -o changes.diff" and "bzr bundle -r-1 -o changes.diff"18:37
vxnickso something like "bzr diff -r-1 > changes.diff" ?18:38
LarstiQvxnick: bzr send18:38
fullermdYou want 'send -o$FILE'18:38
fullermdbundle is deprecated since about 2 weeks after dirt was invented.18:39
dashwhy doesn't it say anything about that then18:39
vxnickah I didn't know that18:39
LarstiQvxnick: and you might want to supply the submit branch18:39
LarstiQdash: bundle is a hidden command18:40
fullermdIt maybe should.  It's been taken out of the 'commands' list since...  I don't even know.18:40
fullermd0.11 maybe, something in that era.18:40
vxnickLarstiQ: there isn't a public branch18:40
LarstiQvxnick: send needs to know which revisions to include18:40
vxnickLarstiQ: I'm using "-r -1" for that18:41
vxnickassuming that'll do the last rev18:41
LarstiQvxnick: not exactly18:42
vxnick"bzr send -r -2.. -o changes.diff" works18:43
fullermdAnd note 'submit branch' != 'public branch'.18:43
vxnickfullermd: yeah I'm aware of that bit18:43
LarstiQvxnick: say you have a branch that is 2 revisions behind, if you made a merge directive with just the last revision, it wouldn't be able to apply that in the 2-behind branch18:43
fullermdAnd if that works, it probably means it already has a submit branch, so you don't need the -r at all (unless you're intending a cherrypick).18:43
vxnickok, so assume I've branched someone's code - if I want to create a patch with my changes in it since their last update, what would I use for the revision argument?18:44
LarstiQvxnick: nothing18:45
LarstiQvxnick: just `bzr send`18:45
fullermdYou wouldn't need any.  send checks the submit branch (which default to what you branched from), and includes everything that isn't in it already.18:45
vxnickah, thanks :)18:45
LarstiQvxnick: now, if your last couple of revisions were bogus, but you wanted to send the rest, you would do `bzr send -r -4`18:45
LarstiQwhich means, everything up to -4 that the submit branch doesn't have18:45
vxnickgotcha18:46
* LarstiQ goes for dinner18:46
vxnickthanks for your help guys18:46
LarstiQvxnick: np18:46
glyph"DoS attack"?18:51
glyphwhoops18:51
glyphI was responding to something twenty hours ago on a different channel :)18:51
alfHello, I was wondering if there is a preferred way to handle feature branches in very large (disk-space wise) trees. Creating lots of feature branches creates lots of large trees which can be a problem. Any thoughts?19:02
FibeRichioIs it possible to integrate the "bzr-push-and-update"-plugin to Turtoise Bazaar on Windows? Or do I have to use the commandline for that?19:09
beunoalf, because of the working tree, or the revision information?19:10
alfbeuno: the working tree19:11
beunoalf, you can use bzr switch\19:11
alfbeuno: thanks, I am reading about it now in the user guide19:16
jskulskiis this possible: bzr branching from a checkout of svn?19:38
LarstiQjskulski: if you have bzr-svn installed, yes19:39
jskulskiLarstiQ:: so when you bzr push you modify the files in teh checkout (which will sit and wait to be committed manually?)19:41
kirklandi'm in a local bzr branch, and i want to change the location it pushes to when i just type "bzr push"19:43
kirklandhow do i change the stuff cached and reported in 'bzr info' ?19:43
vxnickkirkland: bzr push --remember <new location>19:43
kirklandvxnick: rocking, thanks.19:43
LarstiQjskulski: no, it will push to the svn server then19:43
LarstiQjskulski: (and update the checkout)19:43
LarstiQjskulski: you need not touch the svn checkout anymore after you branch from it though19:44
jskulskiLarstiQ:: ok, so for bzr-svn, the workflow requiires svn commit access19:44
LarstiQjskulski: how so? (and what workflow?)19:45
jskulskiis that correct?19:45
LarstiQjskulski: you don't need to have svn commit access to use bzr-svn, no19:45
LarstiQjskulski: you need it to write back to the svn repo though19:45
jskulskiLarstiQ:: yeah19:45
jskulskiLarstiQ:: ok thanks for your help19:45
LarstiQjskulski: and pushing to a checkout implies pushing to it's master, both in bzr and svn19:45
jskulskiright on19:46
jskulskiseriously this channel is rocking, consistently helpful and friendly advice to a newb.19:46
jskulskithanks!19:46
LarstiQjskulski: but it's fine to just branch from svn, develop, publish, and let someone else bother with pushing back into svn. It's what I do ;)19:46
LarstiQjskulski: thanks :)19:46
jskulskiLarstiQ:: oo that is what i'm waiting for19:46
jskulskierr looking for19:47
jskulskihey again, I am trying to bzr branch file:///var/www/project where /var/www/project is a svn checkout of an external repository and I keep getting a segementation fault.20:05
jskulskii have bzr-svn installed20:06
jskulskiand i've done this process berfore with local svn repositories20:06
LarstiQjskulski: which version of bzr, bzr-svn (and possibly subvertpy) does this happen with?20:08
jskulskibzr 1.520:09
jskulski1.5.120:10
jskulski0.4.10-220:10
jskulskisorry 0.4.10-2 is bzr-svn20:10
schmooniorso I was doing a bzr add when my Mac had the equivalent of a BSOD (not related to bzr) and now when I run bzr status I get: bzr: ERROR: The dirstate file (DirState(u'/Users/drew/Documents/working/.bzr/checkout/dirstate')) appears to be corrupt: failed to find trailing NULL (\0). Trailing garbage: '\n'20:14
schmooniorany suggestions?20:14
jskulskisubversion is also 1.5, but not sure what the external reposiotry version is20:14
Peng_schmoonior: If you don't mind losing some of the working tree's uncommitted meta data (e.g. bzr adds), and aren't using a lightweight checkout, getting rid of .bzr/checkout and running "bzr co" is probably easiest.20:15
Peng_schmoonior: Note: if it opens a black hole and destroys the planet, it's not my fault. :)20:16
schmooniorfortunately I'm not at LHC ;)20:16
schmooniorif I do the bzr co, it won't mess with any of the uncommitted changes in files?20:16
Peng_schmoonior: I don't know. I'd be surprised if it *destroyed* anything, but it might rename stuff to backup files or generate conflicts or something.20:18
Peng_schmoonior: Again, black holes, not my fault, etc.20:18
schmooniorok, I might just make a simple copy of my tree before I do anything20:18
SamBschmoonior: was just about to suggest that myself ;-)20:18
Peng_Yeah, backups are good. :)20:19
schmooniorthanks guys, I will let you know how it goes20:19
LarstiQjskulski: sorry, I didn't get highlighted so didn't get drwan back here20:33
LarstiQjskulski: bzr-svn 0.4 is a dead end, preferably use 0.6.x or if not that then at least 0.5.x20:33
kfogelanyone: if you had to point people to just one page to say what brisbane-core is all about, what page would it be?  http://jam-bazaar.blogspot.com/2009/03/brisbane-core.html ?20:34
LarstiQjskulski: I can't promise all bugs will be fixed in newer versions, but many have20:34
LarstiQkfogel: if one page, then yes that one20:34
kfogelLarstiQ: thanks20:34
LarstiQjskulski: are you on suse by chance?20:35
jskulskiLarstiQ:: sorry stepped out, i will look into updating. We are debian 520:49
schmooniorPeng_ and SamB: it appears to work.  I'll have to readd everything like you suggested and I had to fix a bunch of conflicts.  Thanks again20:50
LarstiQjskulski: ah good, I run Lenny myself too20:51
SamBjelmer: if I do a "bzr svn-import" with a destination repository that contains a branch of my own in addition to the branches imported from SVN, is my branch in any danger?21:15
synicis there an easy way to serve bzr via http with access control?21:27
dashsure21:28
dashuse any http server with access control :)21:28
synicI see.  Just the regular Auth in apache would work?  What about limiting writes to some users and read to others?21:29
SamBbazaar supports commit-by-PUT now?21:31
synicanyone?21:32
dashsynic: i don't remember if you can push to a bzr branch via http21:32
LarstiQSamB: with smartserver enabled, or with webdav21:32
dashbut yes, just regular auth will work.21:33
synicI'm trying to find the best way to serve a bzr repo to windows users with access control21:33
synicssh doesn't really work because lol windows21:33
LarstiQwindows can do ssh21:33
LarstiQsynic: bzr has support for putty/pageant21:33
synicoh, pageant?  Sweet, this will work then21:34
synicLarstiQ: is there a doc on that?  I'd like to use ssh keys21:35
LarstiQsynic: userguide perhaps, but if pageant is in your PATH, it should just work?21:36
LarstiQsynic: and yes, with keys :)21:36
synicLarstiQ: do you have to tell bzr to use pageant?21:45
lifelessjelmer: bug 376748, just checking - you call the partial pack function?21:47
ubottuLaunchpad bug 376748 in bzr "after conversion chk formats are badly packed" [Critical,Fix released] https://launchpad.net/bugs/37674821:47
LarstiQsynic: should not be needed. But in case you also have openssh on windows (which it will prefer) you can use BZR_SSH=plink21:48
synicmk21:48
=== afk is now known as mthaddon
LarstiQsynic: but afaik all you should need is to have PATH set up21:53
synicyeah, it's working now.  Thanks :)21:53
LarstiQcool :)21:54
synicone more question, is there a way to "bzr push" in tortoise bzr?22:01
synicit's got pull, update, commit, add, delete.  No push?22:04
LarstiQsynic: called 'publish' maybe?22:06
* LarstiQ is not well versed in windows/Tortoise :/22:06
synicyeah, no publish22:06
synicI'm not very good with windows either22:06
synicI'm probably missing something obvious22:07
jamlifeless: ping22:16
lifelesshi22:16
lifelesstiming :P I wass just about to go grab food22:16
jamSorry I was away, my wireless on my laptop dies every now and then22:17
jamso I just hacked hidden without it for a while22:17
jamlifeless: so you may want to look at lp:~jameinel/bzr/1.17-chk-multilevel22:17
lifelessthats cool22:17
lifelessso22:17
jamI'm pushing it now22:18
jamanyway, it is an attempt at using the same heapq strategy22:18
jamfor iter_interesting_nodes22:18
lifelessI was wondering why you remove any uninteresting nodes22:18
jamany?22:18
jamso that you don't have to walk the entire uninteresting set22:18
jamthe way the code was structured22:18
jamit made sure to get the 'largest possible uninteresting' set22:19
jamand then filtered the interesting nodes as it read the rest in22:19
lifelesswell22:21
lifelesslet me rephrase22:21
lifeless'I wasn't awake'22:21
lifelessclearly an interesting tree may have uninteresting nodes, so you have to trim from both sides22:22
=== vxnick is now known as vxnick-AFK
lifelessso, all good22:22
lifelesslet me know when its pushed, and I'll give it a review22:22
lifelessI wanted to ask you about abentley's skip-dupes; reading scrollback it looks to me like you have similar concerns to what I expressed about the first version of the patch22:23
jamlifeless: the basic fix I wrote, and you managed to write tests for has been landed in bzr.dev22:23
jamas it at least fixes the common cases we are running into22:23
jamlp:~jameinel/bzr/1.17-chk-multilevel is a pretty major rewrite22:24
jamand it is going to be a while before I'm specifically ready to land it22:24
jamIt currently reads nodes 1-at-a-time22:24
jamwhich isn't appropriate for what we are doing22:24
jam(especiallly yielding *keys* one-at-a-time)22:24
lifelessheh yes22:24
lifelessI think the crisis is over, I'm helping[nagging?] mwhudson to land the common case fix22:25
jamlifeless: generally, I think the check we have is better than a simple warning. I could be convinced that it isn't the perfect time to be doing the check, and that we should have better ways of handling it.22:26
jamlike having a "reconcile my repo with this repo over here"22:26
jamand "I know you don't like it, but stop getting in my way" flag.22:27
lifelessjam: Could you do me a favour, and review aarons new version; I don't like being the only bad guy :)22:28
abentleylifeless: Dude, I did what you asked.22:28
lifelessabentley: you did, but the basic concern I expressed is still there22:29
lifelesswhich is fundamental22:29
lifelessthe trace version has no performance issues - and thats great22:29
lifelessif its conceptually ok to do this, then it passes muster22:29
abentleylifeless: You expressed concern about it being silent.  It's not silent.22:29
lifelessabentley: your revised version is massively better than the first one. I'm ecstatic on that basis.22:31
=== Kissaki is now known as Kissaki^0ff
lifelessI think one of the concerns I have that I haven't adequately expressed so far is this:22:33
lifelessfor revisions is really serious to have this wrong22:33
lifelessfor texts it affects annotate and log22:33
lifelessso I'm going to ask you to do one smallish further change, which is to note whether we care in a particular GCVF  object, and then I'll be happy22:34
SamBhave what wrong?22:35
abentleylifeless: for revisions, it would be a pretty big bug to miscalculate what revisions to send.22:36
jamabentley: it would be an even bigger bug to have different ancestries22:36
abentleyjam: I'm not sure that's even true.22:37
SamBsending the wrong revisions doesn't sound like it ought to do any permanent damage to *me*22:37
jamfor the same revision to have different parents...22:37
jamSamB: sending revisions you don't need, or duplicates with what you already have doesn't seem like a problem, as long as they are identical22:37
SamBcorrupting the revisions sent is indeed *bad*22:37
lifelessabentley: it would; and this was an inarticulated concern, which is why you couldn't fix it ;)22:38
SamBjam: exactly22:38
lifelessabentley: now I've figured it out, its possible to fix it.22:38
lifelessabentley: I've proposed one way in the merge22:38
SamBjam: not sending what you do need is a problem but presumably the other end will catch it22:38
lifelessabentley: other ways are likely possible, and if you have one please propose it. Though what I'm proposing is pretty lightweight.22:38
jamand at least in our "theoretical" prototypes, we have discussed sending extra data in exchange for not having to query to determine what you do/don't have22:39
abentleylifeless: I will update my branch as you requested.  I think my fix is appropriate for CPing into Launchpad, because it lets us reconcile trunk.22:39
SamBjam: like the way git defaults to behaving?22:40
lifelessabentley: as long as we deploy the full version rapidly thereafter I'm fine with that22:40
lifelessabentley: I would be concerned about running with trace-for-revisions for extended periods22:40
lifelessSamB: that isn't what git does22:40
lifelessabentley: sorry for giving your a runaround here; it wasn't intentional.22:41
lifelesss/your/you/22:41
abentleylifeless: Okay.22:41
SamBlifeless: well, it doesn't involve going down the list and asking the recieving end "do you have this? do you have this?"22:42
abentleylifeless: I will try to set up a cron job to run "bzr check" on trunk.22:42
lifelessSamB: it does22:42
lifelessabentley: I think thats a good precaution.22:42
SamBlifeless: git-to-git? no...22:43
lifelessSamB: yes22:43
lifelessSamB: it has a bidirectional stream where both sides say 'I have X\nI have Y\n'...22:43
lifelessSamB: and that goes on until the sender knows precisely what the reciever doesn't have, when it stops sending 'I have' messages, goes and creates a pack on the fly and transmits it.22:44
SamBwell, it doesn't go and then ask you what blobs you have ...22:44
lifelessSamB: neither does bzr22:44
lifelessSamB: it walks the commits and tree content to determine what blobs to send; bzr does similar.22:44
SamB... which can be annoying if you're rewriting ancestry ;-P22:45
lifelessso yes, the same blob will be sent if you rebased or similar the only refs that had it22:45
lifelessand bzr will do the same in the same situation22:45
lifelesswhat jam is talking about is quite different22:46
SamBso, what approximation do you mean ?22:46
lifelessits about *deliberately* cutting the calculation for 'what the receiver has' short (either at the revision level, or doing less work analysing the commits), and just sending what we have on disk22:46
lifelesse.g. send the entire compression group, rather than the 3 texts from within it that the receiver needs22:47
SamBoh, you mean the sender deciding "screw this, I'm just sending the pack"?22:47
lifelessfor instance, yes.22:48
=== davidstrauss_ is now known as davidstraus
=== davidstraus is now known as davidstrauss
lifelessjam: I really must eat now, bbs22:52
jamlifeless: eat hearty22:52
lifeless87.1kg today22:52
lifelessslowly slowly22:52
jamthat is a lot of food to eat22:52
jamand it isn't even 8am there22:52
jamlifeless: you should slow down indeed :)22:53
lifelessjam: !22:53
lifelessbbs22:53
thewrathhey all i have linux commands i need to run23:24
thewrathcan i run bzr diff commands23:25
lifelesswhat do you mean?23:29
thewrathis there a such thing as bzr diff23:29
thewrathwant to run something liek this svn diff -r 36:69 URLgoesHere | grep "^+" | grep -v "^+++" | wc -l23:30
thewrathbut im using bzr23:31
lifelessyes there is23:31
thewrathpefecto23:33
thewrathi need the url like this  hold on23:33
thewrathhttps://code.launchpad.net/~mikesats-coders/mikesats/stableversion23:33
thewrathwhat would the url be for that23:34
thewrathwould it be bzr diff -r 4:5 lp:mikesats | grep "^+" | grep -v "^+++" | wc -l  ?23:35
lifelessbzr diff -r 4..5 lp:mikesats23:35
lamalexdoes anyone know the name of the project for code hosting on lp?23:35
lamalexwhooops23:35
lamalexmeant to join #launchpad23:35
lifelesslamalex: launchpad-code23:35
thewrathlifeless but i want the number of added lines23:35
thewraththat is where the greps come in handy23:35
lamalexlifeless: thanks23:36
lifelessthewrath: sure, so use them23:36
thewrathis that supposed to be 4.5 or 4:5 lifeliess23:36
lifeless4..523:36
thewraththat is how bzr does it?23:36
lifelessyes23:36
thewrathbzr diff -r 4..5 lp:mikesats | grep "^+" | grep -v "^+++" | wc -l  ?23:36
lifelessyes23:37
thewrathlifeless: u still around23:50
lifelessthewrath: sure23:50
thewrathi get  a dont know how to handle ssh connection23:50
thewrathplease set bzr_ssh enviroemnt variable23:50
lifelessthewrath: are you on windows?23:51
thewrathyes sir23:51
thewrathi have pageant key list running with my key23:51
lifelessok23:51
thewrathhow do i correct the error23:51
lifelessuhm, I'm not really fluent about using bzr on windows23:51
lifelesshow did you install bzr?23:51
thewrathnormal windows install23:53
lifelesswe have a couple of different installers; can you be more precise? was it a .exe? or the python installer or?23:53
lifelessjam: are you still around? ^23:54
thewrathexe23:54
thewrathi think its sometihng to dow ith cygwin but not sure23:54
lifelessthewrath: its meant to detect pageant automatically I thought23:54
thewrathyea23:56
thewrathit is23:56
thewrathdamn it23:56
lifelessso you could try23:59
lifelessset BZR_SSH=paramiko23:59
lifelessthen run your bzr commands23:59

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