/srv/irclogs.ubuntu.com/2008/07/31/#bzr.txt

jmllifeless: it's consistent with the announcement of Launchpad APIs.00:04
=== rocky1 is now known as rocky
lifelessjml: I don't understand00:15
markhjam: so I'm looking at disabling auto-detection of plink as (I think :) everyone agreed.  This would means that source-code users who do not have paramiko, but do have pageant/plink setup will not work at all without setting BZR_SSH.  ie, we will "fix" plink users that don't use pageant at the cost of "breaking" users that use plink + pageant to manage their keys who work today.  Is that the intent?00:17
lifelessmarkh: why disable plink?00:20
lifeless(short answer is fine, I just missed the conversation)00:21
markhplink is unable to correctly interactively prompt for a passphrase00:21
markhit was disable plink *detection*00:21
markhso setting BZR_SSH=plink would still allow it to work00:21
lifelesshave we filed a bug about that ?00:21
markhbut - the point I was making is that plink works fine is pageant is used (meaning plink doesn't *need* to prompt for the passphrase)00:22
lifelessso can we detect plink+pagent vs plink w/o pagent ?00:22
markhhttps://bugs.launchpad.net/bzr/+bug/107593 is the closest IIUC00:22
ubottuLaunchpad bug 107593 in bzr "bzr unable to ask password for access over bzr+ssh:// or sftp:// when plink.exe used as SSH client" [Low,Fix released]00:22
lifelessmarkh: well I was meaning in the plink bugtracker :P00:22
markhbut the resolution to that was simply to pass a param to plink that stops it even *trying* to prompt :)00:23
markhthere is something funky going on with windows consoles00:23
markhplink executed directly works fine00:23
markhso we'd need more research to file a plink bug00:23
* markh idly wonders how a windows GUI app could hope for either ssh or plink to prompt for a passphrase...00:25
markhso - I actually think the status quo is fine.  There is almost an expectation that BZR_SSH needs to be set, and I think the current plink default behaviour helps more people than changing it would.00:27
markhand later we can see if we can convince plink to prompt like ssh, and everyone remains happy (except me with ssh.exe on my path, but I digress ;) )00:28
lifelessmarkh: sounds fine to me00:30
lifelessFWIW00:30
markhcool - thx!00:30
markhthat was my last task for the binaries too (well, apart from releasing them and submitting changes upstream and working out what we do with them once I've uploaded them :)00:31
markhthe bzrsvn plugin isn't working that well, but I think there is still value to including it given we aren't trying to call it anything like stable/final00:32
lifelesscool00:32
=== mark1 is now known as markh
markhheh - bzr just logged "...  readv() read unknown bytes rather than unknown bytes at unknown for "http:..." - obviously it doesn't know much about that error :)01:08
lifelessjelmer: lol @ gloom01:08
poolie_hello markh, lifeless01:10
=== poolie_ is now known as poolie
markhhi poolie01:10
jelmerlifeless, (-:01:23
jelmerlifeless, I hadn't realized the meaning of gloom in English01:23
fullermdNow all we need is a command to Dump the Original Outside Metrics...01:23
matthew-_so I come from a history of using monotone which I want to move away from, I've just discovered some behaviours with Hg that I don't like and wanted to check see what bzr does01:37
lifelesshi01:37
matthew-_but firstly, does bzr allow you to name branches?01:37
lifelessyes, our model is that every branch is a directory on disk (we do support sharing the repository and having a single working tree that switches between branches)01:37
mwhudsonjelmer: :)01:37
matthew-_lifeless: yeah, I get the model, I just wanted to see if you can give a name to a branch and then for example, switch to that branch just by going bzr update branchname01:38
lifelessmatthew-_: yes, 'bzr switch NAME' will look in $branch/../NAME01:39
matthew-_ahh ok. so the name of a branch isn't meta data that's attached to a revision?01:39
lifelesswe store a nickname in revisions01:40
lifelessbut its used for bzr viz and other such reporting, not for switching01:40
lifelessthe nickname that will be stored defaults to basename(branchdir); but can be forced via 'bzr nick'01:40
matthew-_ok, so if two people share the same set of revisions, they would have the same branch names for the same revisions?01:41
lifelessuhm yes but I feel like we're not connecting somehow01:41
lifelesswe're not at all like hg in our treatment of branches01:42
matthew-_no I think we are. It's just that mtn assigns quite a lot of semantics to branch names and I just want to see how much that's carried across01:42
matthew-_yeah, you seem quite different to hg and mtn01:42
lifelesswe don't assign any semantic to branch names01:42
matthew-_ok, so let me give you a scenario01:42
matthew-_let's say I'm working on the mainline of my project and then I branch to start work on a new feature. My friend then wants to help me with this new feature. So how do I identify to him which branch he should switch to?01:43
lifelessjust tell him the url01:44
matthew-_right, of course, the branch is reflected in the url01:44
matthew-_I understand. thank you for your patience :)01:44
lifelesshappy to help, I'm here all day :)01:44
matthew-_so my next question is the following. Say I've made some changes, but not committed01:45
matthew-_I then do a switch to a different branch, or even just an update to a different revision01:45
matthew-_what would the output of bzr diff be?01:45
lifelessyour uncommitted changes01:46
matthew-_so it takes the diff from the current revision and then reapplies that diff to the new current revision?01:47
lifelesswell01:48
lifelessthe switch and update operations do a merge01:48
lifelessa merge preserves edits (though they may conflict and if so you get conflicts as a result)01:49
matthew-_ok, so I probably didn't mean either switch or update ;) How would I change my current directory to be of a different revision?01:50
lifelessswitch moves you to a different branch; so that your commits will go to it01:51
fullermdDepends on how deeply you mean that...01:51
lifeless(its the same as switch on svn/git)01:51
fullermd'revert' will change the contents (and layout, presence, etc) of the files to be like that revision.01:51
lifelessupdate is used when you have a tree that is out of date with its branch01:51
fullermdBut your WT still considers itself to be at whatever revision you were previously at, so e.g. 'diff' will show a lot.01:52
matthew-_ok, sorry, so many terms get reused between DVCSs and all with different semantics!01:52
lifelessmatthew-_: we've tried quite hard to be consistent with cvs/svn on these common commands, because they have market dominance - less relearning for bzr users01:53
matthew-_ok, so from revision X I add one line to a file. Then I do bzr revert Y where Y came before X. Then bzr diff will show all of the changes necessary to go from Y to X and to add the extra line?01:53
matthew-_lifeless: sure, I appreciate that. It's just I use neither :)01:53
fullermdNo, revert will blow away the uncommitted changes.01:54
lifelessmatthew-_: so you add one line01:54
lifelessmatthew-_: why do you want to change the revision the tree is at ?01:54
fullermdIts main purpose is its name; 'revert this {file,dir,tree}'.  That you can specify 'to a given revision' is fruit on top of that.01:54
lifelessmatthew-_: (as in, whats the follow up operation you want to do)01:54
matthew-_lifeless: say I've done an hour's work, without committing. I then realise that I'm on the wrong branch and I should commit to another branch, and thank goodness, I realise that the file I've altered is the same in both branches, so I should just be able to switch to the head of the branch I want, and commit there, without having to redo my work01:55
lifelessmatthew-_: 'bzr switch BRANCH; bzr diff' will show you just the work you've done01:56
lifelessmatthew-_: and it is switch you want, because you want to commit to a different branch01:56
matthew-_ok01:56
igcmorning01:56
matthew-_and what happens if the branch I switch to has altered the file I've worked on but in such a way that the diff still applies cleanly?01:57
lifelesssame01:57
matthew-_right, so it doesn't just apply my changes, it leaves the whole file unaltered01:57
fullermdIt's a little smarter than just 'diff'.  It's more like if you committed the change, then merged it in the other branch.01:58
lifelessmatthew-_: no, it does a merge01:59
lifelessmatthew-_: so you only see your uncommitted work, transformed as needed by the merge01:59
matthew-_ok cool02:01
matthew-_ok, sorry, I have another question02:05
matthew-_say I want to start a branch, but I want to start it from a particular revision02:05
bob2branch -r /url /tosomewhere02:06
matthew-_how do I get back to that revision in order to create the branch?02:06
bob2er, -r nnn /url /tosomewhere02:06
lifelessmatthew-_: you don't need to go bac to the revision, you just need to give -r to the branch command, as bob2 says02:06
matthew-_ugh, this is my problem. I'm used to mtn where you normally have a single working directory that you move all over the place, rather than lots of directories02:07
matthew-_just a mental shift I guess02:07
bob2sure, that is what 'bzr switch' is for02:07
bob2create a repository somewhere, check out a branch from it.  want a new branch, 'bzr branch . ~/repository/somename', 'bzr switch somename'02:07
bob2it is a trivial plugin to simplify that to 'bzr tbranch somename'02:08
fullermdOr it could be a useful addition to 'switch'.02:14
bob2yeah, I wasn't sure how to integrate it into the existing ui02:16
fullermd'-c' to create the branch (based on the current by default) and -r to specify a revision to start it from (which could include branch: revspecs or the like to specify a different one)02:17
fullermd(I don't say that's the best; just the most obvious)02:17
matthew-_sorry, is there an ENV Var to set to force merge to use a nice tool?02:21
fullermdI think there's a bzr plugin for meld...02:22
bob2dunno, but unclean merges leave the 2/3 sources files on disk so you can use any merge tool you like02:23
matthew-_err, I want to force it to use xxdiff02:23
matthew-_it won't automatically fire it up for me somehow?02:23
fullermdWell, the existence of meld is the extent of my knowledge of "nice tool"s for merge   ;)02:23
markhjelmer: for some reason, bzrsvn is causing blackbox.test_check.ChrootedCheckTests.test_check_missing_branch to hang for me.  It stops hanging with --no-plugins, or if I manually remove just svn.  It seems to be reading from a socket, but I haven't dug any deeper.  Any clues?02:25
jelmermarkh: No, sorry. I would guess it's related to the custom log function bzr-svn registers02:25
matthew-_ahh, extmerge is clearly what I want http://erik.bagfors.nu/bzr-plugins/extmerge/02:25
jelmermarkh, seems strange it would hang in a socket operation though02:26
spivmatthew-_: you can also do "bzr diff --using xxdiff" I think02:26
=== BasicTheProgram is now known as Basic
jelmermarkh, if you comment out the custom log code in __init__.py:160, does that fix it?02:27
markhthat was just a very quick break into the debugger with no symbolic info...  I'll try and repro it from a source version02:27
markhapparently not :(02:29
jelmermarkh, where is it hanging then?02:30
markhsorry - commenting 160-163 had no effect02:31
markhbugger - source version is failing that test with an earlier pycurl error.  I'll dig a little and see what i find.02:33
jelmerthis is probably related to the bug spiv filed02:34
jammarkh: I think the chance of someone using bzr +plink without paramiko is vanishingly small, and shouldn't be optimized for02:38
jamparamiko is about 90% away from a "requires"02:39
jamEspecially if you are writing an installer02:39
jamwe would bundle it02:39
jamSo I think moving the plink autodetect to *after* paramiko is fine02:39
markhjam: I'd say the chance of someone using passphrase protected keys with plink on their path but without pageant is approaching zero too.02:40
matthew-_ahh, so visualise doesn't show all heads of all branchs in the current repo. It just shows the head of the current branch02:41
jammarkh: well, if pageant would find the keys for me, I might actually use it :)02:41
markhsure - but as you dont it will not be on your path, so no problem :)02:41
jammatthew-_: ATM, I think there has been work to allow it to show more heads02:41
jammarkh: agreed, no problem02:42
jamthe problem with plink isn't with keys02:42
markh(otoh, I think its reasonable it *may* be on your path, likes its reasonable ssh may be on mine, which is why I think paramiko is a better default, but I think we've done that already ;)02:42
jamit is that you can't prompt for *any* password02:42
jammarkh: so with plink you can't access a password-protected page02:42
jambut you *can* with paramiko02:42
markhright - paramike seems to have everything going for it ;)02:43
jamover plink, yes02:43
jamover ssh, no02:43
jamat least IMO02:43
jamyou can't really configure plink to use a config02:43
jamwithout passing in a command line option02:43
jamyou *can* for ssh02:43
fullermdmatthew-_: vis can show multiple branches at a time, but normally it just shows your current branch.02:44
markhI think we should wait for the "bug" reports before making things more convoluted. At least the status-quo of "we try and find known ssh vendors on your path, or fall back to paramiko" is easy to explain, and as you point out, setting BZR_SSH isn't hard either - especially when "fixing" plink and/or paramiko to overcome the limitations we are discussing would also change the "best" defaults IMO.02:47
jamjelmer: just to mention, you probably shouldn't do "getattr()" on the plugins, but try a "try import except ImportError"02:50
jamBecause you don't know that loom will be imported *before* gtk02:50
lifelessjam: hi02:50
jamhi lifeless02:50
lifelessjam: did you change mail client a month or so back?02:50
lifelessyou seem to be quoting much more than you used to02:50
jamlifeless: still using T-bird, why?02:50
* igc lunch02:50
jamprobably just depends on my mood02:51
lifelessits a little weird to quote 40-50 lines to reply with 702:51
lifelessIMNSHO02:51
markhjelmer: it appears to be in SvnRemoteFormat._open02:52
markhthen calling into ra.pyd, which presumably is remote.SvnRemoteAccess02:53
jamlifeless: It would be weirder if I edited *some* of the message but left the rest02:53
jamin this case I just hit reply02:53
jamand replied02:53
jambetter than top-posting, IMO02:54
lifelesslol.. ok02:54
lifelessI just thought I'd mention it, because I've had a feeling of wading through quotes to try and find your comments recently02:54
=== Verterok_ is now known as Verterok
jamI'll try to be a bit more terse02:55
jelmerjam, thanks, fixed now02:55
lifelessits not a big deal02:55
matthew-_ok, I'm confused, again!02:57
lifelessmatthew-_: shoot02:57
matthew-_if I do init-repo --no-trees repo; init repo/trunk; co --lightweight repo/trunk trunk; cd trunk02:58
matthew-_then commits get sent to repo/trunk02:58
lifelessyes02:58
matthew-_so it would appear that it's bound to the repo02:58
matthew-_but unbind says it's not bound to anything02:58
lifelesshmm, bit of plumbing exposed here02:58
lifelessso the --lightweight option means that 'trunk' has no branch object02:59
jelmermarkh: So it's probably attempting to open the path specified as a subversion repo02:59
lifeless'bound branches' are what you get if you omit the --lightweight parameter02:59
jelmermarkh: I wouldn't know why that would cause a hang though02:59
matthew-_ok02:59
matthew-_so why is there no --lightweight option to branch?02:59
lifeless'bound branches' are a way to emulate cvs/svn's tree facility while still having full local history02:59
matthew-_yes, I understand that02:59
markhjam: your last mail said you yourself stick cygwin\bin on your path, and given ssh-agent is almost impossible to use for mere-mortals on Windows, I'm surprised you think it is the "extreme minority" case that people will have an ssh.exe on their path even though they use pageant to manage their keys and use ssh.exe rarely, if at all.  But I guess we just have to agree to disagree :)02:59
jelmermarkh, what specifically is it hanging on?03:00
jelmerfile handle?03:00
matthew-_because, in trunk, say I do a branch . ../mybranch; cd ../mybranch; nick mybranch03:00
jammarkh: well, *I* want to use ssh.exe03:00
lifelessmatthew-_: well, because branch makes a new branch object. We could possibly do --lightweight; however there is a command in bzrtools that you may like03:00
matthew-_I then want commits to go to repo/mybranch03:00
jammarkh: that is why I put it in my path03:00
lifelessmatthew-_: alled 'cbranch'03:00
lifelessmatthew-_: well, you probably want to do 'bzr branch repo/trunk repo/mybranch' bzr switch mybranch03:01
markhjam: I fully understand that, but its just I'd think *you* are in the extreme minority for a windows developer in this regard ;)03:01
markhI want to use various cygwin tools - that's why its on my path03:01
jammarkh: I think the effort to put things in your path means you want them there03:01
matthew-_lifeless: ahh! brilliant, thank you03:01
markhand I'm not so careful to remove every tool I don't currently use03:01
jamI think for *real* windows developers, they don't use cygwin03:01
lifelessmatthew-_: broad description - you want all your branches as repo/BRANCHNAME03:02
lifelessand you want one lightweight checkout somewhere else03:02
markhI don't use *everything* in my cygwin dir directly - but lots of build processes do.03:02
lifelessswitch in that checkout will accept just BRANCHNAME03:02
lifelessmost other commands want a longer relative or absolute path03:02
matthew-_lifeless: right. this is closer to the mtn model I'm used to than I thought03:02
lifelessthis is a bug - the logic for switch just needs to be hooked into these other commands03:02
markhjam: is that because they don't understand them, or have alternatives for everything cygwin provides?03:03
lifelessmatthew-_: is that good or bad ? :)03:03
markhall windows developers I know use them!03:03
matthew-_good, for me ;)03:03
lifelesscool03:03
markhI'd go so far to say "any windows developer who regularly uses the command prompt would use them".  My concern is that includes our "target" developer, particularly in the early days until the GUIs get better.03:04
markhs/any/many/ ;)03:04
matthew-_lifeless: ahh, but it doesn't seem to like switching when you have divergence03:05
markhjelmer: sorry - it seems to be reading a socket, but I've not got symbolic info for the svn binaries03:06
matthew-_I don't want to merge. I just want to change my lightweight checkout to a different branch03:06
lifelessspiv: http://rafb.net/p/0xKkTQ77.html03:06
lifelessmatthew-_: thats what switch does03:06
lifelessmatthew-_: what is happening03:06
matthew-_but it tried to do a merge. I was ci'd and everything03:06
markhtop of the stack is ntdll.dll, then below that is mswsock.dll, and below that ws2_32.dll, so that sure smells like a socket :)03:07
lifelessmatthew-_: the machinery of merge is whats used03:07
lifelessmatthew-_: so thats not surprising. Tell me what happened though03:07
jammarkh: I can agree with that, and if pageant +plink wasn't so crummy I would be fine putting paramiko first03:07
jambut as it stands03:07
jampageant can't find a ssh-key03:07
jamunless you add it every time you boot03:07
jamwhereas ssh.exe can find it in its "standard" location03:08
matthew-_ok. so I added a file with some lines and ci'd. Then I branched. Then, still in trunk, I added some more lines, ci'd. Then I switched to the new branch, added further lines (creating devergence) and ci'd. So far so good03:08
matthew-_then I switched back to trunk and it tried to merge03:08
matthew-_which I didn't want03:08
lifelessmatthew-_: what do you mean by tried to merge ?03:09
jammatthew-_: you might be confused by the progress bar03:09
jamit shouldn't merge the changes03:09
lifeless(I use switch with diverged branches *all the time*)03:09
jamjust uses the "merge" logic to safely reset your tree03:09
matthew-_no, I got file.THIS, file.OTHER, file.BASE03:09
lifelessmatthew-_: did it leave the wrong content in your tree?03:09
matthew-_yes03:09
jammatthew-_: hm... I haven't seen that03:09
lifelessok, run bzr st03:09
lifelessdo you have pending merges?03:09
markhjam: and you use ssh-agent, correct?03:10
matthew-_err, I hit bzr revert in order to tidy up the mess ;)03:10
jammarkh: occasionally, but not all the time03:10
matthew-_let me try again03:10
jamthe problem is you can't get it to start at the beginning03:10
jamso I just type my password a lot03:10
jambut if it couldn't find the key, then I couldn't connect to LP03:11
jamat one point I had a hacked up startup script03:11
jamthat would check if ssh-agent was started03:11
jamif not, start it, and save the env vars03:11
jamso the next bash shell would re-use it03:11
markhjam: right - and as paramiko can prompt for passphrases, your only practical issue with paramiko being the default is that HOME is set differently in a cygwin environment than a "normal" one, so the same keys aren't found by paramiko?03:11
jambut then the prompt would hang when you exit, etc03:11
matthew-_lifeless: I didn't nick the new branch. is that important?03:11
matthew-_it's just the path that's important right? not the nick?03:12
lifelessmatthew-_: not important03:12
jammarkh: well, and when I *do* use the agent I can't with paramiko03:12
jamand pageant being worse...03:12
matthew-_ok, I must have done something wrong. It is behaving as you describe. sorry, my fault.03:13
markhI certainly understand where you are coming from - I guess the question is - who is in the smallest minority, as they should probably take the "pain" of setting BZR_SSH.  So we are back to agreeing to disagree about who that is ;)03:13
lifelessmatthew-_: I would wager you had uncommitted changes that conflicted03:14
markhI'd say ssh-agent is such a world of hurt that its use is absolutely tiny - you are the first person I've ever met who uses it on windows.  I understand why you do though.03:14
mwhudsonjelmer: here-p?03:15
jelmermwhudson: Hello03:16
mwhudsonjelmer: thumper would like to talk to you :)03:16
jamwell, even if you explicitly install cygwin, you have to install openssh as well03:16
thumperjelmer: hi03:16
thumperjelmer: we're talking about bzr-svn03:16
jelmermwhudson, He's too shy to say that himself ? :-)03:16
jelmerthumper, hi!03:16
markhjelmer: I can probably extract more of the stack trace if you are interested?03:16
thumperjelmer: and when the version 4 mapping will be available03:16
markhpython stack trace03:16
mwhudsonwe're doing the 'bzr-svn for code imports' conversation again03:16
jamwell, plink is far worse than ssh.exe03:16
thumperjelmer: I was trying to get mwhudson to be the typer03:16
matthew-_ok, thanks very much for all your help. I think I shall be using bzr from now on :)03:16
jamregardless the agent03:16
jmlbut this time we are all in a room!03:17
thumperjelmer: except you03:17
mwhudsonjml: irc has rooms, right?03:17
jelmermarkh: yeah, that would probably be useful03:17
markhwe agree about how poor pageant is in those cases - just seem to disagree how many people use it over ssh-agent anyway :)03:17
jelmerHeh03:17
jelmerSo it may be a good idea to list what mapping version 4 is going to be exactly03:18
lifelessmatthew-_: cool03:18
thumperyeah, something like that03:18
jelmerIt's mainly about supporting the storage of bzr metadata in revision properties03:18
jelmerand removal of branching schemes03:18
thumperok03:18
jelmerand whatever happens to be around by the time it's put out03:18
thumperjelmer: and this would be when?03:18
lifelessjml: I am still confused about this xmlrpc thing03:19
lifelessspiv: can you tell me if that test looks plausible to you03:19
thumperlifeless: it is a way to call methods on a remote machine :)03:19
jelmerHopefully 0.4.11 + 1 or 2 months03:20
jmllifeless: So, we've published the requestMirror method over Launchpad APIs. The client library (and documentation) isn't released yet.p03:20
jelmer(0.4.11 is intended to be released together with bzr 1.6)03:20
lifelessjml: so the bug isn't fixed - I as a user can't use it yet03:21
lifelessjml: if I could, I could patch bzr's launchpad plugin to let 'bzr push' trigger a mirror03:21
jmllifeless: the bug is fixed in Launchpad Bazaar.03:22
lifelessso where is it not fixed, can we add a task on that03:22
jelmermost of the other possible candidates for inclusion in mappingv4 rely on changes in bzr core03:23
jmllifeless: Launchpad. If you add a task, I'll have to mark it as a duplicate of whatever bug is releasing the client API.03:23
jelmerfor the list, see https://bugs.edge.launchpad.net/bzr-svn/+bugs?field.tag=requires-mapping-upgrade03:23
lifelessI think you are saying 'jml has no more code to write to make this work', which is fine; I'm saying 'I want the bug to be marked closed when I can use it'03:24
markhjelmer: see /msg03:24
wgrantHow can I convince bzr to not attempt bzr+http? It seems to be disagreeing with SourceForge's Subversion server.03:25
jelmerwgrant, svn+http://03:25
wgrantjelmer: Aha, thanks.03:25
jelmerwgrant: although it should work even if there's no bzr server remotely - what error are you getting?03:25
wgrantjelmer: It's SF's fault:03:25
wgrantConnection error: while sending POST /svnroot/ivle/trunk/.bzr/smart: (104, 'Connection reset by peer')03:26
matthew-_is there some way to get bzr to show you all the branches in a given repo?03:26
matthew-_or do you just tend to do an ls and assume the same layout model?03:27
bob2matthew-_: bzr branches03:27
lifelessbzr branches PREFIX03:27
lifelessmatthew-_: but yeah, I use shell tab completion :P03:27
matthew-_ahh, it needs the path to the repo. ok, thanks03:27
lifelessmatthew-_: repositories are purely storage otimisation03:28
matthew-_indeed03:28
lifelessmatthew-_: they aren't part of the semantic of commands03:28
spivlifeless: that does look plausible, yeah.03:28
wgrantjelmer: It seems that SF is just very broken at the moment. Sorry for the noise.03:28
matthew-_ok. so with mtn I wrote the tab completion for branches and there you have an attached repo, which is a sqlite db03:28
jelmerwgrant, they sent out an email announcing downtime for ~12 hours03:29
jelmerwgrant, apparently work on performance improvements03:29
wgrantIt has been ridiculously slow for a couple of weeks.03:29
wgrantMinutes to commit a trivial change.03:29
jelmer*.nz: Still there?03:29
jmljelmer: yes.03:29
matthew-_oh, branches can't be nested?03:30
thumperjelmer: we're talking again03:30
mwhudsonjelmer: sorry03:31
thumperjelmer: I think I'm pretty much done, I was just wondering about timings03:31
bob2matthew-_: as in /repo/a and /repo/a/b are branches? they can.03:31
lifelessmatthew-_: yah. One reason we use regular directories is to allow standard toolchains like bash, nautilus etc to all be useful directly03:32
matthew-_sorry, I'm an idiot. I created the branch and forgot to switch to it03:33
lifeless:P03:34
jelmerthumper: Within one or two months after bzr 1.6 is released I think03:35
jelmerThe main thing left to be done is tests for the upgrade from v3 to v4 mappings03:35
thumperjelmer: ok, thanks03:35
* jelmer gets some sleep03:38
matthew-_another question, with mtn, you commit locally, then sync with your shared repo across the network. syncing is both push and pull but does that for all branches at the same time. How would you do this for bzr? Do you have to do a push and pull for every branch?03:47
matthew-_ahh ignore that, I've found repo-push03:53
lifelessmatthew-_: indeed; this is one of the things in mtn that is clever but doesn't work that well IMO03:55
lifelessmatthew-_: because you can't keep a private branch due to it always doing a full sync; the network sync logic depends on a full convergence for performance03:56
fullermdThe result is that I've ended up doing horrible hacks like having 2 mtn repos and very carefully crafted setups to have the private branches   :|04:07
lifelessfullermd: or use bzr :P04:08
fullermdWell, I do that where possible   :p04:08
fullermdI'm waiting for Samba to move to mtn, so jelmer writes bzr-mtn...04:08
lifelesscjwatson: ping04:12
jamfullermd: doesn't mtn allow you to slightly modify history, by attaching a new certificate?04:12
lifelessjam: annotate history I would say04:13
jamnot so much modify, as annotate/extend04:13
fullermdWell, that's how you merge [propogate], but...04:13
bob2matthew-_: there is a 'repo-push' plugin04:14
jambob2: yeah, he mentioned it already :)04:15
bob2bah, oops04:15
jdobrienany idea why a selftest run with -q would have different results than -v04:41
jdobrienmy blackbox tests has 3 tests...with -v (failures=2) with -q (failures=3)04:42
Odd_Blokejdobrien: That suggests that there's something wrong with the blackbox tests.  How are you invoking bzr?04:45
lifelessjdobrien: interesting04:45
jdobrienOdd_Bloke: ./bzr selftest RelativePathStatus04:48
jdobrienthis is a new set of blackbox tests04:48
jdobrienthere are 3 tests in all04:49
jdobrien2 are expected to fail04:49
jdobrien(failures-2) when ./bzr selftest RelativePathStatus04:49
jdobrien(failures=3) when ./bzr selftest -q RelativePathStatus04:50
jdobrienwhy i am using -q with only 3 tests is related to my laziness :-)04:51
lifelessjdobrien: I've never used -q with selftest04:52
lifelessjdobrien: you'll need to debug the failure that is caused04:52
jdobrienindeed04:52
jdobrienlifeless: indeed04:52
* meteoroid just started a new project using svn and populated it with bzr-svn04:52
mwhudsonbeuno: still awake?04:56
beunomwhudson, yeap04:56
mwhudsonso i'm looking at fix_setup04:57
mwhudsonand seeing some things that don't appear to make heaps of sense04:57
mwhudsonlike04:58
mwhudsonclass InstallData(install_data):04:58
mwhudson    def run(self):04:58
mwhudson        install_data.run(self)04:58
lifelessmwhudson: ping; what do you know about buffer objects ?04:58
mwhudsonlifeless: as in 'things returned by the buffer() builtin' ?04:58
lifelesshttp://python.active-venture.com/api/bufferObjects.html04:58
lifelessPyBufferProcs04:58
mwhudsonoh that04:59
beunomwhudson, ah, right.  THat used to do more things, but then I moved it around. I left if as-is because I wasn't sure how complex the installer will get04:59
beuno(doesn't jsutify it, just explains it)04:59
mwhudsonbeuno: i think i'd call yagni for now04:59
mwhudsonbeuno: also, there are both unecessary and missing imports04:59
beunodistuils leftovers?05:00
mwhudsonlifeless: i know some stuff, what do you want to know?05:00
mwhudsonbeuno: yeah05:00
mwhudsonbeuno: and missing the import of bzrlib.errors05:00
lifelessmwhudson: well, we do a lot of parsing05:00
lifelessmwhudson: I'm wondering if we can use buffer objects to expose the raw data we have (which starts out as a python string because we get it over a transport) as a string, without causing a mem copy05:01
beunomwhudson, ok, I'll fix that.  I'm also tempted to add an uninstaller, and move the dependency-checking to somewhere we can re-use05:01
lifelessPyStringFrom* copies AFAIK05:01
mwhudsonbeuno: i think the ultimate installation thingy is going to be 'apt-get'05:01
mwhudsonbeuno: so i wouldn't bother too much with an uninstaller05:02
lifelessbeuno: I suggest you don't do dep checking or uninstallers05:02
mwhudsonlifeless: you can't export it _as a string_ without copying05:02
lifelessbeuno: because they will both break badly, routinely, and you'll be in the job of writing a build tool05:02
mwhudson(PyString's own their buffers)05:02
lifelessmwhudson: something implementing the string protocol then, and as fast. ;)05:03
beunomwhudson, I agree, and jelmer has already packaged it, and is waiting for a release05:03
lifelessbeuno: two reasons not to do dep checking - installation is orthogonal to execution05:03
beunolifeless, makes sense. I may of been a bit over-cautious since dependency used to be a bit hell-ish05:03
lifelessbeuno: and it can be problematic to do well anyhow05:04
mwhudsonlifeless: maybe05:04
lifelessmwhudson: top level goal:05:04
lifelessactually, it starts out as the output from zlib.decompress()05:04
beunook, so, remove dependency checking, fix sloppy imports, and remove un-needed class05:04
mwhudsonbeuno: right05:04
lifelesswhich happens to be a python strign because we use pythons zlib wrapper; but we could change that05:04
beunoI may even do it now. DebConf is starting, and I'm housing Debian Developers at my place, so I can't do anything else  :)05:05
* beuno fires up vim05:05
mwhudsonheh05:05
lifelessmwhudson: top level goal: take a 20MB region of memory, and iterate over a couple thousand full texts which have been compressed into that region05:06
lifelessdo that as quickly as possible05:06
mwhudsonlifeless: it sounds like buffer objects might help there05:07
mwhudsonhow do you find the fulltexts?05:07
lifelessthe iterator needs to expose a few things, the key of the text, the sha1 (which we validate by sha1ing the fulltext when its extracted)05:08
lifelesseach full text is a obtained by processing a recipe contained within the region of memory05:08
lifelessa recipe is a series of control codes; one code is 'insert', the other is 'copy'05:09
lifelesscopy references bytes from earlier in the region05:09
lifelessinsert embeds new bytes for the fulltext inline in the control data05:10
mwhudsonlifeless: "hmm"05:11
lifelessso I can generate the sha by feeding the bytes referenced through a sha object, and giving them to the user at the same time; but there is no need to copy them them (the cost of copy is not the memcpy; its the allocation overhead)05:12
mwhudsonit seems that you can feed buffer(bigstring, start, stop) objects into sha05:13
lifelessok05:14
mwhudsoni wouldn't be _entirely_ certain that this won't end up being copied in the sha code05:14
mwhudsonbut i'd hope not05:14
lifelessit shouldn't be05:15
lifelessis buffer() available in 2.4?05:15
mwhudson(and you can tell my hard drive died fairly recently, i don't have the cpython source here)05:15
mwhudsonbuffer() is pretty seriously ancient05:15
lifelessalso, this is for an extension module05:15
mwhudsonany python released in the last ten years or so should be ok05:15
lifelessI don't care if the python version is _fast_, rather that its _clear_05:15
mwhudsoner05:16
mwhudsonthen i don't entirely understand05:17
lifeless:)05:18
mwhudson(probably because my brain has about the consistency of blancmange by now)05:18
beunomwhudson, tweaked and pushed05:18
lifelesshere, have some red spraypaint05:18
mwhudsonbut on the one hand you care about speed and on apparently the same hand you don't?05:19
lifelessmwhudson: do you know the bzr policy for extension modules?05:19
mwhudsonlifeless: yes, so you're talking about things like patiencediff_py vs patiencediff_c ?05:19
lifelessyes - we keep a python implementation for things we write extension modules of;05:19
lifelessthe python implementation focuses on clarity and being easy to debug in the effect that something needs analysis05:20
lifelessthe C/pyrex version focuses on being the fastest possible implementation05:20
mwhudsonso where do you want to use buffer objects for efficiency?05:20
lifelessin the C/pyrex version05:20
mwhudsonah05:20
lifelesse.g. we might even look at have a prefixed instruction-count length so we could preallocate the right length instruction object count and so on05:22
mwhudsonso you'll be doing PyImport_ImportModule("sha") &c ?05:22
lifelessthe sha part is not important to our discussion05:23
lifelessit was an example of where I know how to do zero-copy already05:23
mwhudsonah05:23
lifelessthough being able to do it with roughly python code is easier ;P05:24
mwhudsonso i guess a buffer object is basically a pyobject header, a char* and a pair of indexes05:27
mwhudsonand some implementations of sequence methods05:27
mwhudsonbut if you're writing c already, i'm not quite sure why you'd want it05:27
lifelessmwhudson: because its smaller than strings, and less memory writes are good; because I can probably work up a array allocatable version of it so we can alloc an array and do in-place initialization etc05:29
mwhudsonlifeless: but i guess don't know why you'd use buffer objects over just passing pairs of ints around in your code05:29
lifelessmwhudson: because the code exposes an iterator to random python usage05:30
lifeless14:06 < lifeless> mwhudson: top level goal: take a 20MB region of memory, and iterate over a couple thousand full texts which have been compressed into that region05:30
mwhudsonlifeless: _ah_05:30
mwhudsonlifeless: wasn't clear there that the client of the code was python05:30
mwhudson(to me)05:30
lifelessthats ok05:30
lifelessunclarity FTW05:31
mwhudson:)05:31
mwhudsonso yes, having your iterator return buffer objects would appear to make sense05:32
poolielifeless: i think you or abentley told me the other day you thought autopacking would fail on a stacked repositoyr05:33
pooliemy test for that is not failing05:33
lifelesspoolie: cool05:33
pooliei'm going to poke at it a bit more and make sure it's actually exercising it properly05:33
lifelessautopacking and packing should behave the same05:33
pooliei'm just changing a one line file and maybe that's always storing fulltextst therefore not relevant05:33
lifelessso you don't need to fiddle the code to trigger an auto pack boundary05:34
lifelessthe easiest test would be05:34
lifelessone (say 10-line) file05:34
lifelessbranch --stacked05:34
lifelesscommit a line line change05:34
lifelessrun pack05:34
pooliesure05:34
pooliethat's what i'm doing05:34
mwhudsonlifeless: so i expect the python code will probably have to be a little careful to avoid effectively converting the returned buffers into strings and so copying the data anyway05:34
lifelesspoolie: that *could* be creating a fulltext05:35
lifelessso a more sophisticated test05:35
pooliemm05:35
lifelessbase branch, 10 line file05:35
lifelessbranch stacked05:35
lifelessin the base branch commit a 1 line change05:35
lifelessscratch that05:35
lifelessin a third branch made from the base05:35
lifelesscommit a 1 line change05:35
lifelessthen pull the third branch into the stacked one05:35
lifelessthat should guarantee a delta05:36
lifelessthen pack05:36
lifelessigc: you have mail heading your way; its a little brief sorry - I'm fighting some sinus thing this week, got a permanent headache :(05:40
mwhudsonbeuno:05:43
mwhudson    cmdclass={'install_data':install_data}05:43
mwhudsonthat's not doing anything, right?05:43
beunomwhudson, it *should* run install_data05:45
mwhudsonbut what that does is change the install_data command to run ... the default install_data command05:46
mwhudsoni think05:46
mwhudsoni guess i should test it :)05:46
beunoit's the first time I've fiddled with distutils, so I'm not 100% sure on anything  :)05:46
beunohm, it doesn't seem to do anything after all...05:47
markhyeah, that overrides how 'install_data' is run - but doesn't force that cmd to be run05:47
markhyou probably also need data_files or something05:47
=== mario_ is now known as pygi
beunomarkh, ah, it makes sense now05:48
beunothanks  :)05:48
markhnp :)05:48
* beuno removes, commits, pushes05:48
beunoit makes a lot of sense actually05:49
* beuno 's lightbulb just lit05:49
mwhudsonbeuno: oh, i made some tweaks of my own and merged the branch05:50
mwhudsonbeuno: i guess we should see if we made the same changes :)05:50
beunomwhudson, heh, right.  I'm just happy to scratch one more release-critical bug off the list05:51
mwhudsonwell, i removed the import too05:51
beunook, yours was better then  :p05:51
mwhudsonbeuno: bug 242270 would be nice05:51
ubottuLaunchpad bug 242270 in loggerhead/1.6 "Directory listing page doesn't use a template" [High,Confirmed] https://launchpad.net/bugs/24227005:51
beunomwhudson, that's next on my list05:52
mwhudsonbeuno: awesome05:52
beunoI just wanted to get the setup thing out of the way before it found more victims05:52
mwhudsonsure05:52
mwhudsonthanks for that!05:52
beunohappy to do it  :)05:53
beunoare the current bugs filed for 1.6 reasonable to release, or is there something else you want in on this cycle?05:54
beunowe should probably wait for bzr 1.6 to release, for starters05:55
mwhudsonjust looking05:55
mwhudsonwell yes, there's the weave_store/not weave_store thing05:55
beunoah, right05:55
beunoI'll file a bug for that05:56
jdobrien*05:56
beunoI was planning on trying one method, and if it failed, default to the 1.6-compatible one.  We can probably remove that after a few releases05:56
mwhudsonbeuno: https://bugs.edge.launchpad.net/loggerhead/+bug/24280605:57
ubottuLaunchpad bug 242806 in loggerhead "log rotation actually doesn't save old logs (it truncates them)" [High,Confirmed]05:57
mwhudsonprobably should be investigated05:57
beunotrue05:57
* mwhudson nominates05:57
mwhudsonbeuno: isn't https://bugs.edge.launchpad.net/loggerhead/+bug/243420 fixed now?05:59
ubottuLaunchpad bug 243420 in loggerhead "Link to removed file in changelog tracebacks" [High,Confirmed]05:59
Peng_I thought you just took out the link.05:59
mwhudsonright05:59
mwhudsonwhich seems to fix the bug :)05:59
beunomwhudson, yeap yeap05:59
lifelessFWIW I think running with just current bzr is fine06:00
lifelessbecause the older loggerheads are still available06:00
poolieexclennet06:00
poolieor however you spell it06:00
pooliethat does make it fail06:00
mwhudsonbeuno: what's the story with https://bugs.edge.launchpad.net/loggerhead/+bug/248018 ?06:00
ubottuLaunchpad bug 248018 in loggerhead "slow search results override fast ones" [High,Confirmed]06:00
poolielol06:01
Peng_Fully fixing the bug would mean having a functional link.06:01
pooliethey must be more important, i worked so hard on them? :)06:01
beunomwhudson, that's javascript-related06:01
mwhudsonbeuno: should i nominate it for 1.6?06:01
* jdobrien head drops on his keyboard...........................06:02
Peng_IMO, adding a functional link is low priority, but should be done before closing the bug.06:02
lifelessoh yeah06:02
lifelessmwhudson: beuno: did you consider my patch for sqlite3 bindings?06:03
lifelesspython-sqlite is older and slower :)06:03
beunomwhudson, yeah, it shouldn't be more than a few hours work06:03
beunolifeless, you made a patch for that?06:03
mwhudsonlifeless: i keep losing that06:03
mwhudsonbeuno: https://bugs.edge.launchpad.net/loggerhead/+bug/237914 ?  would be nice-to-have06:04
ubottuLaunchpad bug 237914 in loggerhead "please provide downloadable and applicable diffs" [Medium,Confirmed]06:04
beunoeither way, I have something half-baked that will use ajax to bring changed files on request, which may let us eliminate the cache completely06:04
lifelesshttp://bazaar.launchpad.net/~lifeless/loggerhead/squid3/revision/15306:04
beunomwhudson, it would.  I've already had to ge diffs manually for people wanting them from LH  :)06:05
beunolifeless, I'll apply the patch now06:06
beunoit's a no-brainer06:06
lifelessprobably need to update some other docs etc06:08
lifelessabout what packages are wanted06:08
beunoyeah, although it's optional now, and I'm obsessed with getting rid of it06:08
lifelessconcretely python-pysqlite1.1 is what my patch offers IIRC06:11
mwhudsoni think there have been some loggerhead bugs reported against launchpad-bazaar since the theme rollout06:11
beunolifeless, trying for the other sqlite versions doesn't make sense anymore then, doesn't it?06:11
beunohttp://bazaar.launchpad.net/~lifeless/loggerhead/squid3/annotate/153?file_id=changecache.py-20061220030353-d5l6vj7xp2vff655-106:11
mwhudsonbut i'm hilariously far behind on my bug mail06:12
beunomwhudson, there have06:12
beunoI assigned them to me06:12
mwhudsonbeuno: did you add loggerhead tasks?06:12
beunothey are all simple to fix, and generally wishlists06:12
lifelessbeuno: well the point is that sqlite3 is better than sqlite2 :)06:12
beunomwhudson, let me check, I think so06:13
mwhudsonbeuno: ok :)06:13
lifelessjml: so back to the xmlrpc to mirror a branch; should I open a task on launchpad ?06:13
jmllifeless: no.06:13
lifelessor am I just not making sense to you06:13
beunomwhudson, they where filed to LH in the first place  :)06:14
jmllifeless: you are making sense to me, but opening a task isn't going to help.06:14
mwhudsonbeuno: oh good :)06:14
lifelessjml: so there is nowhere to track the further progress of this?06:15
jmllifeless: https://blueprints.edge.launchpad.net/launchpad/+spec/api-python-library06:16
lifelessok, I've linked the bug report06:18
beunomwhudson, is #156453 ready to be closed?06:23
mwhudsonbug 15645306:23
ubottuLaunchpad bug 156453 in loggerhead "production loggerhead branch leaks memory" [Critical,Confirmed] https://launchpad.net/bugs/15645306:23
mwhudsonbeuno: no, we still have problems in production :/06:23
beuno:(06:24
beunomwhudson, btw, has the new theme changed anything in performance?06:24
mwhudsonbeuno: not so that i've noticed06:24
mwhudsoni haven't checked at all mind06:24
beunoit generates smaller files, so it uses less BW and does it faster06:24
beunook, I suppose that if it didn't slap you in the face then it's not significant at the very least06:25
beunomwhudson, what about bug 156599 ?06:27
ubottuLaunchpad bug 156599 in loggerhead "need documentation on how to run loggerhead under apache" [Undecided,New] https://launchpad.net/bugs/15659906:27
mwhudsonbeuno: hmm, i'm not sure about that06:27
mwhudsonthere's some stuff in readme, i think, there could probably be more06:27
beunook, so maybe we should confirm it as wishlist06:28
mwhudsonsounds good06:28
beunoand the last one, I thing bug 246764 is not possible with bzr at all06:28
ubottuLaunchpad bug 246764 in loggerhead "Recreate "Download a Directory" feature" [Undecided,New] https://launchpad.net/bugs/24676406:28
beunoand I don't want to do anything LH-specific about that06:28
beunojust want to check with you before I invalidate it06:29
lifelessbeuno: exporting a subtree sounds useful06:30
beunolifeless, it is. How would we do it?06:30
lifelessexport06:30
mwhudsonbeuno: i think it should be wishlist06:31
mwhudsonbeuno: and edit the summary to not say "recreate" :)06:31
lifelessbeuno: bzrlib.export.export with a tree object06:31
lifelessbeuno: all it needs is a tree decorator that gives you 'doc' as the root rather than '/', for instance06:31
beunook, if you make it sound that simple it makes me feel bad to not do it06:32
beunolifeless, is there a reason we can't do that right now in bzr?06:32
lifelessbeuno: none at all06:32
beunook, so it would make sense to try and get a patch into bzr, and work on top of that06:33
lifelesswe could also tweak the exporter protocol to accept a limit parameter06:33
lifelessrather than using a decorated tree; I don't have an opinion about which is better06:33
lifelessyes, a bzrlib patch would be good06:34
beunoI'll dive into it when I get to bug 24058006:34
ubottuLaunchpad bug 240580 in loggerhead "Ability to download a tarball for a revision" [Undecided,Confirmed] https://launchpad.net/bugs/24058006:34
beunoand see which one produces cleaner code, etc06:35
lifelessshould be the same thing :)06:35
beuno(which approac)06:35
beunoapproach06:35
beunowell, one we can do now, the other needs bzrlib tweaking06:35
beunobut yes06:35
mwhudsonbeuno: you managed to commit a conflict marked to README on trunk :)06:38
beunomwhudson, what?  how!?06:38
mwhudson+<<<<<<< TREE06:38
lifelessbeuno: strictly speaking it doesn't need a bzrlib tweak; its just that the tweak /can/ go into bzrlib ;P06:38
mwhudsononly one part of it though06:38
beunomwhudson, you mean NEWS?06:39
mwhudsonah06:39
mwhudsonbeuno: yes, sorry06:39
beunoargh, yeah06:39
beunomwhudson, mind if I uncommit --overwrite?06:40
mwhudsonbeuno: sounds appropriate06:40
Peng_I already pulled it, I think.06:40
Peng_Never mind; I haven't.06:41
lifelessquick quick pull it06:41
beunoPeng_, really??  it was like 5 minutes ago!06:43
beunoPeng_, pull --overwrite then  :)06:43
beunooh, codebrowse is actually scanning in *minutes* instead of hours now06:43
beunolol06:43
Peng_beuno: Yeah, I hadn't, but I have now, but that's no problem.06:43
beunoPeng_, I already uncommitted and pushed06:44
Peng_Yeah, you have *now*.06:45
mwhudsonbeuno: yeah, we fixed the scanner some more06:45
beunomwhudson, neat. That should drop confusion for new people pushing code by 80%!06:46
mwhudsonand foundhttps://bugs.edge.launchpad.net/bzr/+bug/25248106:46
ubottuLaunchpad bug 252481 in bzr "readonly, chrooted, http transport fails to be smart about readvs with many ranges" [Undecided,New]06:46
mwhudsonbeuno: fixing it even more is on the list for next week06:46
beunomwhudson, cool, I expect it may be hard to keep up with the growth in branches06:47
beuno(on Launchpad, that is)06:47
rockstarbeuno, hi06:47
beunohey rockstar06:48
mwhudsonbeuno: one might suspect difficulties along those lines, yes06:48
rockstarIt sounds like I'll be doing some Loggerhead hacking in the near future.06:48
beunorockstar, oh?  very cool!06:48
rockstarIndeedy.06:49
beunoanything specific in mind already?06:49
beunoat this rate, it may even make sense to use Bundlebuggy!  :)06:49
rockstarJust the theming support and packaging probably06:49
mwhudsoni guess we should really be testing that code review thingy launchpad has now06:49
beunoah, right06:50
rockstarYea, I heard the developers added something like that recently06:50
beunoBB shows diffs, which is hard to give up06:50
beunoof course, I could file a bug and poke people to get diffs on LP too06:51
beunoeven LH links would do, I suppose06:51
mwhudsonthe bug exists06:51
mwhudsonand we'd like to fix it :)06:52
* beuno looks for it06:53
beunorockstar, if you have any questions about LH theme n' stuff, feel free to ping me about it06:55
rockstarbeuno, I sure will06:55
mwhudsondinner time06:58
beunook, it's bed time for me06:58
beunosee you all tomorrow  :)07:00
poolie_lifeless: if you didn't already could you send me that note re the new compression format07:22
=== poolie_ is now known as poolie
pooliespiv, how are you going with the cloning format seleciton?07:23
lifelesspoolie: its in progress07:24
pooliethanks07:24
lifelessI'm on cons at the moment07:24
pooliethanks for your reply about the comment07:24
cody-somervilleWhen creating a repo, if I don't care about old versions of bzr is --dirstate-tags optimal?07:30
pooliecody-somerville: giving no options will give you the default for that version of bzr07:31
cody-somervilledefault doesn't mean optimal <g>07:32
lifelesscody-somerville: no, dirstate-tags is not optimal07:32
cody-somervillelifeless, is the default optimal?07:32
lifelesscody-somerville: default is the best choice unless you have some specific need07:33
cody-somervilleWell, there will be very little local operations07:33
cody-somervilleMajority will be via network07:33
lifelesscody-somerville: unless you're dealing with 10's of GB's of data in thousands of branches, default will be fine07:33
lifelessand if you are dealing with that scale operation, nothing in trunk is sufficient for nice operation, though I have some plugins you may be interested in07:34
cody-somervilleDo you have a link?07:35
cody-somervilleIt is 14GB of data07:35
lifelesswhat sort of data? ISO's ?07:35
lifeless100's of thousands of files?07:35
lifelesshow many branches do you expect?07:36
cody-somervilleSorry, was afk07:39
cody-somervillelifeless, Okay, so the story is that I'm trying to complete a migration from no RCS (they're currently modifying source code on production server) to Bazaar.07:39
cody-somervilleThere is two products but they share a lot of code and are located at /home/product1/xyz and /home/product2/xyz07:40
lifelessok, definitely go with default07:40
lifelesswhich will be pack-0.9207:40
cody-somervilleInside each respective xyz directory, there is one directory that contains backend source code and one directory containing shared code and then a whole bunch of other directories for each instance for each client07:41
cody-somervilleSo I'm thinking of creating a repo in each xyz directory and having each client instance a branch and then the two other directories a branch07:42
cody-somervilleso that roughly 943 branches07:43
lifelessthat should be fine07:44
cody-somervilleIs that the best way to set it up?07:44
lifelessit doesn't sound like there is actually 14GB of unique data, rather many copies of stuff07:44
cody-somervillelifeless, yes, unfortunately07:44
cody-somervillelifeless, is there anyway to create a repo that would encompass both products?07:45
cody-somervillejust bzr init-repo /home/ ?07:45
lifelesssure07:45
cody-somervilleActually, I think I'll create symlinks in /srv/ - that'll work, eh?07:46
poolielifeless: so it looks to me like the existing kvf code will never store texts crossing a physical repo boundary07:47
pooliei'm going to check this a bit more07:48
poolieyou do actually have a comment in a test that asserts this though the test itself is not very robust07:48
pooliebecause in the way described above it uses a one-line file that the code might choose to store in full regardless of the stacking07:48
pooliei think this means we do not have in principle a problem with people upgrading the underlying repository07:49
poolieum07:49
lifelesspoolie: I thought you managed to trigger a test failure?07:49
poolieyes, but it's fixed by aaron's change, the one i asked about on the list07:50
poolieand having re-derived that answer i think it's good07:50
poolies//a good fix07:50
Odd_Blokelifeless: If you have the chance at some point, a final checkup of http://bundlebuggy.aaronbentley.com/project/pqm/request/%3C20080718095350.18ab03f6%40lapbert%3E (which you've reviewed previously) would be appreciated.07:51
lifelesspoolie: oh, interesting. Let me think if I can find a hole. But this email first.07:52
cody-somervillecan I ignore exceptions.UnicodeDecodeError? lol07:54
* cody-somerville is getting a few UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 13: ordinal not in range(128)07:55
poolielifeless: np, i'm going to try some blackbox-level tests to try to poke holes in it, and also make that test more rigorous07:55
lifelesspoolie: my mail has been sent07:57
pooliethankyou!07:57
lifelesscody-somerville: probably that means you have a file on disk that doesn't match your locale07:57
poolieand with 3 minutes to spare :)07:58
lifelesspoolie: please let me know asap if it doesn't tell you enough07:58
poolieindeed07:58
* poolie reads07:58
lifelesspoolie: more needed?08:05
poolienot now08:06
pooliethat looks cool, both in content and summary08:06
poolieyou should have put the 'what to do to help' at the top maybe08:07
lifelessthanks :)08:07
lifelessI also should have added links etc08:07
lifelessbut you needed it in a timely manner08:08
lifelessI'm going to call it a day; started at 063008:08
=== gdmfsob is now known as mishok13
spivpoolie: I think I have a fix, just waiting for the test suite to finish successfully before I mail it.08:31
poolieyay way to go08:32
poolienight lifeless08:32
cody-somervilleWhats the easiest way to make sure the remote host's working tree is always current?08:43
spivcody-somerville: there's a push-and-update plugin08:44
cody-somervilleAwesome.08:45
spivcody-somerville: a slightly different approach is the bzr-upload plugin, which uploads just a working tree (i.e. not a branch), which can suit web development08:45
spivAnother option is just don't have a working tree on the remote host -- maybe you don't actually need one.  Or maybe you do :)08:46
cody-somervillespiv, I'd like to use the former so that way if someone were to accidentally modify something on the development server the plugin will barf08:46
cody-somervilleerr.08:46
cody-somervilleproduction server directly08:46
bzrGood morning. Is there any way to use Bazaar as a mere file synchronization tool between two computers, without having a history at all? If so, I could use it to synchronize my music and stuff between home and work computer, without wasting lots of additional disk space. I currently do this with Unison, but this tool has several drawbacks, e.g., no renaming support. Furthermore, I'd like to have only one tool for managing my code and managing my mul08:48
cody-somervilleugh08:51
AfCum08:51
spivbzr: not really.  bzr is pretty focussed on recording history.08:51
AfCbzr: (you might want to pick another IRC nick. Just a thought)08:51
spiv(Also, your IRC nick is going to be very confusing :)08:51
bzraehm ... my first time at all on irc. i probably did something wrong.08:52
unlinkwhat is the safest way to convert hg to bzr?08:52
lifelessbzr: type '/nick yourname' without the ' marks08:52
=== bzr is now known as goldi
lifelessunlink: fastexport-fastimport is probably best today08:52
goldithat should be better now08:52
AfCbzr: "#bzr" is the channel you are in; each user is also identified by a "nickname"08:52
spivgoldi: yep, thanks08:52
spivOh, and welcome to irc!08:53
goldithx :-)08:53
AfCgoldi: so, there is a way I could think of that you could do the transferring you are talking about while constantly jettisoning history08:54
AfCgoldi: but as spiv noted, that's not entirely how Bazaar's authors expect the tool to be used.08:54
cody-somervilleIs this error bad?08:54
cody-somervilleKnitCorrupt: Knit <bzrlib.knit.KnitVersionedFiles object at 0xb7899f2c> corrupt: incorrect number of lines 1775 != 1774 for version08:54
goldispiv and AfC: If things are like that, I will have to find something else for this purpose. Thank you anyway.08:56
lifelesscody-somerville: what bzr version?08:56
cody-somervillelifeless, 1.6b308:57
unlinklifeless: thanks, checking it out now08:57
spivcody-somerville: that usually means there's a newline in a filename08:57
cody-somervilleHow does... that happen?08:58
lifelessspiv: we should error earlier though09:00
unlinkit's easy09:00
lifelesscody-somerville: its a problem; its unexpected, and you should file a bug09:00
spivlifeless: If you have a bzr older than 1.5 and your install uses pyo rather than pyc, then you don't :(09:00
lifelessspiv: well I did ask the version first :)09:01
spivAh, good point.09:01
* spiv is still wary of that case after it bit Mary...09:01
nanderssongoldi, use rsync for keeping directories in sync09:02
unlinkbzr fast-import tells me to run bzr update, but bzr update says "No WorkingTree exists"09:02
lifelessunlink: you can create a working tree with bzr checkout .09:04
lifelessor in a different location with 'bzr checkout --lightweight URL'09:04
unlinkbzr checkout . gives me bzr: ERROR: Not a branch09:05
unlinki've just done a conversion of an hg repository09:05
unlinkoh i see, it is the master directory i want to be looking in09:06
unlinkok ... how do i get the bzr-gtk log viewer?09:12
mthaddonlifeless, I can reproduce the problem (with PQM connecting to LP) with a simple python -c "from bzrlib.branch import Branch; Branch.open('sftp://bazaar.launchpad.net/~mthaddon/pycairochart/devel')"09:14
mthaddonlifeless, works on my local machine with bzr 1.3.1, pqm box appears to be using bzr 0.9309:15
mthaddonlifeless, simple matter of upgrading bzr on PQM box?09:15
mthaddongoing to try it with 1.5 and see if that fixes it09:17
mthaddonlifeless, success!09:19
lifelessmthaddon: heh09:21
mthaddonlifeless, I'm not sure if I should switch ~pqm/source/bzr.dev to use bzr-1.5 or leave as is, and just set it for this project - any thoughts on that?09:22
lifelesswhat machine is this?09:23
mthaddonballeny09:23
lifelessballent already has a much newer bzre than 0.93!09:23
mthaddonlifeless, not in ~pqm/source/bzr.dev, which is set in the PYTHONPATH for PQM's cron09:24
lifelessoh indeed09:24
lifelessI'd pull 1.5 into that directory09:24
mthaddonok, cool - thx09:24
lifelessI really wish the debian maintainers for apache2 and exim would stop making spurious config file changes09:30
lifelessand dovecot09:35
lifelesssheese09:35
lifelesscomments in config files should not cause me to have to read the entire freaking thing again09:36
uwsHmm. Can I diff between 2 remote revisions?09:40
uwsI want to diff from  e.g. 123..124 on a remote branch, to see whether to cherry pick this09:41
lifelessbzr diff -r 123..124 REMOTEBRANCH09:41
uwslifeless: Thanks. I was looking in the wrong place methinks... fiddling with branch: urls and stuff09:42
uwsbzr merge -r928..929 sftp://....09:45
uwsM  lib/....09:45
uwsAll changes applied successfully.09:45
uwsBut I already cherry-picked this one09:45
uwsso "bzr diff" on the local branch is empty afterwards09:45
uwsstrange that it says "M lib/..."09:46
AfCuws: I've wondered about that myself. I think it boils down to "those files were touched" even though there is no actual textual diff change. Still, it's a bit strange.09:47
uwsyeah. and there's no pending merge either09:47
uwscherry picking would be ok09:47
uwsif it were tracked; )09:48
lifelesscherry picks don't create pending merges today09:48
uwslifeless: but is the revid stored somewhere?09:48
fullermdIt's because the cherry pick isn't recorded that you see the M lib/ line09:48
uwsAfC: (btw, how are you. you weren't at guadec)09:48
uwsfullermd: So how does it find out that I already have that patch in my branch?09:49
fullermdIf it were, you'd get a "already have that".  Since it's not, it does the same thing it did the first time around, which ends up with no diff.09:49
AfCuws: (yes, I'm a bit bitter about that)09:49
fullermdIt doesn't.  It just ends up at the same place.09:49
uwsfullermd: I'm wondering why it doesn't cause a patch conflict09:49
fullermdIf that cherrypick were to end up in a conflict, and you resolved and committed it, doing the cherrypick again would bring you back to the conflicted state.09:49
uwsAfC: (IST was a great place)09:50
fullermdBecause there's no conflict.  It just ended up right back where it went the first time (reasonable, since it's in the same state, mod the change that's the same...  wow, that's clear...)09:50
fullermdTry it this way; a 3-way merge, with an identical change on both sides, leads to a clean result with that change.09:50
fullermdThe first time you cherry pick, it merges in whatever that change was you were cherrypicking, with $SOME_OLD_REV as the merge base.09:51
AfCuws: I think I can head this off by observing (without hostility) that Bazaar's interaction with cherry-picking type activities is unfortunately not quite as optimal as they someday hope it will be.09:51
cody-somervilleguh09:51
fullermdThe second time your cherrypick, the same old rev is still the merge base (since no new merge point is created), and the 3-way merge will, because of that, end up with the same result it had the last time, which is what you committed last time, which is why there's no visible change.09:51
cody-somervillemore dying on the newline in name09:51
uwsfullermd: ah, $SOME_OLD_REV is used as base. that makes things clear (at least form e)09:51
lifelessuws: no we don't record the cherry pick todau09:52
uwsis there a shorthand notation for  bzr diff -r123..124 ?09:52
lifelessmerging in other systems (except darcs) also ignores cherrypicks09:52
uwse.g. like  svn diff -c124  ?09:52
fullermd(the results may be different with --weave; I think that gets crankier about the same textual change being on both sides, with different originators)09:52
fullermdYou mean like bzr diff -c124?   :p09:52
AfCuws: bzr diff -c 12409:52
uwslifeless: It's a bit annoying though. I'm hand pulling some stuff (cannot completely merge for many reasons) using  bzr log --line sftp://$remote09:53
uwsand then using diff (to check) and merge (to pull it in) to pick some changes09:53
uwswhen I've done a few, they still end up in the "bzr missing --other" listing09:54
uws(eh, where I said "bzr log" 3 lines ago, I meant "bzr missing")09:54
uwsfullermd: wow.09:55
uwsfullermd: but the docs should be improved09:55
uws    Difference between revision 2 and revision 1:09:55
uws        bzr diff -r1..209:55
uws^^ from "bzr help diff"09:55
uwsthe -c stuff is only in the parameter listing09:55
uwsif someone could add another example there, right below the one I pasted above...09:55
fullermdMmm.  That example probably should be a larger range, and another entry for -c09:55
uwsstating something like  "To see the changes a single revision introduced, you may also use...."09:56
uwstrivial fix, and I'm not running bzr.dev, so I'll leave it to you guys09:56
LarstiQhah :)09:56
lifeless:)09:56
uwsdag wouter.09:56
LarstiQmiddag wouter :)09:57
uwsLarstiQ: je zit niet in UTC+0200?09:57
LarstiQuws: correct, although 3 minutes early, but I am in Finland.09:57
uwsis there already support for branch shortcuts?09:59
uwsI have a few "other" branches10:00
uwsone of which is my parent brnach10:00
uwsand 2 others are colleagues10:00
uwsI'd like to easily use e.g. bzr missing on those without typing complete urls10:00
fullermd:-aliases for saved locations, bookmarks plugin for others.10:00
uwsfullermd: :-aliases? which help topic covers that/10:00
fullermd(the former is post-1.5, though)10:01
uwshmm 1.5 here.10:01
fullermdWell, none, AFAIK; only doc I know of for it is in NEWS   :|10:01
uwsfullermd: can you give me an example syntax?10:01
fullermdbzr missing :parent    bzr pull :push10:02
AfCuws: missing uses against a default10:02
AfCs/against //10:02
fullermdThe bookmarks plugin should with with 1.5 though  (and it gives you more options)10:03
AfCuws: which is parent: , I believe10:03
AfCuws: use `bzr info` to see what's what, and just run a bare `bzr missing` and see what happens.10:04
fullermdIt is.10:04
fullermd        if other_branch is None:10:04
fullermd            other_branch = parent10:04
lifelessuws: missing won't help with cherrypicking; sorry :(10:05
AfCHm. parent: gets set to what you branched from, I know that, but is there a convenient way to reset it? I assume `bzr pull --remember` changes parent:, but I'm not certain.10:05
* fullermd nods at AfC.10:05
AfCuws: there you go10:05
pooliespiv, thanks for the #251871 patch!10:12
uwsfullermd: Ah, thanks10:15
uwsAfC: vi .bzr/branch/branch.conf   ;-)10:16
AfCuws: I try to avoid recommending that sort of thing, but yes10:17
uwsAfC: (agreed)10:17
poolienight all10:17
uws    To merge the changes introduced by 82, without previous changes:10:20
uws        bzr merge -r 81..82 ../bzr.dev10:20
uwsfullermd: ^^ same there for the -c flag10:20
uws(from bzr help merge)10:20
asabilhi all10:23
asabilI have some troubles with loggerhead10:23
asabilit seems to trigger bzr exceptions in the front page10:23
asabiland it generates Html code with things like: var global_path = Exception: type object 'branch' has no attribute 'url';10:24
lifelessasabil: what bzrlib do you have?10:31
asabil1.510:31
cjwatsonlifeless: pong10:36
lifelessasabil: hmm, I think you need 1.6b4 at the moment10:42
lifelesscjwatson: the branch with the fetch error, I tracked down the root cause10:42
lifelesscjwatson: its not an easy fix; can you do a baz-import of mdz's branches and fetch-ghosts, that should fix it up for you10:43
asabillifeless: oh ok thanks10:43
cjwatsonlifeless: ok, I was already on that road, unfortunately there are (IIRC) five branches with ghosts and I've been getting SHA-1 mismatches after fetching ghosts because evidently I haven't got the history combinations quite right10:44
lifelesscjwatson: possibly they are bugs in the converter10:46
lifelesscjwatson: it shouldn't be stuff *you* do triggering, so I'd suggest filing additional bugs on baz-import (part of bzr-tools)10:46
cjwatsonfetch-ghosts says "Still missing:" and then five further branches. 'bzr log' doesn't show the ghosts from revision 1. Has it done anything useful?10:47
cjwatson'bzr branch' in the fetched-into branch still says that a revision is missing.10:47
cjwatsonand it's a revision that 'bzr log --show-ids' says is in the branch I just fetched10:47
cjwatsonso if I can force the fetch to proceed somehow ...10:48
lifelessfetch-ghosts should DTRT10:50
lifelessI'm not going to dig into it right now though10:50
lifelesstired/done for now10:50
cjwatsonhttp://paste.ubuntu.com/32537/10:51
lifelessls --show-ids isn't a very useful command for this10:53
lifelessI'm not sure what you think it does10:53
lifelessbut it shows you what a specific revision refers to, not what fetch will need to do10:54
cjwatsonbzr branch claimed that a revision was missing in a particular file-id, and I just wanted to demonstrate that that file-id did indeed exist in the fetched-from branch10:54
lifelessit doesn't demonstrate that though10:54
cjwatsonseemed to me that one possible failure mode would have been that the other branch had been imported with mismatching file-ids10:54
lifelessit demonstrates that an inventory refers to a file id, not that the file ids content is present10:55
lifelessyes, thats a possible failure mode, but more likely is a reference to an incorrect last-altered revision10:56
cjwatsonhm, ok, I don't see a way to do the latter from the command line10:56
lifelessbzr check should be reasonable at catching most things10:56
cjwatsoniter_ghosts in fetch_ghosts.py simply doesn't seem to report that revision10:56
lifelessit may not be a ghost anymore10:56
lifelessreport the current error with backtrace somewhere and throw a tarball of the current branch up too10:59
lifelessI'll look tomorrow10:59
jelmermenesis, hi11:50
jelmermenesis, can you please submit your merge request for bzr-gtk to bundlebuggy (see details on the wiki)11:50
jelmerwe don't use launchpad for merge requests11:50
Odd_Blokehttp://twitter.com/bzr_tweet12:20
=== sabdf1 is now known as sabdfl
james_wOdd_Bloke: nice12:44
james_wthe URL in the sidebar is messed up, apparently twitter doesn't believe in https://12:44
cjwatsonlifeless: casper material in bug 24688012:48
ubottuLaunchpad bug 246880 in bzr "ghost fetch issue: fail when fetching a text referenced by a live revision introduced by a ghost revision" [High,Triaged] https://launchpad.net/bugs/24688012:48
menesisjelmer: ok, will try13:01
james_wany clues to what may be going on in the following would be greatly appreciated:13:11
james_wI have import code that imports a directory, this leads to a kind change, with a file being added to the directory that used to be a file13:11
james_wtree.path2id("dir/file") gives a file id and tree.changes_from(tree.basis_tree()) lists the addition of the file and the kind change13:12
james_wtree.commit() is then run, and leads to a new commit, but only the kind change is committed, not the file addition.13:12
james_wthe file is still marked as added if "bzr st" is run after the commit13:13
james_whowever, running "bzr st" before the commit leads to the addition being committed13:13
james_wdoes anyone have an idea why the addition isn't being committed, or what "bzr st" may be doing to change this.13:14
luksbzr st updates the dirstate, maybe your import code is messing it up?13:14
grahali'm trying to checkout bzr-fastimport13:15
grahalbzr branch lp:bzr-fastimport fastimport13:15
grahalbzr: ERROR: [Errno 2] PROPFIND request failed on '/svn/testsvn'13:15
grahal...13:15
james_wmaybe, but I would have thought that the changes_from() would not include the addition if the dirstate didn't have it13:15
grahalit's the second day it's hapenning13:15
grahalany ideas?13:16
james_wgrahal: weird13:16
james_wbzr-svn is getting involved somehow, but I'm not sure how13:17
grahaloh I see13:17
grahallet me try to uninstall bzr-svn13:17
grahalI thought it could be setup related on server side13:17
james_wdoes "bzr branch http://bazaar.launchpad.net/~bzr/bzr-fastimport/fastimport.dev" work?13:18
jelmergrahal, can you perhaps pastebin the full traceback ?13:18
jelmerit's working fine here with bzr-svn installed13:18
grahalsame thing13:20
grahalbzr: ERROR: [Errno 2] PROPFIND request failed on '/svn/testsvn'13:20
grahalhmm, bzr-svn is not even installed..13:22
grahalI thought it was13:22
grahalmaybe my install is completely messed somehow13:22
grahalwill reinstall pkgs13:22
luksgrahal: `bzr -Derror branch lp:bzr-fastimport fastimport` and pastebin the full traceback13:23
grahalluks: http://pastebin.com/m27a0d99513:25
grahalI did have bzr-svn installed13:28
grahalI moved the /usr/lib/python2.5/site-packages/bzrlib/plugins/svn away13:28
grahalthen things worked13:28
grahalpastbin tells bzr-svn version13:28
grahalit was a dev version so maybe it could be that13:28
james_wyeah, the dirstate still marks the directory as a file13:41
jelmergrahal, it looks like you have a svn checkout in one of the parent directories of your cwd13:52
rexbronhey jelmer, I snaged a copy of trunk but am having some issues. When I installed the latest intrepid ppa of bzr, it uninstalled brz-rebase and bzrtools. Do I need to get newer versions of each of those?14:15
jelmerrexbron: bzr-rebase isn't maintained in the ppa14:17
jelmernor is bzr-svn, I'm not sure about bzrtools14:18
rexbronjelmer: ok, I installed 1.6 because that was required. I'll look into getting newer versions of each14:19
TheErichow do you set the bzr_ssh variable?14:25
rexbronjelmer: would you be able to comment on http://pastebin.ca/1088418? If it is a more serious problem than just configuration on my end, I'll report a bug.14:32
rick_h_anyone know what bzr-svn you need to get working with svn 1.5? I updated to 1.5 via a ppa and grabbed 0.4.9.1 bzr-svn14:33
jelmerrick_h_, 0.4.1014:33
rick_h_ah, ok thanks. I'll see if I can find that one then14:33
jelmerrexbron, you need a newer version of bzr14:34
rexbronjelmer: newer than 1.6?14:34
jelmerrexbron: A recent snapshot of bzr.dev14:40
jelmerrexbron, 1.6 isn't out yet14:40
jelmerboth bzr-svn 0.4 and bzr.dev are moving targets14:40
rexbronjelmer: ok, snaging current trunk14:40
jelmerrexbron, you may also want to apply the patch I just attached to https://bugs.edge.launchpad.net/bzr/+bug/25187114:43
ubottuLaunchpad bug 251871 in bzr "assumes source_branch format is the same as result branch format" [Critical,New]14:43
rick_h_jelmer: any reason that the bzr devs ppa has 1.5 for gutsy, feisty, dapper, but no hardy.14:48
jelmerrick_h_, sorry, don't know14:48
jelmerpoolie, ^14:48
rick_h_ok, thanks14:49
rick_h_yea, the bzr-svn needs 1.4 > and hardy has 1.3, so trying to get 1.514:49
jelmerrick_h_: ? Afaik there is no bzr-svn in the ppa at all14:50
rick_h_jelmer: no, but you can download the plugin for .bazaar/plugins14:50
rick_h_the .tar.gz14:50
rick_h_jelmer: any suggestion what branch I should use to get bzr-svn 0.4.10-2? The latest tar was just 0.4.10 and there's a bug fix I need for: 24668315:06
grantgmbefore I file a bug, I want to make sure I'm using bzr svn-push right: it should be able to create a new directory within the svn repo if I push to a location that doesn't yet exist, right?15:08
grantgmbecause I'm getting an AssertionError when I try to do that15:09
TheErichow do you set the bzr_ssh variable?15:10
=== stickwithjosh is now known as joshuablount
=== mvo_ is now known as mvo____
=== mvo____ is now known as mvo
=== mvo is now known as mvo____________
=== mvo____________ is now known as mvo__
=== mvo__ is now known as mvo
jelmerrick_h_: 0.4.10-2 is only available from Debian and Ubuntu15:40
jelmerrick_h_, e.g. http://packages.ubuntu.com/intrepid/bzr-svn15:40
TheErichow does one set the bzr_ssh variable?15:47
james_whey TheEric, are you on Windows?15:49
TheEricI am.15:51
rick_h_jelmer: thanks, I tried out the lp branch for debian since I saw the last commit was merge 0.4.10-2, but error so then I figured I'd try to do 0.4 trunk and gcc wouldn't build15:52
rick_h_so I think I'm just going to hold off a bit and go back to just running svn against that project for now15:53
jelmerrick_h_: What error did you get exactly?15:53
jelmerrick_h_, ok15:55
rick_h_when checking out lp:~debian-bzr-svn/bzr-svn/unstable into .bazaar/plugins/svn I still got the Assertion `*path != '/'' failed. error15:55
rick_h_when trying to build the .4 series of bzr-svn I got client.c:819: error: expected ‘{’ at end of input15:56
rick_h_and then gcc exited with status 115:56
james_wTheEric: you need to set it in your environment. I haven't used Windows in so long that I've forgotten how to do that, sorry.15:57
james_wTheEric: searching for setting environment variables in windows should find you something15:57
rick_h_it's something like "right click my computer, go to advanced, env variables"15:57
rick_h_of course that was xp15:58
rick_h_http://vlaurie.com/computers2/Articles/environment.htm15:58
pygijamesh, poke16:02
james_wjam: hi, do you have a moment?16:09
jamjames_w: a little16:09
james_wjam: for a test I need to do something like find out the kind recorded for an entry in the dirstate, is that possible?16:09
james_wit looks like the working tree will tell me the kind on disk16:09
jamjames_w: you want the kind in the dirstate, but not the kind on disk?16:10
jamTechnically, if you cheat and go "wt.inventory[file_id].kind" it should give you the last-recorded kind16:10
james_wI currently have a problem because they disagree16:10
jambut would you want to use the one in the basis_tree instead?16:10
james_wit turns out my TreeTransform file->directory fix wasn't complete, as it leaves the directory marked as a file in the dirstate, which means that children of the dir aren't recorded in the next commit16:11
james_wI want to write a test to check this, and the only thing I can think of is checking that the dirstate reflects what's on disk16:12
james_wunless I have mis-diagnosed this and it's ok for the dirstate to be like that and I'm missing something else16:12
TheEricyah, none of the fixes work...16:17
TheEricputty & bazaar just don't get along16:18
TheEricI've added plink.exe to the path, renamed it ssh.exe, set BZR_SSH = the path to plink16:23
TheEricnone of it works. The same error message : Don't know how to handle SSH connections. Please set BZR_SSH enviroment variable16:23
jamjames_w: Well, you could test the symptom you just described16:25
jamthat changing a file => directory and then committing commits the children of that directory16:25
jamas an aside, calling WT4.get_file_sha1(file_id, [path=XXX]) will actually update the dirstate record16:27
jamyou need to call something that does 'update_entry()'16:27
rick_h_TheEric: I don't think it takes a path16:27
rick_h_I recall seeing a bug/ticket that it didn't16:27
jamAnd ATM only get_file_sha1 and iter_changes() do that :(16:27
jamso *commit* doesn't trigger re-reading the on-disk state16:27
jamTheEric: you can only set "BZR_SSH=paramiko" or "=plink" or "=ssh"16:28
james_wjam: that sounds like a more sensible test, thanks.16:28
jamIt doesn't take a path16:28
james_wjam: do you think that TreeTransform should be leaving the dirstate correct against the disk?16:28
jamjames_w: as much as possible, yes16:28
rick_h_TheEric: https://bugs.launchpad.net/bzr/+bug/17629216:29
ubottuLaunchpad bug 176292 in bzr "BZR_SSH should allow setting the path to ssh, not just the kind of ssh" [Undecided,Confirmed]16:29
rick_h_you might want to follow that bug16:29
james_wjam: thanks for your help16:31
TheEricI never had this many issues with svn16:34
TheEricNarrowed it down further, and now it's giving me another error - connection closed: please check connectivity and permissions16:35
TheEricfigured that out. the host key wasn't cached. a simple log on to the host with plink, and presto chango16:38
TheEricanyone gets that error again. go to my computer / properties, enter a new enviroment variable / BZR_SSH / plink16:39
TheEricif they get the other error, just log on to the host with plink, cache the key, and poof.16:39
rockydon't suppose there's any better progress with getting bzr 1.5 and bzr-svn running on hardy at this point?16:55
jelmerrocky: You can use the bzr-svn from intrepid16:56
rockyjelmer: right, i think i'm still stuck with no bzr 1.5 tho16:56
jelmer1.5 should be available in intrepid as well16:56
rockyan intrepid binary will work on hardy for bzr? hmm16:57
rockyi guess if it's all python17:00
luksit's not all python17:01
rockyoh17:01
rick_h_rocky: let me know if you get it working. I was trying this morning17:10
rockyk17:13
rockyrick_h_: well, these intrepid deb's installed fine for me... just about to start testing them (i downloaded them from the intreprid section on packages.ubuntu.com)  http://users.carterscove.com/~rocky/bzr-on-hardy/17:27
rockyjelmer: when bzr-svn checks out a svn url ... does it check it out to some private location *first* and then move it into the proper local dir? i'm running a checkout here on dial-up atm and there's no status showing me how much is checked out17:33
rick_h_rocky: I got the 1.5 deb from the gutsy ppa and it installed and bzr works fine17:35
rick_h_but I couldn't get a working svn plugin, did you get the bzr-svn from intrepid then?17:35
rockyyes i did17:37
rockyhrm, how do i tell what revisions have been made to my local branch but not pushed back?17:44
james_wwow, TreeTransform is actually starting to make sense to me, I never thought I'd see the day.17:45
rick_h_rocky: bzr missing?17:50
rockyhuh?17:50
rick_h_wondering if bzr missing is what you want to show local commits vs remote repo17:51
rockyi dunno... i'm still learning bzr here ;)17:51
uwsrocky: bzr missing, perhaps with --other or --mine flag17:51
rockyoh... missing is a bzr cmd17:51
uwsrocky: (just type "bzr missing")17:52
rockylol17:52
uwsno lol'ing in here please.17:52
rockyheh17:53
rockyif i branch a local branch as another local branch and then move the first local branch, how do i tell the second local branch that it's parent branch has moved?17:54
rick_h_rocky: you can always specify the new path when doing a merge or pull I think17:54
rick_h_it recalls the last path used by default, but still takes a new one if you want17:55
rockyright18:06
rockyjust wish i could convince it to "remember" the new path18:07
* rocky is reading tons of bzr stuff today18:07
james_wrocky: bzr pull --remember URL18:08
rockydon't suppose there's a patch or something for setuptools to embed bzr rev info via setup.cfg ?18:17
rick_h_rocky: there was a blog post recently on a plugin for template tags or something like that18:20
rick_h_like the svn $id or whatever18:20
rockyhm18:20
rick_h_that's not the right term, template tags. Grrr, I know I just saw it18:22
rick_h_http://jam-bazaar.blogspot.com/2008/07/last-week-in-bazaar.html18:22
rick_h_rocky, keyword expansion is the phrase18:22
james_wrocky: bzr version-info is something that will work now18:27
james_wit takes a little bit of work to integrate it in to your build system though18:28
rockyjelmer: is there anyway to turn some sort of debugging on for bzr-svn to see what svn operations it's performing?18:32
jamjames_w: I've done it if you want examples :)18:34
=== thekorn_ is now known as thekorn
rockydoes anyone know if current bzr-svn trunk still works with bzr 1.5 ?18:37
jamlifeless: If you get a chance, can you look at bug #19864619:49
ubottuLaunchpad bug 198646 in squid "Invalid http response ... Expected a boundary" [Medium,Fix released] https://launchpad.net/bugs/19864619:49
jamI think I should actually split it out to a new bug19:50
jamjust a sec19:50
rockyugh, getting nasty svn error from using bzr-svn 0.4.1019:52
jamlifeless: bug #253745 should have the more relevant details19:58
ubottuLaunchpad bug 253745 in bzr "Fail to parse boundary if multiple Content-Type headers are given" [High,Triaged] https://launchpad.net/bugs/25374519:58
rockywhen would "bzr add somerandomdir" return with nothing actually added?20:01
rockyheh, when there are .svn dirs present apparently20:02
=== mw is now known as mw|food
tstellarJohn A Meinel from launchpad suggested you might be able to help me with this bug  https://bugs.launchpad.net/bzr/+bug/19864620:13
ubottuLaunchpad bug 198646 in squid "Invalid http response ... Expected a boundary" [Medium,Fix released]20:13
tstellarlifeless20:13
Tsmithi'm in a bind...20:23
beunoTsmith, bzr unbind  (?)20:23
TsmithI need to revert just -r6, but i'm at -r18.  Should I do the typical SVN thing of bzr diff -r5..6 > bad_push.diff; patch -p0 -R < bad_push.diff; bzr ci -m'Reverted -r6.' ?20:24
james_wbeuno: that was bad :-)20:24
beunojames_w, I know, I know...20:25
LarstiQTsmith: 'bzr merge -r6..5 .' should work20:25
beunoTsmith, you might be able to:  bzr merge -r6..520:25
LarstiQTsmith: and then the commit20:25
Tsmithwhat's that do?20:25
Tsmith::prays::20:25
LarstiQTsmith: combines the diff and patch dance you did above20:26
Tsmitho wow20:26
pickscrape!seen pygi20:27
ubottuSorry, I don't know anything about seen pygi20:27
Tsmithhey! THANKS!20:27
Tsmith<320:27
LarstiQwell, I'm glad he's happy.20:27
pickscrapeAnyone know how pygi is getting on with cheezburger?20:28
james_wpickscrape: what's cheezburger?20:31
james_whis dinner?20:31
=== emgent_ is now known as emgent
LarstiQpickscrape: I'm not aware of him being involved with anything cheezburger (icanhaz?)20:36
james_whey LarstiQ20:37
beunoit's a project20:37
beunowith bzr20:37
beunothat was supposed to be cool20:37
beunobut I can't remember *what* it was20:37
james_was long as it's cool20:37
beunohttps://edge.launchpad.net/cheezburger20:37
awilkinsThat's not the engine that runs i can haz cheezburger is it ?20:38
Jc2kno20:38
pickscrapeI'd supposed to be a esrver-side tool for bzr20:39
pickscrapewhich provides things like per-branch access configuration20:39
james_wI'm still none the wiser from looking at the page :-)20:39
beunoto serve repositories, if IIRC20:39
pickscrapeI was going to ask him how he's getting on iwth it20:44
jelmerre20:45
mcmillenWhat's the recommended way of getting bzr 1.5 for Ubuntu Hardy?  I tried adding the suggested lines to sources.list (pointing to ppa.launchpad.net), but apt-get still tells me bzr is the newest version, even though I have 1.3.1 installed.20:46
pickscrape1.6 beta got accidentally uploaded to that PPA, and subsequently removed. Since then 1.5 hasn't been put back for some reason.20:48
mcmillenlooking at the pool/ directory directly, there seems to be files like bzr_1.5.0-1~bazaar1~{dapper,feisty,gutsy}1_i386.deb, but no hardy or intrepid.20:49
beunomcmillen, there was an issue with bzr hardy package20:50
beuno1.6 will land when it's released20:50
beunomeanwhile you can get 1.6b3 from: https://edge.launchpad.net/~bzr-beta-ppa/+archive20:50
* beuno is off to the dentist20:51
awilkinsHow much do you reckon using encrypted storage containers would slow Bazaar down?21:12
james_wawilkins: you mean an encrypted repository format?21:13
LarstiQor just plain disk encryption?21:13
mtaylorIf you're sure that it's not being modified, use bzr break-lock lp-147258572:///~andrey-mysql/drizzle/cleanup-branch/.bzr/branch/lock21:31
mtaylorsort of ugly error message ^^21:31
mtaylor(since  bzr break-lock lp-147258572:///~andrey-mysql/drizzle/cleanup-branch/.bzr/branch/lock doesn't actually work)21:31
lifelessmoin21:48
james_whey lifeless21:49
james_wmtaylor: yeah, there's a bug open on that, launchpad shouldn't really expose implementation details like that21:49
mtaylorjames_w: k. thanks21:50
james_wyou know how to really break the lock if you need to?21:50
awilkinsjames_w: I mean an encryted repo format21:57
james_wawilkins: I think it would slow it down considerably, but you could probably come up with a scheme that reduced the impact21:57
lifelesswe had a soc project to do this21:58
lifelessthe wiki notes are tehre as is discussion on the list21:58
james_wfor instance encrypting the indexes with something less than say AES, as you would just expose things like file and revision ids, which give some information, but no content21:58
rockyjelmer: when i check out or do somthing with a branch from svn using bzr-svn ... does it do some sort of checks on every since dir in the svn repo (even above my branch) ?21:59
awilkinsjames_w: I was thinking about it in terms of medical records ; I'm not sure they need a version control system.21:59
awilkinsjames_w: But I'm thinking about multiple-encrypted master key containers protecting multiple threads of medical records producing a medical record system with proper privacy.22:01
james_wawilkins: probably encrypted hard disks are the way to do22:01
james_wawilkins: sounds like fun. Good luck :-)22:01
awilkinsHeh, yeah22:01
james_wthat would be an interesting problem though22:01
awilkinsThe idea is that the record remains private while being accessible by the patient and any contributors to the record22:02
james_wthe bzr thing was more about storing a branch on a server you don't control where you only have bzr access and want to protect your data to some extent22:02
uwsawilkins: luks disk encryption supports multiple passphrases22:06
uwsawilkins: you can try it out if you have a spare USB disk lying around22:06
lifelessI'd say for the medical records thing that bzr is a bad fit; schema evolution is important in databases22:14
lifelesssecondly I don't see a patient manually authorising every individual access - when they turn up unconscious at A&E they need treatment and their records available.22:15
lifelessI'd look more for strong auditing and reporting22:16
pickscrapeAre there any plans/intentions/objections to in the future having coloured output a configurable part of bzr core?22:19
james_wpickscrape: you mean "cdiff", or more than that?22:20
pickscrapeYes, things like cdiff22:22
pickscrapeOr rather, diff22:22
pickscrapeI'm looking at adding coloured output to diffstat, but I want it to be optional and I don't want to have to add another command in order to do it.22:22
pickscrapeIn this case I like the way git does it: let the user configure it how he wants.22:23
lifelesspickscrape: I think its fine to have optional colourisation as part of the core22:24
pickscrapelifeless: That's good to know.22:26
stickwithjoshIs bzr+ssh the preferred method of setting up a remote bar repo to shoot to for backup / deployment ?22:27
lifelessstickwithjosh: its the most featureful; but we support bzr+ssh just as much as sftp and http etc22:28
stickwithjoshlifeless: thanks!22:31
=== abentley1 is now known as abentley
stickwithjoshNice, I like how bzr automatically realizes that .pyc files shouldn't be added (by default).22:37
=== mtaylor is now known as SteveJobs
=== SteveJobs is now known as mtaylor
=== mw|food is now known as mw
pickscrapelifeless: do you have any thoughts on how color options should work in the config file?22:47
pickscrapee.g. a section called [COLOR] or [COLOUR] (spelling arguable)22:47
pickscrapeWith options under there for everything that supports it.22:48
pickscrapeIf I'm going to add it to diffstat I want it to work in a way that will be used by other things going forward.22:48
lifelessdoes it need a section?22:49
lifelesswhy not just use_colour=True|False ?22:49
pickscrapeBecause you might want it turned on for some commands but off for others22:49
lifelessseriously?22:49
pickscrapeYes22:49
lifelesswhy?22:50
pickscrapePeople are funny like that :)22:50
awilkinsYou might want to supress it if you are piping diffs to a file or to patch?22:50
lifelessawilkins: thats a one-shot task though, not a persistent config value22:50
pickscrapeYou also might want to be able to configure what the colours are.22:50
lifelessyou don't want to be editing a config file just to make a patch :)22:51
lifelesspickscrape: per command ?22:51
lifelesspickscrape: anyhow let me rephrase22:51
lifelesssections are complex22:51
awilkins<voice name='Neo'>Pink. Lots of pink</voice>22:51
lifelessthey may not work as well in e.g. branch.conf and locations.conf22:51
lifeless(then again they might, I dunno)22:51
fullermdWell, if you're not outputting to a terminal, you'd never want to color anyway.22:52
lifelessfullermd: cdiff | less -R22:52
fullermdHush, you.  My declamations are _simple_.  Correct is way too much work.22:52
lifelessanyhow22:53
lifelessI don't use colourisation - red/green colourblind22:53
lifelessso I tend to avoid colour for stuff22:53
pickscrapelifeless: a prime example for wanting to be able to customise the colours (if I'm understanding properly)22:54
lifelesspickscrape: no, I'd rather just have them off22:54
lifelesstakes too long to try and figure out a set that works for me22:55
pickscrapeok, but somebody else might be ok putting the time in22:55
lifelesssure22:55
lifelessI wasn't talking about the code, but about me22:55
pickscrapeyes, sure22:55
lifelesscolour_settings=....22:55
lifelessuse_colour=True|False22:56
lifelesscolour_commands=...22:56
pickscrapeMy personal perference is that it helps readability enormously so I want it everywhere I can get it.22:56
pickscrapeBut I'm also particular about the colours used22:56
james_wpickscrape: I'd start with "colour = True|False", and then we can make it more configurable later22:57
pickscrapeYes, I was going to say that would be the lowest common denominator for the whole thing.22:58
fullermdAnd what about setting whether you want color?   ;p22:58
pickscrapeAll or nothing to start with.22:58
radixsomeone write a dict subclass which considers "color" and "colour" equivalent22:58
awilkinsHmm, a buddy of mine is RGCB ; I wonder if it's correlatede with programming tendencies22:58
awilkinsBut possibly not, it's rather common22:58
fullermdI wouldn't think so; it's sufficiently common in men...22:58
pickscrapeWould be interesting to provide a 'theme' tailored for RGCB.22:59
fullermdI've got a hint of very pale colorblindness, but it's not noticeable day-to-day.22:59
lifelessawilkins: 15% of population or some huge number22:59
awilkins2% isnt it?22:59
lifelessoh maybe22:59
lifelessits just numbers :P22:59
pickscrapeAbout 94.2% of stats are made up anyway23:00
lifelessstill 2% is freaking lage23:00
lifeless*large*23:00
awilkinsHeh, 8%23:00
awilkins2% is auxilliary nipples23:00
radixhahaha23:00
radix2% could be a lot of things...23:00
* awilkins has a load of useless medical trivia in head from medical degree23:00
lifelesstheres 120MILLION extra nipples on the planet?23:01
lifelessOh Noes23:02
fullermdThe question is how many acres is that?23:02
lifelessdepends how thin you slice them?23:02
radixfullermd: please don't get into an Inappropriate Comment battle with lifeless. he will probably win, and it will probably go too far23:03
radix;-)23:03
lifelesshehe23:03
fullermdI wouldn't try, in my pre-caffeinated state.23:04
awilkinsAnother excellent question is how many of them are female23:04
AmanicAhttp://www.reference.com/search?q=Colourblind23:05
pickscrapeThat would definitely affect the potential acreage.23:05
awilkinsAnd of course, the prevalence of multiple pairs of auxilliary nipples, and the subset of them willing to wear cat ears and a furry tail :-P23:05
lifelessROTFL23:05
radixtake it to #furries23:06
lifelessradix: theres been exactly one furry comment... has it offended you?23:06
radixlifeless: no, I'm over in #furries waiting for more chatter23:07
pickscrape:)23:07
lifelessoh I am so tempted to check23:07
radixhahah23:07
* lamont has a stupid question23:23
* lamont tries answering it himself23:23
fullermdThe advantage of doing that is you rarely have to explain your answer in more detail.23:28
lamontyeah23:28
lamontand yeah.  no worries.  thanks lamont for the answer. ;-)23:29
lamonthttps://bugs.edge.launchpad.net/bzr/+bug/25380623:45
ubottuLaunchpad bug 253806 in bzr "bzr: ERROR: The file id "foo-20080731224042-7ogu3b3hk0bwnpo3-1" is not present in the tree" [Undecided,New]23:46
james_wlamont: I assume adding it again is the crucial bit?23:47
lamontwhich is the end result of my question to myself23:47
james_wI would assume so23:47
lamontyes.  bzr rm --keep foo will make bzr cat work again23:47
lamontcommitting doesn't help though23:47
james_wit looks up the file id in the current tree, and then uses that id23:47
james_wit should look up the file id in the target tree23:48
james_wwe suck at this in places23:48
lamontthis is all separate from the fact that I didn't mean to commit the tree with that file removed...23:49
lamontin the larger bzr tree where I first hit it, the re-added foo is identical to the one 4 revs back, which should not have been deleted 3 commits ago23:49
james_wah, it's not as simple as I though23:51
james_wthought23:51
james_wit looks up both revids, but assumes that if the newer is present then it will also be present in the earlier23:51

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