/srv/irclogs.ubuntu.com/2008/08/28/#bzr.txt

lifelessfta: just commit them00:00
lifelessfta: then pull them onto B, uncommit, and keep editing00:00
ftai used to do that but it's not very handy00:01
lifelessfta: what would you like to be able to do00:02
lifeless?00:02
ftaboth A and B push to a central repository (not a working tree), so i have to uncommit there :(00:03
lifelesswell, you can just push --overwrite00:03
lifelesswhen you're done on B00:03
lifelessor push to a temp branch in the central repo, rather than your trunk00:03
ftabut if someone else pushed on central, it breaks00:04
lifelessuse a temp branch for sure then00:04
ftai would like to export uncommitted changes from A to B or vice versa, without going to central, yet with preserving the resolve/conflicts facilities00:05
fullermdmerge --uncommitted would do that.00:05
fullermd(though you can get ugly going back and forth with it; doing it once would be reasonable)00:05
fullermdIt would similarly benefit from a super-shelf that used real revisions to hold the shelved stuff.00:06
ftaA and B are owned only by the same user, central is shared00:06
awilkinsfta: I have a repo on a thumb that I commit to ; if I need to put that in a central repo I push from there00:06
awilkinsfullermd: Isn't "loom" a sort of super-shelf?00:07
lifelessfta: uncommitted changes have no real representation in bzr00:07
lifelessother than 'working tree'00:07
lifelessfta: do you have NFS or similar between these two machines?00:07
lifelessI think there is a valid use case here, in two different dimensions, but we don't have a good offering today00:08
lifelessand it will take thought to avoid making a bad one :P00:08
lifelessthe two dimensions are collaborative conflict-resolution-in-N-steps00:08
ftai used commit/uncommit/push override for a while, i ended up with lost commits. i also used scp/rsync between A and B, better but not very handy.00:08
lifelessand helping people deal with transient commits more easily, I feel the two combined would do what you want00:09
lifelessjam: so did I get a review of log ?00:10
jamlifeless: I certainly hope so00:10
jamI did it last night00:10
lifelessah yes found it00:10
lifelessthanks00:10
lifelessI've done one of your btree patches00:11
lifelessother shortly00:11
fullermdfta: merge --uncommitted would be much more handy than scp/rsync...00:11
jamlifeless: I didn't get a chance to play with the toy, I've been debugging the fetch issues00:11
lifelessjam: I integrated bzr-search with my patch last night - bzr log -m "\brobert\b" went from 12 seconds to 4 seconds00:11
jamnicely done00:11
fullermdawilkins: Not really, especially if you're not already using looms and on top of one...00:12
lifelessjam: primary fetch issue is no streaming verb00:12
lifelessjam: that I know of00:12
lifeless(I mean, other than being-silly-with-object-lifetimes)00:12
jamyeah, but there are oddities in the specifics00:12
jambranch locally is 2+ times faster00:12
awilkinsfta: How about * Branch to no-trees repo in USB thumb * A and B take checkouts of branch in thumb * commit when changing location and take thumb with you * update at the location you moved to * keep working ?00:13
ftafullermd: thanks. i'll give it a try for a while. thing is i'm an avid user of --remember so push/pull/merge are going to central by default.. merge --uncommitted will force me to specify A or B each time.00:13
fullermdfta: Aliases and/or the bookmarks plugin can be a help there.00:14
awilkinsfta: This works well for me (I was pushing and pulling between network shares on my laptop and desktop for a while and I too got my knickers in a knot)00:15
lifelessjam: try with btrees :P00:18
ftaawilkins, i'm not organized enough to depend on usb ;) it will stay connected on the other side, or i will simply forget. I expect bzr to do that for me as i can reach always reach A from B (reverse is not true)00:20
ftafullermd, yep, one more alias, i like that00:20
awilkinsfta: How about keeping the branch on A and taking a checkout of it on A and B00:22
awilkinsIf you use a heavy checkout you can still commit to one offline and merge it later00:22
awilkinsHere's one - operations on network shares on windows are treated just like local filesystems ; to the point where the client will do things like copy files from the tree rather than unpacking them from the content texts ; copying from the tree is slower over a network drive in many cases00:36
awilkinsIt will also do heinous things like repacking an 11MB repo over a 256KBit/s link00:36
bob2you're using smb over adsl?00:37
awilkinsbob2: VPN00:37
awilkinsbob2: and cable not DSL (256 kbit is my upstream)00:38
awilkinsShort of setting up an HPSS (or even just SFTP), would it be possible to have a --network option or similar that had it do things like * not update remote tree when pushing * not repack * not copy files from remote branch but unpack them from local content texts00:40
fullermdWell, if it helps, it would repack the 11MB repo over a 256Kb link if you were using SFTP too   ;)00:40
awilkinsfullermd: That's nasty too :-)00:41
awilkinsI had the Windows bzr+ssh support all nicely patched and IT services refused to open port 2200:42
awilkinsAlas, I've not quite cracked HPSS over IIS 6 (works nicely with IIS 7)00:42
fullermdWell, it would repack the 11MB repo over a 256Kb link with bzr+ssh too...   I mean, how consistent can you GET!00:42
awilkinsYes, but the repack happens locally with an HPSS00:43
fullermdNo it doesn't.00:43
awilkinsUrgh!00:43
awilkinsYou mean even on HPSS it pipes 22MB of data to the client?00:43
awilkins(and from00:43
fullermdOh, no.  I'm sure there's enough missing entropy that it can compress down to 21.5MB or so.00:44
awilkinsSurely that's a bug - it's hardly high-performance-optimized if the thing is asking the client to do all the work and abusing its bandwidth00:44
fullermdFSVO 'bug'.00:45
awilkinsWhat happens if you access a MySQL repo over bzr+ssh and it decides to repack? Grit your teeth and wait a day?00:45
awilkins(AFAIK you can just abort and nothing is hurt)00:46
bob2yes00:46
awilkinsYuck00:46
fullermdWell, if you get a big enough repo, you'll only ever have to do it once, 'cuz a repack verb (or better, elimination of a need for one) will have been added before it finishes...00:46
bob2hahaha00:47
awilkinsWhy the hell would a client get to decide that the server needs to repack?00:47
awilkinsScrew repack verb, it's the servers job to manage it's own damn storage00:47
fullermdThat's crazy talk.  Next you'll be saying the client shouldn't have to understand the low-level details of the server's repo format.00:48
awilkinsYou could just have the server play back bzr-fast-export tapes :-)00:48
awilkinsHeck, you could write bzr HPSS servers for git00:49
* fullermd summons jelmer :p00:49
* awilkins summons Bahamut00:49
fullermdSee, if bzr-git just gets fast enough, we can just use central git repos and avoid all that unnecessary HPSS work.00:49
* fullermd repacks a repo while waiting for the cutscene to finish.00:50
bob2you just need a hpss-optimisation montage00:50
* awilkins takes 7 damage00:50
fullermdGotta remember to stop by a commit-point.00:51
* awilkins takes a USB key and commits in the field00:53
lifelessawilkins: spiv has a patch to repack remotely00:54
awilkinsIs it part of HPSS?00:54
lifelessawilkins: but note that repack only repacks small packs most of the time; to repack the deep history of mysql you need to commit 10 times as many revisions as there are already00:54
lifelessawilkins: yes, but not merged to bzr.dev yet00:54
lifelessawilkins: so, to trigger a repack of the deep mysql history, commit, oh, 500000 times00:55
awilkinsI have a branch I'm using to deploy .jar files ; it only has about 10 revs and it go repacked into one pack over the VPN which is my 11MB case :-)00:55
lifelessawilkins: ok, the next repack of those 10 will occur at 100 revs00:56
lifelessand then at 100000:56
awilkinsI hope the deltas are nice and small now then, it's mostly one 1.2 MB jar that's changing incrementally00:56
awilkinsWould you get better packing by unzipping archives and them packing them>00:57
lifelessa zip compresses badly unless you use --rsyncable, and as we don't use rdiff, we don't gain much then (though we may gain some - I haven't tested)00:57
lifelessjars are zips00:57
lifeless(delta compress obviously)00:58
lifelessso yes, deltaing the contents would probably be a size win; though .java files may be questionable etc00:58
* AfC wonders a bit why someone would ship .jar files with a version control system (unless this is a matter of using it to deploy artifacts to a production system, but even then)01:04
awilkinsBecause it's easier to just have my users `bzr pull` than expect them to download an archive, unpack it, and not wipe out any of their own little scripts and things01:05
ToyKeeperSome of the stuff ronny brought up would be nice to have in bzr...  like repo-level pull/push, and the ability to make new branches implicitly (like...  "hg up -r 123 ; hack hack; hg commit" would make a new head)01:08
ToyKeeperA repo-level vis tool would be nice too.01:08
awilkinsI thought extending switch would be good01:09
awilkinsLet switch also push a new branch01:10
awilkinsbzr switch bar --branch01:10
ToyKeeperInstead of switching branches in-place like in that .wmv earlier, I find myself keeping an 'active' symlink in the repo to point at the branch I want to use.  That doesn't quite work the same, though.01:10
awilkinsbzr switch bzr --branch -r 12301:10
bob2hm, how about bzr switch --create newbranch?01:11
awilkinsTHat might be clearer01:11
ftafullermd, seems i can't merge --uncommitted from a bzr+ssh url01:11
bob2what's the rationale for not just commiting all these changes?01:12
awilkinsfta: sftp may work01:12
bob2not wanting them to show up in logs?  no automatic handling of syncing multiple branches?01:12
ftaawilkins, same, "is not a local path"01:13
lifelessawilkins: branch --switch would be my preference01:13
lifelessToyKeeper: bzr viz can do multiple branches01:13
fullermdOh, I forgot about that.  WT access doesn't work remotely...01:13
fullermdWell, so much for THAT beautiful idea.01:14
bob2that would be complicated with branch's existing positional arguments01:14
lifelessToyKeeper: but repos are just storage access, not semantic; I can buy 'viz all branches under URL'01:14
awilkinslifeless: Would you include the current "sibling" logic that's in switch ; this seems to be something that those git people really like, the one-element-name of branching01:14
bob2bzr branch --switch . ../newfeature, and loses switch's "sibling" support01:14
lifelessawilkins: yes, there is a bug open to propogate that01:14
lifelessalso, are you aware of cbranch01:14
lifelesswhich already does much of this01:14
awilkinsNo01:15
lifelessToyKeeper: we have 'repo' level push/pull with multi-push/multi-pull01:15
awilkinscbranch is not mentioned on the BzrTools page01:16
* markh hopes to hear someone lamenting the lack of a -r option to 'bzr up'...01:18
* awilkins found that really counter-intuitive after using SVN for so lon01:18
markhme too - and I have a patch - which is why I'm hoping to hear someone complain ;)01:19
markhI resurrected a patch that was initially targetted at version 1.3!  I fear it will similarly languish now...01:24
markhwould it do that in response to 'bzr up -r'? ;)01:26
fullermdOh, yeah, we need a VSS mode.  %bzr commit      Warning: This setting will store your changes without any corruption.  Are you sure you want to proceed?  (y/n)01:26
jamlifeless: bzr+ssh:// uses the _create_pack_from_packs code, isn't that the same as local?01:26
markhactually, my first response to a merge was "OMG, why does bzr think 1/2 this file is in conflict?".  lifeless kindly then pointed out '--reprocess' which has become invaluable for me01:27
awilkinsI liked the merge I did from a branch that didn't even have a shared ancestry (but was a very similar tree) :-)01:28
markhI've seen the awesomeness of bzr merging since then ;)01:32
awilkinsMy users are getting to like it01:32
awilkinsTime for sleepsicles01:46
lifelessmarkh: if its not in bundlebuggy, it won't get reviewed01:50
lifelessbeing attached to a bug report is essentially useless01:51
markhok, I'll try that - thanks01:51
lifelessjam: were you happy with my reply-to-your-review?02:02
lifelessjml: please send your addCleanup improvements to bzr, or is that done ?02:11
=== bigdog is now known as _bigdog
lifelessis there an operator.attrsetter I wonder...02:12
lifelessbope02:13
lifelessnope02:13
lifelessthere should be02:13
ToyKeeperHmm, speaking of not using launchpad features...  where should I send changes to bzr-merge-into?02:13
bob2functools.partial + setattr!02:14
lifelessoh eep02:14
jmllifeless: they were approved, but maybe not landed?02:14
ToyKeeperIt appears to be jam's plugin, but I'm not sure what he uses for merge requests.02:15
jmllifeless: I don't have commit privs.02:15
lifelessself.addCleanup(functools.partial(setattr, bzrlib.btree_index, '_PAGE_SIZE'), original_size)02:15
lifelessbob2: ^evil02:15
lifelessToyKeeper: I'd file a bug and attach a branch and propose for merging02:16
ToyKeeperI did.02:16
lifelesscool02:16
=== toytoy_ is now known as toytoy
ToyKeeperIt was a month ago, and there was no response, so I thought maybe it needed to go through BB or some other channel.02:17
lifelessoh02:17
lifelesshey may not be subscribed to the branch; when reviews were added that was not set as the default02:17
lifelessdrop him a mail ;)02:18
ToyKeeper... just came to mind because of the mention earlier about not attaching patches to bug reports.  :)02:18
lifelessToyKeeper: yah, plugins are not all in BB though02:19
lifelessI saw some merge-into work last week or so02:19
lifelesspossibly he just missed your patch?02:19
jmllifeless: do you want me to chase up whether the patch landed or do you want to?02:20
lifelessjml: no need02:20
jmlok.02:20
* jml goes away02:20
lifeless11:15 < lifeless> self.addCleanup(functools.partial(setattr, bzrlib.btree_index, '_PAGE_SIZE'), original_size)02:20
lifeless^ thats too evil anyhow02:20
ToyKeeperHmm, the last rev looks like it implements part of what I changed.  I'll bug him about it later.02:23
jamToyKeeper: I certainly don't remember seeing any patches/branches for bzr-merge-into02:29
jamlifeless: Your response to the log review was fine02:29
jamlifeless: I would like a little bit more feedback on the btree stuff02:30
ToyKeeperjam: https://bugs.launchpad.net/bzr-merge-into/+bug/25218802:30
ubottuLaunchpad bug 252188 in bzr-merge-into "subdir is always from repo root, not current dir" [Undecided,In progress]02:30
jamToyKeeper: hm... never saw that one. But I think it is already "fixed"02:30
jamwhen I changed it to support the "canonical" form02:30
jamToyKeeper: can you check?02:30
jamToyKeeper: I think I did it by doing "WT.open_containing(join(this_location, subdir)) rather than the other way around02:32
jamwhich also lets you do02:33
ToyKeeperjam: Just checked, and trunk r7 seems to fix that issue.02:33
ToyKeeperI fixed a couple other things too:  I made the subdir parameter optional (default to basename of LOCATION), and added missing '\n's on the output.02:34
lifelessjam: well, I'm happy - thus the :tweak02:34
lifelessI've replied and said roughly that02:35
jamlifeless: sure, just trying to get some ideas about how to actually update it02:35
lifelessrighto02:35
lifelessuhm, see if my mail helps02:35
lifelessotherwise, I'm probably missing what you're asking :)02:35
jamToyKeeper: sure, I'll merge it and then revert out the one change, it will probably conflict anyway02:36
jamToyKeeper: did you ever "request a review" ? Or just propose it for merging?02:37
jamlifeless: And BB is still much better for code reviewing, as you can see the whole diff02:37
lifelessjam: you're probably not subscribed to the branch fully02:37
jamThough I guess abentley is improving that02:37
lifelessjam: yeah it is02:37
jamlifeless: yeah, I just "subscribed" to my branch02:38
jamToyKeeper: though you didn't add tests for your functionality :)02:38
ToyKeeperHmm, I haven't used LP's code review features much yet.  I thought making a merge request automatically requested review from the owner of the target branch.02:39
jamwell, it would probably send me an email if I was subscribed to the branch02:42
jam(which i am now)02:42
jambut it isn't quite the same02:42
jamrequest-review is a bit more focused on a specific person to review02:42
jamas opposed to "anyone who is around"02:42
jamanyway, your changes are merged02:43
ToyKeeperI know they're pretty trivial changes...  I had forgotten all about it until lifeless said something to remind me.02:44
ToyKeeperAnyway, thanks for the plugin.  It's handy.  :)02:46
ToyKeeperNow I just need a way to do the opposite of merge-into...  split a subdir into a new branch with only that subdir's history.02:47
jamToyKeeper: with or without rebasing?02:47
jamThere is already "bzr split" which is a core command (it may only be exposed if you have -subtree formats)02:47
jamBut it still preserves *all* history02:48
jamas you can't do otherwise without regenerating the history for those files02:48
ToyKeeperDoesn't matter to me.  'bzr split' plus 'bzr remove-revision' would be fine, except the latter doesn't work.02:48
jami don't know what 'remove-revision' would even be trying to do02:49
ToyKeeperIt's at http://people.samba.org/bzr/jelmer/bzr-remove-revisions/trunk/02:50
jamToyKeeper: that wouldn't do what you want anyway02:51
jamIt is only a "garbage collect" for unreferenced revisions02:51
jamthese are all referenced02:51
ToyKeeperAh.02:51
jamas part of the history of the split out branch02:51
jamYou would really need to rebase, in which case the split out project could no longer be merged back into the old project02:52
jamwhich is still good enough for what some people want02:52
jamit wouldn't be strictly hard to do, though you have to get a little bit tricky at merge times02:52
fullermdWell, if you rebuilt the history with the same file-id's, you could do a null-merge right off the bat, and it would work going forward.02:52
jamfullermd: yeah, I think so, but I wouldn't bet on it :)02:53
fullermdWell, I've used --file-ids-from to do similar things on a smaller scale.02:53
ToyKeeperYeah.  I just wanted to break a branch into pieces, because it included things which shouldn't have been together.02:53
jamlifeless: your final review is what I was looking for, thanks02:53
jamToyKeeper: then again, it would still be in the history of the parent project, unless you regenerated all of *those* revisions02:54
lifelessjam: cool02:55
ToyKeeperI've occasionally seen svn people put every project into a giant shared repo, with /repo/trunk/project*/...  seems better to do one repo per project instead.02:56
ToyKeeperI ran into something like that in bzr, and wanted to split the projects into completely independent repos.02:57
lifelessI'd really like to be able to do bzr search -s "foo -bar"03:15
lifelessbut I need to think some more about how to do that elegantly03:15
lifelessfood first03:15
jamlifeless: would you want a way to "refine" searches interactively03:16
lifelessjam: like loggerhead does ? :)03:17
jamunion, intersection, etc03:17
jamgive me the revisions that match X03:17
jamand then the subset that also match Y03:17
lifelessmeh, I meant to type 'bzr log -s "foo -bar"'03:17
jamand as you mentioned03:17
jambut *don't* match bar03:17
lifelessjam: I am happy with google level complexity in the searches03:18
lifelessjam: which is not much03:18
lifelessjam: 'bzr search robert -collins' already works03:18
lifelessback in 10, must eat food03:18
lifelessso03:33
lifelessjam: bzr search - I want to grow search types of date: (with before/after) and revision: etc, as well as handling NEWS and src/Makefile.am to match paths03:34
lifelessETIME03:34
rockyjelmer: what is "bzr svn-branching-scheme" for exactly? :)03:43
jelmerrocky, it's what determines what in the repository bzr-svn considers a branch (a place where bzr revision can be found)03:43
jelmerchanging it will break your existing imports though (you'll get DivergedBranches errors) so you'd want to stay away from it03:44
jelmerit'll be replaced by something simpler in 0.503:44
rockywell, the output from:  bzr svn-branching-scheme https://dev.serverzen.com/svn/cluemapper/ClueMapper   shows just ClueMapper which is odd since ClueMapper isn't a branch03:44
jelmerrocky, it determines what branching scheme it'll use based on what location you branch03:46
jelmeryou'd probably want "bzr svn-branching-scheme https://dev.serverzen.com/svn/cluemapper/ClueMapper/trunk"03:47
jelmersince you're branching trunk03:47
rockyright03:47
=== wantok is now known as kgoetz
lifelessman05:49
lifelessI want marks so bad05:49
* lifeless starts on marks05:50
* RAOF_ ponders what "marks" could mean in a lifeless-bzr context...05:50
mwhudsonis it missing an apostrophe and "lovely hair" ?05:50
=== RAOF_ is now known as RAOF
lifelesshttps://lists.ubuntu.com/archives/bazaar/2008q3/044481.html05:52
* RAOF brushes his lovely hair.05:53
fullermdShoulder length or longer?05:53
RAOFAbout sholder length.  Slightly longer.05:54
spmlifeless: (ref 'marks' vs hair) - sounds (hand wavy) loosely like my experience with svn merge conflict handling via eclipse? Sorta thing. ???05:57
* RAOF contends that his internet will _eventually_ connect to lists.ubunut.com.05:57
mwhudsonubunut ?05:58
RAOFYeah.  It's like ubuntu, but for squirrels.05:58
mwhudsoncool05:58
fullermdSo there are lots of long-term support releases, but you can't remember where you buried them?05:59
lifelessspm: I don't know what your experience is05:59
jmllifeless: marks?06:03
RAOFHeh.06:03
jmloh, link06:03
* jml reads06:03
RAOFYes!  I have lists.u.c connection.06:04
lifelessjml: what do you think06:14
jmllifeless: I think you should have someone who follows you around finishing the awesome stuff you start :)06:15
RAOFThat does look rather cool.06:16
lifelessjml: that would be nice06:17
jmllifeless: the design looks pretty good to me.06:17
jmllifeless: IIUC, there are multiple named subsets of changes, one of which is selected?06:18
lifelesssome of which are06:19
lifeless-Mreviewed,tests06:19
jmllifeless: right, so what I mean is that I could select the 'tests' set of changes?06:20
lifelessyes06:20
lifelessor exclude it06:20
jmlright.06:21
lifelessI'd love a web review ui for this06:21
* jml is busy on other Bazaar hosting issue06:21
jml*issues, rather06:21
lifelesswell06:22
lifelessit needs core code first06:22
lifelessbut as an end goal06:22
lifelessimagine going to launchpad06:22
lifelessdoing half a review06:22
jmlyeah, that'd be sweet.06:23
jmlor in emacs06:24
lifelessya06:29
jmllifeless: the plugin I should use to perhaps improve my push speed, what was it called again?06:53
lifelessindex206:59
lifelesswhich needs pybloom as well06:59
loxsfolks, probably i dont write it right, but I can't create a branch... i use the following syntax: bzr branch trunk/ tags/version1.608:54
lifelessand what happens?08:55
loxsin windows bzr: ERROR: Not a branch: "D:/MyProject/MyProject/"08:56
lifelesswell, is it a branch?08:56
loxsI have no idea, I'm a newbie :)08:57
loxsI init-ed the project08:57
loxsand commited it08:57
lifelessok08:57
loxsnow I want to create a branch08:57
lifelesswhere did you init ?08:57
loxsin the directory containing trunk/08:57
lifelessso the directory containing trunk is your first branch08:58
lifelessinit creates a branch08:58
lifeless(the first one in a project)08:58
loxsso how do I create a branch tags/version1.6?08:58
lifelessbzr branch <path to your current branch> tags/version1.608:59
lifelesswhat does bzr info show ?08:59
loxsok, parent of bersion1.6 doesn't exist08:59
loxsafter I create the dir tags, to I add it via bzr add?09:00
lifelessno09:00
loxsthen I just md and create the branch?09:00
gourloxs: reading of http://doc.bazaar-vcs.org/bzr.dev/en/user-reference/bzr_man.html#concepts might help you09:01
loxsI read that, but it's quite general :(09:02
lifelessloxs: yes, you mkdir dir tags if it doesn't exist09:02
lifelessloxs: then branch <current branch> tags/version1.609:02
loxsand when I commit, the version1.6 branch won't go to the central repo?09:04
loxshm, I think I start to understand the concepts now09:04
loxsok, thanks folks09:04
gourit's not svn ;)09:05
loxsyeah, i'm starting to realise it gour :)09:07
gourloxs: yesterday, i tried for the first time bzr-svn...it's great. now i can use bzr to fetch from svn repos :-)09:08
gourloxs: it's much more flexible when you get in. you'll see. good luck ;)09:08
loxsthanks :)09:09
shodgeshey all, is there an equivalent to "svn status -u"? I want to see the changes on the remote branch before I pull them09:09
shodgesfor bazaar, of course :)09:10
RAOFshodges: I'm not entirely sure what 'svn status -u' does.  'bzr missing' will give you the log between the current tree and the remote tree, though.09:17
RAOF(bzr missing will check against the default pull branch, or you can 'bzr missing $OTHERBRANCH')09:18
lifelessRAOF: or diff -rbranch:other09:19
lifelessshodges: or status -rbranch:other09:19
gourmissing might be the right thing...09:22
shodgesthanks everyone, i'll have a play around09:22
shodgesok i've had a go, bzr missing is definitely useful, but what I want right now is something that will tell me which files have been modified, rather than the pending commits09:34
lifelessshodges: 'bzr st -rbranch:URL'09:34
lifelessshodges: as I said before :P09:35
shodgesyeah i thought so too lifeless, so i tried bzr status -rbranch, and i it threw a nasty stacktrace09:36
lifelessreally?09:36
shodgesi typed: "bzr status -rbranch:../test/src"09:37
shodgeswhich is a modified local branch i created for testing this out on09:37
lifelesscan you pastebin the traceback?09:37
shodgessure can, just a sec09:37
shodgesthis is the traceback: http://pastebin.com/d29ae034609:39
gourshodges: can you upgrade bzr?09:41
luksgour: will not help09:42
luksit's an old bug09:42
luks(design issue)09:42
gourluks: using absolute path?09:42
luksno, -rbranch: is broken09:43
gourahh09:43
shodgesgour, i tried an absolute path as well, same output09:43
* gour wonders why would lifeless recommend it then09:44
shodgesi could try upgrading bazaar, but would i assume if the break is in my .bzr index then it will still throw the same error?09:47
shodgesI found a work-around: bzr merge --preview ../test/src | grep "==="09:47
shodgesnot elegant, but does the job09:47
gourshodges: at least, you can create alias for it :-)09:54
shodgesgood idea gour :) i like "bzr missing" tho, will find them both useful in the future09:56
shodgesthanks for the help everyone09:56
lifelesshmm10:00
lifelessIts not a design bug10:00
lifelessjust needs to be fixed10:00
lifelesseither by upgrading the lock, allowing status to read from two sources, or similar10:01
=== jrydberg_ is now known as jrydberg
lukslifeless: http://thread.gmane.org/gmane.comp.version-control.bazaar-ng.general/3585310:05
lifelessFF just bit it10:06
lifelessI only saw the start of the page10:06
luksjam had a similar fix for it, never merged too10:06
luksI'm personally surprised that broken code is considered better than working code, even if following a bad design, but it's not my decision :)10:07
lifelessuhm10:07
lifelessyou have a choice of break10:07
lifelessbroken on read only media10:07
lifelessand broken when pull-is-needed10:08
lifelessso its not 'broken vs working'10:08
lifelessits 'broken in case A vs broken in case B'10:08
lifelessand I think you're being rather judgemental saying the design is broken, when its not clearly a design issue10:08
jmlhello #bzr10:08
lukslifeless: I was told that by jam and abentley10:09
lukslifeless: the code needs to be rewritten to allow reading from remote repositories10:09
jmlI've got a branch, and I want to take one of the revisions and get rid of it.10:09
lifelessluks: uhm I don't know if you're aware, but saying 'bad design' provokes a certain response10:10
lifelesswhich is either agreement, or defense. I think the design is fine, thus you are getting defense10:10
lifelessif you have a specific issue in the design, that would be worth talking about10:10
lifelessjml: tip ?10:10
lukslifeless: if two core devs tell me that it's was a bad choice to allow write operation on RevisionSpec, then I think it is a bad design10:10
jmllifeless: is that a plugin?10:11
lifelessjml: no, I'm asking if the revision is the tip revision10:11
jmllifeless: oh, no.10:11
lifelessin which case rebase is probably your easiest bet10:11
jmllifeless: I know about uncommit :)10:11
lifelessthere was a thread recently10:11
* jml searches10:12
lifelessluks: you've just doubled the granularity from 'bad design' to 'write operations on revisionspec is a bad design choice'10:12
lifelessthats massively more informative10:12
lifelessanyhow, as another core dev, I don't think it was a bad choice10:12
lifelessI don't think its ideal10:12
lifelessand I think we can do better10:12
lifelessbut given the constraints of the time, and the performance issues around the area, I think it was the right choice at the time10:13
luksof course I meant the 'bad design' before only regarding to write operations in revisionspec10:13
lukssorry for not beeing clear enough10:13
lifelessI had no idea what you meant10:13
lifelessand given, at last count, something over 50% of the core is ascribed to me by gannotate, a little clarity really helps :)10:14
luks:)10:14
jmlalso, another thing I'd like to do is review the diff of each commit in a range of revisions10:15
lukswell, anyway, I fully understand that there are better ways to fix it, but I don't understand why reject the lock upgrading as an interim fix10:15
lifelessluks: because it breaks another not-uncommon use case - doing status in a tree where you can't write lock the repository10:15
jmlI guess it wouldn't be too hard to whip up a script10:15
lifelessjml: yeah, or merge + commit-reviewed each individually10:16
lukslifeless: it's already broken in that case10:16
jmllifeless: well, it's more that I just want to look at them one by one10:16
luksso it would be no worse10:16
lifelessluks: how is it broken ?10:16
lukslifeless: try bzr st -r branch:path/to/different/repo/branch if you don't have write acces to the local tree10:17
lifelessluks: I didn't say tree, I said repository10:17
lifelessluks: and I'm not talking about -r usage, plain ol 'bzr st'10:17
lukslifeless: my patch used lock_write only if the revisionspec requires it10:17
luksso in plain bzr st it would use lock_read10:18
luksand in case lock_write is not available, st -rbranch is broken anyway10:18
luksso yes, there are still cases where it's broken, but it would fix the main use case10:19
lifelessluks: well, I've just replied with a small change to allow status to work10:29
lukshm, as_revision_tree is a good idea10:30
lifelessprobably < 2 hours work if you're interested in doing it, and its straight forward10:31
lifelessor even 'as_tree'10:32
lifelessfor a possibly better/more useful interface10:32
luksI realise that, but there are some cases where the remote branch instance is required as well10:32
luksso it would need one more interface for those cases10:32
lifelessfor status?10:33
luksno10:33
lifelesswell, details then, and I can comment10:33
lukswhat I was primarily interested in was adding a global lock around diff10:34
luksI see that revisiontree has _repository, which would be enough, but that's private10:34
lifelesswhat do you need a repository object for ?10:34
luksoh, wait, I don't10:35
luksyeah, you are right10:35
luksI will probably look into this over weekend10:35
luksas_revision_tree is really a good way to solve this10:36
lifelessI think I'd call it as_tree10:39
lifelessto allow real and revision tree objects10:39
* jml gets confused by rebase10:45
lifelessjml: it is confusing10:52
lifelessjml:  you want replay10:52
lifelessjml: and to skip the revision you don't want10:53
lifelessjml: or just do cherry pick merges all the way up10:53
* jml finally has a happy branch11:07
jmlthis is the danger of learning in front of Idol11:08
gourare looms better than using rebase?11:08
jmlgour: yes.11:08
luksthey are something different11:08
jmlfsvo 'better' :)11:09
jmllifeless: so, I've got a testresources branch without those licensing changes. do you want any other changes before re-review?11:16
=== gour is now known as gour|away
lifelessuh, anything else I said my mail11:27
lifelessjml: if there isn't a NEWS file, we should add one that describes how existing users need to change their resources to accomodate the patch11:28
* jml adds one and resubmits11:35
gnomefreakhow would i remove a push i made. i used uncommit but now i need to merge them but i dont want that push to be htere11:40
gnomefreakthere11:40
luksyou can push --overwrite11:40
luksbut double check you are not overwriting something you don't want to11:41
gnomefreakwill try it11:42
luksalso, this is a bad thing to do on a public branch11:42
luksif there is a possiblity other people have branched/pulled from it11:42
^_-hm11:50
^_-what's the main difference between a repository created with --no-trees and one that isn't?11:50
^_-er rather11:53
^_-what's the advantage and disadvantage of creating a repository with --no-trees ?11:53
siretartyou have no trees, that is, you save space for the checkouts, and branching is a bit faster, since you don't need to build them11:55
^_-siretart, so this should be used for central servers?11:55
^_-er would be best used11:55
lifeless^_-: or if you want to reuse a single tree12:02
lifelesswhich C style languages often want to12:03
lifelessbecause compilation is slow12:03
^_-heh12:05
lukslifeless: can I please get a review of http://bundlebuggy.aaronbentley.com/project/bzr/request/%3C1219921582.6859.3.camel%40nemo%3E (it's really trivial, and introduced by your change)?12:16
Peng_Is it just me, or is bzr-search broken on bzr.dev?12:51
lifelessshouldn't be broken, works for me12:51
Peng_Hmm12:51
Peng_I just pulled bzr.dev and bzr-svn for the first time since yesterday or so, and bzr-search exploded.12:51
Peng_bzr.dev r3652 (the log filtering stuff) broke it.12:53
Peng_If I revert to the revision before that, it's fine.12:54
james_wwhere's the heads plugin?12:55
Peng_Where?12:55
james_wI can't find it on the plugin page, nor via google12:55
Peng_james_w: Oh. bzrtools, apparently12:56
james_wah, thanks12:56
Peng_It was merged into bzrtools in May.12:57
thumperlifeless: is there a package for bzr-svn?13:05
thumperor anyone for that matter13:06
thumperjelmer: ?13:06
Jc2kthumper: there is one in PPA i think13:06
thumperJc2k: thanks13:06
thumperJc2k: which one?13:06
Jc2kthumper: https://launchpad.net/~bzr/+archive13:07
thumperJc2k: thanks13:07
Peng_lifeless: r3652 breaks bzr-search on another computer too (where I have the exact same plugins, but..)13:07
james_wPeng_: with a traceback, or just "not work"?13:16
Peng_Hm13:19
Peng_james_w: Just "Unable to load plugin 'search'"13:20
james_wPeng: -Derror?13:20
beunothe traceback goes to .bzr.log  (hi)13:21
Peng_Yeah, I was just looking at .bzr.log. Hold on, I'll pastebin.13:21
james_wbey beuno13:22
james_wI find -Derror more convenient, but they both work13:22
Peng_http://paste.pocoo.org/show/83610/13:22
beunojames_w, aaah, interesting. It is much more convinient13:22
Peng_I've never used -Derror before. I'll try to remember it.13:23
lifelessPeng_: you need 3653 perhaps ? :)13:24
lifelessPeng_: sorry, rev 5513:24
lifelessPeng_: and then you can try log -m '\bfoo\b' and go oooo at speed13:24
lifelessluks: can you drop me a mail please13:25
lifelessluks: I will review tomorrow13:25
lukslifeless: thanks13:25
Peng_lifeless: Eh?13:25
lifelessPeng_: bzr-search rev 5513:25
lifelessPeng_: committed 8 or so hours back; grab it :)13:25
Peng_I am on that revision, though I didn't know it.13:26
lifelesshmm13:27
Peng_I pulled bzr-search at the same time as bzr-svn and bzr.dev, and the first time I pulled, there was a traceback, but I wasn't able to reproduce it.13:27
lifelessall the references I can find ot make_search_filter are _ prefixed in bzr-search rev 5513:28
lifelessPeng_: try 'bzr update' or 'bzr revert' in your search branch13:28
lifelessI bet the tree is out of date, if search was borked13:28
Peng_lifeless: You are correct.13:29
Peng_Now it works.13:29
Peng_How did that happen? I needed to run "bzr update". I guess that traceback did it?13:29
lifelessso pull updates branch, then tree13:30
lifelessI bet that search crashed on the branch update after the tip changed, before the tree is update13:30
lifelessd13:30
Peng_Hah, the exact same thing happened when I pushed the new revisions of bzr-search to the other computer.13:32
Peng_Same traceback, and it didn't run "update".13:32
Peng_But I ran update and now it's okay.13:32
lifelessnow13:32
lifelessgrab an indexed branch13:32
lifelessand run bzr log -m '\bSEARCHTERM\b'13:33
Peng_I guess I shouldn't update software while it's running.13:33
lifelesstry it again with --no-plugins13:33
lifelessthe traceback was because I pushed rev 54 yesteday13:33
lifelesswhich added log -m support with my custom branch13:33
Peng_I was on rev 53.13:34
lifelessthen bzr.dev broke than when the reviewed code landed13:34
Peng_I think.13:34
lifelesswhere you? I doubt it13:34
Peng_Yeah, I was.13:34
lifelessoh13:34
lifelessI forgot 55 was trivial13:34
lifelessyeah 53 would do it13:34
Peng_ok13:34
lifelessits just a case of 'you ran trunk'13:34
Peng_:)13:35
lifelessanyhow13:36
lifelesshow does the log acceleration work for you ?13:36
Peng_I don't have any large branches with indexes.13:36
lifelessah, k13:37
lifelessshould still be faster on small branches13:37
Peng_On one branch, it takes ~0.7 seconds either way.13:37
lifelessoh yeah, thats under threshold :P13:37
Peng_It bothers me that you can do "bzr pull -v", but if there's a traceback at the wrong time, you'll have no idea you pulled anything.13:39
lifelessmmm13:40
lifelessprobably has to do with how pull -v is hooked in13:40
Takis it recommended to use --hardlink when branching locally?13:48
ricardokirknerhi. I am trying to check out  a project from launchpad, and I am getting a connection timeout (I am behind a http proxy). I have set up the http_proxy variable, so I dont understand why I am gettig the timeout. how can I debug this issue?14:30
techtonikricardokirkner: add -Dhttp to command line14:33
techtonikalso bzr help global-options14:33
lifelessricardokirkner: is your proxy squid 2.6stable23 or less ?14:37
techtoniklifeless: How can I specify proxy for bzr+ssh connection?14:44
lifelesstechtonik: bzr+ssh doesn't use http at all14:44
lifelesstechtonik: it uses ssh14:45
techtonikI know.14:45
ToyKeepertechtonik: I'd suggest using ~/.ssh/config to configure bzr+ssh details.14:45
techtonikI am on windows.14:45
techtonikMy proxy supports CONNECT, but I need to bzr somehow to use it.14:45
lifelesstechtonik: unless you can find a ssh http-tunnel (there are some) for windows ...14:46
ricardokirknerlifeless, might be.. it's squid for sure. i don't know about the version14:48
lifelessricardokirkner: there was a bug in squid, which we fixed, that is exacerbated by bzr's use of range requesws14:49
techtonikThat's bad. Without proxy bzr+ssh worked without problems without any special tools except pageant for storing keys  (I suppose through paramiko). Now I just need to specify proxy. Should I fill a bug report?14:49
lifelessricardokirkner: it leads to very long delays in someoperations14:49
lifelessricardokirkner: alternatively, if you've logged into launchpad, it may be trying to use bzr+ssh and if you have a firewall preventing ssh, timing out on that - so not http related at all14:50
ricardokirknershould I try to log out from launchpad? I am logged it, but haven't yet uploaded my ssh key14:51
lifelessricardokirkner: you ran 'bzr launchpad-login' ?14:52
lifelesstechtonik: uhm, you can file a bug, but there isn't anything bzr can do - here's why14:52
lifelesstechtonik: we already support bzr+http and plain http - they proxy just fine.14:52
ricardokirknerlifeless, no.. do I need to do that in order to branch a lp project?14:53
ricardokirkneris it not possible to branch a project without having a user in lp?14:53
lifelesstechtonik: bzr+ssh, to tunnel over http proxy, will need ssh support, and bzr calls out to ssh, its not something bzr has any deep control over14:53
lifelessricardokirkner: its totally possible, I was just trying to check I understood your setup; if you _have_ logged in with bzr to lp, you can get a different network protocol used14:53
ricardokirknerlifeless, ok. no I haven't logged in14:54
lifelessricardokirkner: so ifyou have not run launchpad-login from bzr, then its going to be using plain http I expect14:54
ricardokirknervia bzr14:54
ricardokirknerI am logged in in the web ui14:54
lifelessricardokirkner: make sure you have exported the http_proxy and https_proxy variables14:54
lifelesstechtonik: anyhow, its not the proxy that is the problem, its any related firewall :)14:56
Takif I unbind, then rebind, what happens to the uncommitted changes in my local branch?14:57
techtoniklifeless: i am using SVN without any problems and even without any additional tunnels. i am wasting yet another day trying to push a change with bzr =(14:58
techtonikIf I use https it fails - Transport operation not possible: http does  not support mkdir()14:58
techtonikIf I use bzr+ssh - it also fails with 10060 timeout.14:59
lifelesstechtonik: svn+ssh would have exactly the same problem. What bzr service are you pushing to ?15:00
techtoniklaunchpad15:00
techtonikhttp://bazaar.launchpad.net/%7Etechtonik/codeblocks/devpak-plugin15:01
jelmerjames_w, Sorry, I couldn't leave the merge-upstream-branch code alone; it's now updated against latest bzr-builddeb trunk15:03
james_wjelmer: well, no need to be sorry, I'm not going to complain about that.15:03
james_wI'll merge the four outstanding branches when I get a free minute, thanks for your help.15:04
jelmerjames_w: Cool, thanks!15:04
james_wand I'll subscribe to the branches so that I don't miss things again.15:04
=== evarlast is now known as stinkyGrant
=== stinkyGrant is now known as evarlast
ricardokirknerlifeless, ok, the proxy setting was fine, because I could branch the project using the http address directly, instead of using the lp: address15:09
ricardokirknerso, maybe using lp: uses a non-http port? (which is surely filtered by our firewall)15:09
Necororicardokirkner: iirc, if you are "logged in" into LP on your machine, it uses bzr+ssh instead of http15:11
lifelessricardokirkner: it does a XMLRPC check, which is https, first.15:11
lifelessI'd bet that that is what failed15:12
lifelessricardokirkner: or you're logged in :)15:12
ricardokirknerso, if i am logged into the web ui, then it tries to do bzr+http15:12
ricardokirknerok15:12
Peng_lifeless, james_w and beuno: Since I forgot to mention it, thanks for the help with bzr-search earlier. :)15:12
ricardokirknerI will try to log out from launchpad.net15:12
ricardokirknerthank you15:12
Necororicardokirkner: no15:12
Necorologged in on your machine15:12
Necoroi.e.: having run launchpad-login15:13
ricardokirknerNecoro, ok, I didn't login using launchpad-login15:13
ricardokirknerso that's not the problem15:13
Necororicardokirkner: than it is probably as lifeless said ;)15:13
ricardokirknerI will check it on some other machine that is not behind the firewall... I guess it's a firewall related problem15:13
orospakrHey, how does one refer to a given commit in a project across all branches?  It seems that commit numbers differ (even for the same commit!) depending on what branch you're on.15:24
Necoroorospakr: use the rev-id15:25
onoxhow can I remove just a specific revision? for example I have rev 1,2,3,4 and I want to have rev 1,2,415:26
orospakrah, I see15:26
orospakronox, nuclear launch codes? ;)15:26
onoxlol, no15:27
onoxI just want to get rid of some revisions that contain some .tar.gz files15:27
onoxis that possible?15:28
abentleyonox: Revisions are states.  The state of revision 4 is based on the state of revision 3.  So you would have to create a new revision 3, with only the changes made in revision four.15:29
abentleyYou can do that with merge, e.g. "bzr merge -c 4 ../my-old-branch".15:29
uwsabentley: ...but that isn't tracked. Is merge tracking planned?15:31
uwsfor cherry-picking, that is.15:31
abentleyuws: Yes.15:31
uwsit would be GREAT to have for many projects.15:32
onoxabentley: how can I do merge revisions 4 and 6? -c 4,6 doesn't seem to work15:37
abentleyYou want to combine revisions 4 and 6 into one revision?15:37
onoxno, just 2 merges15:37
uwsonox: just do it twice15:37
uwsmerge -c4; merge -c615:37
onoxthen bzr complains about uncommitted changes15:37
uwscommit in between15:38
uwsin bzr, you need to commit your merges15:38
ToyKeeperwell, it's possible to merge more than once without committing between...  but strongly discouraged.15:38
onoxI want to do 1 commit of (in this case) 2 pending merges15:38
uwsonox: afaik, you can't do that with cherry picking, only with regular merges15:38
onoxhmm15:39
abentleyonox: That would mean committing 4 and 6 as one revision.15:39
onoxyes15:42
onoxif I use -c I don't see "pending merges" in bzr stat15:42
abentleyonox: That is true.15:43
abentleyYou are creating a new revision, as I said from the start.15:44
abentleyIn this cause, merge is just a way of applying the changes you made in 4 & 6.15:44
ToyKeeperIs the cherrypick merge data recorded but not used?15:46
ToyKeeper... because, if not, you could just apply the patch from r4 and then apply the patch from r6, and commit.  It'll look like an entirely new revision, but ...  it would anyway.15:46
abentleyToyKeeper: No, the cherrypick merge data is not recorded.15:47
onoxso with bzr there's no way to get rid of a specific rev?15:53
ToyKeeperYou could uncommit it, if it's on top.  Or possibly do something clever with rebase.15:54
onoxrebase command doesn't exit15:54
ToyKeeper... exist?15:54
onoxyes, exist :p15:54
ToyKeeperIt's at 'bzr branch lp:bzr-rebase', I think.15:55
abentleyonox: There's no way to get rid of a specific rev while keeping the following revs.15:55
abentleyrebase command has the same effect as merge -c.  Which is also true in Git.15:56
onoxis it possible to just merge the revisions of some directory of some branch?15:56
onoxit seems it's possible, but bzr stat doesn't show "pending merges"15:57
abentleyonox: Correct.15:57
onoxwhy no "pending merges"?15:57
onoxbecause it cherrypicks again?15:59
abentleyonox: A "pending merge" is only shown when you apply all changes.15:59
onoxand why not if I apply all changes to some directory?15:59
abentleyBecause that would mean you applied all the changes, and then removed the changes that didn't apply to that directory.16:01
abentleyAnd when someone merged from you, it would remove all those other changes.16:02
onoxis it safe to just merge everything, remove some .tar.gz files I don't want, and then commit?16:06
jamvila: in trying to follow lifeless's response about the trie. He uses the abbreviation "HP" do you think he means "PH" for Partion Hashing? Since that seems to be the closest term I've found in the paper he referenced16:07
Hydrogenso..16:07
lifelessjam: hash partition16:07
jamlifeless: sure, but the only place the abbreviate is PH not HP, though they say each node tracks its "hash partition"16:07
jamanyway, you didn't define the term :)16:07
HydrogenI'm trying to create a bzr branch from a svn+ssh login'd server on windows.  I've installed bzr-svn and bzr, but when I run the command bzr crashes... is there a way to make it not crash? :)16:08
jamwhich made the paragraph a bit tricky, but to understand it anyway, I'll read the paper16:08
abentleyonox: You should not make any unnecessary changes when merging.  That can mess up later merges.  So merge, commit, remove, commit.16:08
jelmerHydrogen, what versions?16:08
onoxabentley: k, thx for the advice16:08
jamOn first pass, I agree that HP doesn't look like it plays well with partial updates and a "canonical" representation16:08
Hydrogenbzr 1.6b3... maybe I should update to 1.6 final :)16:09
vilajam: he said " The tree we build is essentially a tree of hash partitions" at the start of the paragraph he first mentioned HP16:11
Hydrogenmm, still crashing after updating16:12
Hydrogen1.6 final16:12
vilalifeless: ho, you're still there ! Are you still in AU ?16:12
lifelessyes16:13
jamah, k16:13
jamI guess that part didn't "stick".16:13
jamI *did* read it16:13
jamHydrogen: can you give any more info than "it crashes" Like run with -Derror and pastebin a traceback?16:15
jamubottu: paste16:15
ubottupastebin is a service to post multiple-lined texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu.com (make sure you give us the URL for your paste - see also the channel topic)16:15
Hydrogenwell, I would, except the silly windows crash handler pops up without being helpful16:15
jamHydrogen: so you are getting something like a segfault? Rather than a traceback + exception16:16
Hydrogenyea16:16
jamsounds like something wrong with the svn bindings16:16
jamas we don't have a lot to segfault in the bzr code16:16
jamHydrogen, jelmer: Could it be an issue with the subversion libraries?16:17
jamDoes 'bzr-svn' on windows bundle the subversion library?16:17
jelmerjam: I'm not sure, haven't ever tried it. Mark packaged it16:17
jamHydrogen: my initial guess would be lib/dll skew. Where bzr-svn is compiled against say svn-1.4 and you are using 1.516:17
Hydrogenhmm16:18
Hydrogenthat could very well be it16:18
jamjelmer: there doesn't seem to be a 0.4.11-svn, just 0.4.916:18
jamDoes 0.4.9 *work* with 1.6?16:19
jelmerno, it won't16:19
jamjelmer: but would it segfault?16:19
jelmerI think mark packaged it as part of bzr itself though16:19
jelmerjam, It would probably warn you first16:19
Hydrogenhmm, using svn 1.4.6 or 1.5.0, both crash16:19
jamjelmer: I know he brought in some other stuff, I didn't think he included bzr-svn, I could be wrong16:19
Hydrogenhowever, I may not have the python-subversion bindings... but not sure where to put them16:19
jelmerHydrogen, what did you install exactly?16:20
Takbtw, I'm successfully using bzr 1.5 with the bzr-svn windows package and svn 1.516:20
Hydrogenbazaar is in c:\program files\bazaar; subversion is in c:\program files\subversion :)16:20
uwsbzr 1.6.x + bzr-svn works well with svn 1.4  as well16:20
jamTak: that is the 0.4.9 version of bzr-svn?16:20
HydrogenI have 0.4.10 of bzr-svn16:21
Tak0.4.1016:21
TakI also have the python subversion bindings installed16:21
Hydrogenbzr-svn-0.4.10-svn-1.4.6-setup-0.exe16:21
jamTak: here did you get that from?16:22
Hydrogenwhere do I install the python subversion bindings to :)16:22
Takjam: which?16:22
jam0.4.1016:22
jamI don't see it on the LP download page16:22
jamso I'm wondering where it is16:22
jelmerHydrogen, 0.4.10 won't work with bzr 1.616:22
Hydrogenah16:23
HydrogenI need 0.4.9 then?16:23
jamAh, it seems someone has "unofficial builds": http://d5190871.u44.websitesource.net/bzr-svn/16:23
jelmerHydrogen, no, 0.4.1116:23
Hydrogenoh16:23
Hydrogenokay16:23
Hydrogen:)16:23
jamHydrogen: no, you need 0.4.11, but either way they shouldn't be segfaulting16:23
Takhttp://d5190871.u44.websitesource.net/bzr-svn/ , linked from the Subversion page16:23
jelmerHydrogen, there's no need for python subversion bindings to be installed anymore16:23
Hydrogenokay16:23
jelmerYeah, that's Kevin Lights' page16:23
Hydrogenthanks16:23
jamI'm hesitant to trust a website at "d5190871.u44...."16:23
HydrogenI'll grab the new version16:23
jamsure looks like a scammer :)16:23
jamHydrogen: unfortunately, 0.4.11 doesn't seem to be packaged yet16:24
jelmermarkh, ping16:24
jammarkh is in AU time, and is probably sleeping right now16:24
jelmerah, ok16:24
jelmerMark did say he intended to package bzr-svn16:24
jelmerand we spent some time improving things in bzr-svn on Windows16:24
Takpff, timezones16:25
Takjam: it's linked from http://bazaar-vcs.org/BzrForeignBranches/Subversion#windows-setup16:25
Hydrogenjelmer: It can't be too impossible to build though, right? :)16:26
jamTak: yeah, I found it that way. I'd rather have "official" builds :)16:26
jelmerHydrogen, if you have a C compiler, it should be doable16:26
Hydrogenhuzzah16:26
Hydrogenwe're safe then!16:26
Takhmph, I spent about 5min trying to build it on cygwin, then gave up and went back to bzr1.516:26
jamjelmer: well, and the svn dev libraries16:26
jamand some other bits16:26
jamjelmer: so the 1.6-setup.exe just gives "Default plugins" which is a 7.2MB install, but doesn't give any more details.16:27
jelmerah16:27
Takafaict, no svn plugin dir was created by the 1.6 installer16:28
jelmeraccording to Mark's announcement, bzrtools, qbzr and bzr-svn are included in the setup for the rc16:32
jelmer(1.6rc3)16:32
Hydrogenwell, that didn't help :)16:47
jelmerHydrogen, what did you try?16:52
Hydrogendowngrading to 1.6rc3 with the bundled one16:53
jelmerstill segfaults?16:53
Hydrogenaye16:53
jelmerare you trying to checkout a public svn branch?17:02
HydrogenIt crashes on a public or a not public17:03
Hydrogenwell17:03
Hydrogena public (anonsvn) or one that requires svn+ssh credentials17:04
=== mark1 is now known as markh
jammarkh: what are you doing awake?17:34
awilkinsHow hard would it be to make the HPSS 100% smart? (at the moment a large percentage of it is still dumb, i.e. makes plain HTTP GET requests)17:41
abentleyThe HPSS does not make HTTP GET requests, because it runs on multiple protocols, including http(bzr+http:) ssh (bzr+ssh:) and direct tcp(bzr:)18:04
jamabentley: I think it still does a couple GET requests for stuff like .bzr/branch-format18:07
jamawilkins wants "bzr branch" to only POST to .bzr/smart18:07
jamwith no other GET requests18:07
awilkinsThat's essentially it18:07
jamapparently IIS 6 is hard to configure correctly18:07
awilkinsHaving problems getting it to run on IIS 6 because it's awkward to get it to serve files AND direct requests to QSGI18:08
awilkinsWSGI18:08
abentleyawilkins: And this behavior is observed with bzr+http, not the autodetection?18:08
abentleyjam: i would have expected those to go over the HPSS vfs layer.18:08
awilkinsabentley: Yes, I've got a proxy sniffer and I can demonstrate it's behaviour ( I think I posted a session as an attachment to an IIS bug)18:08
awilkinsThe other option I have is to patch PyISAPIe which is the extension I'm using to serve it18:09
awilkinsThere is supposedly a mechanism to "pass to next handler" which could be used, but I'm a bit rusty on C and exposing it in Python18:09
abentleyjam: But in fact, if HPSS is making a cacheable request, it would make sense for it to use a GET.18:10
jamawilkins: just to mention, it may be easier to have the "wgsi" server serve out GET requests18:10
OkkinHi,18:10
awilkinsjam: That would also be a reasonable idea18:11
jamawilkins: is there any chatter on GET after the initial connection?18:11
OkkinHow can I get a pending merge message to use it as my commit message ?18:11
jam(I don't think HTTP transport as-a-medium changes the HPSS requests back into HTTP ones, but I was hoping for confirmation)18:11
abentleyjam: Ooh, branch-format being the bzrdir format file.18:12
awilkinsjam: I'll set an HPSS up on my local box and trace a few sessions18:12
jamabentley: right18:13
abentleyI guess it makes me a bit nervous to start posting before we even know we're looking at a Bazaar control directory.18:13
jamOkkin: "bzr log -r-1 ../old-branch" ?18:14
jamabentley: though if you already have "bzr+" ...18:14
jamcertainly we don't do a different access18:14
jamfor bzr+ssh or bzr://18:14
Okkinjam: the merge came from a merge directive file18:14
Okkinjam : I fdon't have acces to the branch it came from18:15
jamOkkin: ATM, we don't have a good way to grab it, you could "bzr branch . ../other; cd ../other; bzr pull --overwrite ../merge_directive; bzr log -r -1"18:15
jamIt isn't great by any means18:15
jambut it would get you there18:15
jamOkkin: there is an alternative18:15
jamjust a sec18:15
jamgrab the revision_id from the merge directive (it is in the top)18:15
jamand do18:15
jambzr log -r revid:XXXXX18:15
Okkinjam : ok I'm trying18:16
abentleyjam: if you have a CGI script "http://example/foo.cgi", POSTING to "http://example/foo.cgi/.bzr/branch-format" will usually invoke it.18:17
jamabentley: well we GET that URL, not POST18:17
jambut I would imagine it is still invoked18:17
rockstarabentley, did you ever finish your work with PreviewTrees?18:17
abentleyjam: awilkins is proposing that we post to it.18:18
abentleyrockstar: No.18:18
jamrockstar: it was pending a review from Ian, who is only just now out of hospital, and he didn't seem to think my :approve was enough :)18:18
abentleyjam: actually, I've just been slack.18:18
jamabentley: I'm pretty sure he is proposing that we post to .bzr/smart18:18
jamand use smart requests18:18
jamto do the probing18:18
abentleyjam: Before looking at .bzr/branch-format?18:18
rockstarjam, abentley, doh!  I can see the functionality being helpful.18:19
jamabentley: Again, we don't look at files before bzr+ssh:// or bzr://18:19
jamwe probe using the smart server18:19
jamSo for "bzr+http://" we could do the same18:19
jamI agree that doing so for "http://" isn't as reasonable18:19
abentleyjam: The possibility of accidental damage seems much lower over bzr: or bzr+ssh.18:19
Okkinjam: Too bad, it's not working18:20
jamThe possibility for accidental damage over "bzr+http://" isn't very high18:20
jamOkkin: what is happening?18:20
Okkinjam: bzr: ERROR: exceptions.ValueError: list.index(x): x not in list18:21
jamOkkin: sounds like an old bug which has been fixed18:21
jamare you using "--short" or "--long" for log18:21
jamAnd what version of bzr?18:21
abentleyjam: We can POST to a random CGI script.  That seems troubling to me.18:22
Okkinjam: bzr 1.618:22
Okkinjam: I follow exactly your command18:23
Okkinjam: no --short or --long18:23
jamOkkin: that is *after* doing the merge?18:26
jamweird, because it would have needed to pull the revision in18:26
Okkinjam:yes18:26
jamlet me check18:26
Okkinjam: I can see the begining of the message in the pending merges section of "bzr status"18:26
jamcrummy, I forgot about the -rrevid: bug when revision_id isn't in your ancestry...18:27
jamOkkin: ok, here's a nasty workaround18:27
jambzr commit -m "bogus"18:27
jambzr log -r revid:XXX18:27
jambzr uncommit18:27
jamIt will work fine18:28
jamjust is unfortunate18:28
Okkinjam: lol good idea18:28
Okkinjam: It worked, thanks a lot18:32
gour|awayjelmer: hello. just saw your email that you cannot reproduce #261878...any hint what to do?18:39
=== gour|away is now known as gour
awilkinsHPSS on IIS 6 : I think that protocol behaviour may have changed by the time 1.6 was out18:44
awilkinsI just ran a bzr ls bzr+http:// and it was all /smart requests18:45
jamawilkins: I would guess "bzr ls http://" would have an initial GET and then the rest would be smart requests18:46
awilkinsjam: Nope, it does the smarts first18:47
jamthat certainly could be something new18:47
jamin 1.6 or so18:47
awilkinsjam: Then it hits branch-format, pack-names, indices18:47
awilkinsTHe "meat" of the request is non-smart18:48
jamawilkins: so even if the smart request *succeeds* it still does non-smart requests?18:48
awilkinsjam: Looks that way18:48
jamthat is a bit surprising18:48
awilkinsjam: I'm not sure it's succeeding, theres a lot more hits18:49
awilkinsjam: Tell you what, I'll trace both and upload the sessions to a file bin18:49
jamawilkins: I have a strong suspicion it failed18:49
* awilkins cannot understand why it works fine for explicit bzr+ but not for plain18:49
Peng_Is there a 1.6-subtree format? If so, due to bug 262333, is it identical to 1.6-rich-root?18:50
ubottuLaunchpad bug 262333 in bzr "--1.6-rich-root uses wrong serializer" [Critical,Confirmed] https://launchpad.net/bugs/26233318:50
awilkinshttp://filebin.ca/uahmt/bzr_smart_ls.saz18:51
awilkinshttp://filebin.ca/uahmt/bzr_smart_ls.saz18:52
awilkinsBum18:52
awilkinshttp://filebin.ca/eywnh/bzr_dumb_ls_smart_server.saz18:52
jamawilkins: and .saz is?18:52
awilkinsThese are zip archives with a little website in each18:52
awilkins.saz "session archive zip" the output of Fiddler2 which is an MS proxy debugger18:53
awilkinsThe sessions are straight from a branch of lp:bzr/1.6 on windows doing an ls on IIS 7.0 on Vista, running a BZR HPSS via PyISAPIe in tandem with a dumb service via traditional "serve them files"18:56
awilkinsThe branch is the current tip of lp:bzr-java-lib18:57
jamawilkins: well, it gets to the point where it finds the Branch.last_revsion via smart requests18:57
jamand the containing repository18:57
jambut then it seems to connect a second time18:57
jamwhen opening the repo18:57
awilkinsHmm.18:57
jamso it finds a RemoteBranch and a RemoteRepository18:58
jamgrabs RemoteBranch.last_revision_info()18:58
jamand then re-opens a Repository18:58
jamdirectly18:58
jamand grabs the last-revision content18:58
awilkinsWhy does it step up the tree to the repo? The first session doesn't19:00
jamawilkins: care to put some debug statements in bzrlib, or are you using the standalone?19:00
awilkinsjam: I don't use the standalone, can't hack it19:00
awilkinsThat was from a branch ; my installed version is getting the "pycurl read bytes notimplementederror" problem19:00
awilkinsSuggestions where to shove debug?19:01
jamawilkins: the interesting command here is going to be BzrDir.open_containing_tree_or_branch19:02
jamawilkins: and the actual probing is in bzrdir.py around line 779 for "open_from_transport"19:03
awilkinsfind_format ?19:04
jamand at line 1604 is where it is supposed to be probing for the smart format19:04
jamRemoteBzrDir should be the first object it probes for19:05
jamline 2591 is where it is actually POSTing to the remote host19:08
jamin the medium.protocol_version() is the first POST19:08
jamwhich I see happening19:08
jamand getting a valid response19:08
jamhmm... it would seem the auto-probe does something weird19:09
jamin that it probes, finds a RemoteBzrDir19:09
jambut then using a regular Transport object for the final format.open()19:09
jamawilkins: so, the actual Transport object is different between "http://" auto probing19:11
jamand "bzr+http://"19:11
awilkinsOk, that's weird19:12
jamHTTPTransport.get_smart_medium() returns 'self'19:12
jambecause technically it can proxy the POST commands19:12
jambut it *doesn't* use the VFS19:12
jamof the smart server19:12
jamawilkins: so one possibility19:13
jamis to edit bzrlib/transport/http/__init__.py19:13
jam@ line 172 in "get_smart_medium()"19:13
jamand change that to19:13
jamfrom bzrlib.transport import remote19:13
jamreturn remote.RemoteHTTPTransport(self.base, http_transport=self)19:14
jamawilkins: that should prevent you from getting mixed GET and POST19:14
jamthe way it stands if you use plain "http://"19:14
jamit will serve all FS requests via plain http19:15
jambut any smart protocol requests via POST .bzr/smart19:15
jamIf you use bzr+http:// then even the FS requests go through POST19:15
awilkinsThat seems to cause infinite recursion19:15
jamabentley: what do you think, it almost seems valid to do it this way, as you say "cachable things get requested directly". But I can understand why in messes up awilkins19:16
jamawilkins: you might also need to supply "_from_transport"19:16
jamso it would be19:16
jamRemoteHTTPTransport(base, self, self)19:16
jamor put a bit cleaner19:17
awilkinsbzr: ERROR: exceptions.AttributeError: 'RemoteHTTPTransport' object has no attribute 'should_probe'19:17
jamRemoteHTTPTransport(base, self, http_transport=self)19:17
jamawilkins: that's just a bug in RemoteHTTPTransport, I'll check in a sec19:17
jamawilkins: change line 46 of bzrlib/transport/remote.py19:18
jamto: class RemoteTransport(transport.ConnectedTransport, medium.SmartClientMedium):19:18
jamso that it looks the same as HTTPTransport19:18
jam(that may break some of the super(self).__init__ calls19:18
jambut we'll try it first19:19
abentleyjam: It seems unnecessarily complex to have bzr+http and http behave differently in smart mode.  I would prefer using real HTTP, not VFS, but it's not critical.19:19
jamabentley: well, obviously awilkins prefers if we can get all-VFS19:19
jamsince IIS6 doesn't like doing both19:19
jamand our WSGI server doesn't implement GET requests19:19
awilkinsThe alternative is to work out how to "pass" the request to the next handler in the ISAPI extension I'm using19:20
awilkinsWhich I think means changing the C code for it19:20
abentleyjam: If IIS6 is going to be a thorn in our side, I can support using all-VFS.19:21
awilkinsAlthough I've not seem definitive documentation for it my hypothesis is that you need to call ServerSupportFunction with HANDLE_URL (or whatever the magic const is)19:21
abentleyjam: But it seems kinda strange to forbid plain http.19:22
awilkinsIIS 6 does support multiple "wildcard" handlers in a chain (including itself, one presumes) so it shouldn't be impossible19:22
jamawilkins: of course, you could just say: "use bzr+http://" if you want all smart requests19:22
jamand use "http://" for "mixed" mode19:23
jamawilkins: do you have a bug open for this, it seems worthwhile to add some commentary19:23
jamabout what we've found19:23
jamI also think that RemoteHTTPTransport *not* subclassing SmartClientMedium is a plain bug19:24
awilkinsjam: Yes, that is a viable workaround for me now I've discovered it forces all-smart19:24
jamthat just hasn't bit us yet19:24
awilkinsjam: ServerGuide/IIS discusses this now a little19:24
awilkinsIMHO it's more a bug in IIS 6 vs 7, or a missing feature opportunity in PyISAPIe19:25
jamawilkins: sure, though I would also like it documented about "mixed mode" since it is unclear whether it is intentional or a bug19:25
awilkinsBug going up now19:27
awilkinsThe other possible nasty frig would be to allow it to use URLS that ended /smart.bzr19:34
awilkinsBecause IIS6 can field things with file extensions, just not blunt ended URLs19:34
awilkinsBug #26236619:38
ubottuLaunchpad bug 262366 in bzr "Smart server uses mixed mode for HTTP URIs" [Undecided,New] https://launchpad.net/bugs/26236619:38
fbondHi, I don't really get what the record command is for.  I've been using looms for a while and I've never touched record.19:44
fbondAnyone care to explain it?19:44
mwhudsonfbond: it's like 'commit' for the whole state of the loom19:44
fbondSo I can pull an entire loom after I've recorded?19:44
mwhudsonfbond: given that the code hasn't been written yet for much of the stuff to do with sharing looms, it's a bit of an oddity right now19:45
mwhudsonfbond: that's the idea, at least19:45
fbondmwhudson: Ah.19:45
fbondmwhudson: So it might fit with future commands like "pull-loom"?19:45
mwhudsonfbond: and merge-loom! (which would be pretty cool)19:46
fbondmwhudson: merge-loom sounds scary.  I, for one, am not that interested in parallelizing conflicts. :)A19:59
mwhudsoni'm not entirely sure what it would mean19:59
=== mw is now known as mw|lunch
abentleyfbond: pull-loom already exists, as "pull".20:03
abentleyThis is why you have to record your loom before pull works.20:04
kiorkyjelmer: ping20:06
Leonidasis there a way to specify a date for a commit?20:07
kiorkyjelmer: i may have a bug for you with the bzr svn plugin20:07
kiorkyjelmer: when pulling from svn i got : http://www.friendpaste.com/quxKN9rQ20:07
kiorkyjelmer: look for the 'tgz' file20:08
kiorkyjelmer: i think this is this one causing the trouble20:08
kiorkyjelmer: someone of my team commits a 'tgz' in the tags directory ...20:08
fbondabentley: Does pull bring in every thread from the loom?20:08
kiorkyjelmer: *s/commits/commited/20:08
abentleyfbond: I believe so.20:08
fbondabentley: So what does record actually --well-- record?  Does it mean "the current state of the loom is the state that I would like pullers to receive." ?20:09
kiorkyjelmer: so the repo is something like trunk/ branches/ tags/a tags/File.tgz , moreover i tried to move the tgz elsewhere, but the problem persists20:09
kiorkyjelmer: (problem is that i cant pull from svn anymore :p)20:09
abentleyfbond: Yes.  At least, when people ask when they should record, lifeless says "right before you push".20:10
kiorkyjelmer: i removed .bzr/branch/tags, then re pull, it seems to be working, can you confirm it is safe ?20:12
fbondabentley: Hmm.  I probably don't use looms that way.  I'm wondering what the overall workflow that ends with "record" followed by "push" looks like.20:12
kiorkyjelmer: if you want a full bug report for that problem, just tell me.20:12
kiorkyjelmer: but i m a bit in a hurry for now.20:12
abentleyfbond: I have no idea.  This is an aspect of looms that I find frustrating.20:13
Leonidasor is there a way to specify a commit timestamp via bzrlib. I cannot find the implementation of workingtree.commit20:30
Leonidas(neither does IPython)20:30
james_wmutabletree.commit20:31
james_wI think20:31
james_wbut yes, you can20:31
jamLeonidas: "commit(timestamp=seconds, timezone=seconds_offset)"20:32
jamIt forwards the **kwargs on to bzrlib.commit.Commit.commit20:32
jamwhere you can see the actual argument20:33
jamand later on the20:33
jamif timestamp is None: timestamp = time.time()20:33
Leonidasjames_w: yeah, I just found it after digging deeper, thanks.20:33
Leonidasjam: thanks, that was what I was looking for.20:33
=== mw|lunch is now known as mw
hsn_can i push entire shared repo by single command?22:20
hsn_i would like it for backups22:20
jamhsn_: there is a multi-push command provided by bzrtools, IIRC22:21
lifelessabentley: do you have bzr-search installed?22:26
abentleylifeless: I don't think so.22:26
lifelessok, cool22:26
jam /cheer22:32
jamI just made "bzr branch bzr+ssh://" about 3x faster on my local machine22:33
jamturns out we were doing bad things with string reallocations during readv22:33
jam*very* bad things22:33
mwhudsonyay, in some sense22:33
mwhudsonyay for the improvement, not so much for the fact of the bug22:33
jamYeah, it might even make a 1.6.1 in my book22:34
jamAs it may solve a lot of the regression in fetch22:34
lifelessjam: cool22:35
lifelessjam: we have another regression too, marked critical in malone22:35
james_wyeah, I was going to ask about that.22:37
pickscrapemalone?22:37
lifelesslaunchpad bugs22:38
james_wnot sure whether we'll end up with 1.6 or 1.7 in Intrepid, but I'd like to keep track of important bugs in case it's the former22:38
pickscrapeAs in Bugsy Malone?22:39
jamlifeless: which one, I see a few Critical bugs22:39
jamThe "wrong serializer" I'm not sure that we can actually fix22:39
jamsince it would break anyone who is *using* 1.6-rich-root repos22:39
jamI think we would actually have to create a new repo format, and recommend people switch to it22:40
lifelessjam: the missing revision knits to packs22:40
jamlifeless: Upgrading encounters revision not present, that one I knew about, and you need to use bzr 1.5 to upgrade22:40
jambecause it uses .join()22:40
jamand then you can reconcile22:40
jamand things will be happy22:40
lifelessits still a pretty severe regression22:40
lifelessI mean, same logic, people can use 1.5 to pull22:41
lifeless:)22:41
jamlifeless: what would you suggest, you got rid of VF.join() and VF entirely22:41
jamI don't think we want to always request full texts22:41
lifelessjam: the bug has suggestions at the end of it22:41
jamOr is this the other regression22:41
jamWhere Revision objects would have 'delta' entries22:41
jamBecause we have the same problem with the old "Knits are referencing an delta entry that isn't in the file revision history"22:42
lifelesswell, I'm not entirely sure what do to; I'm thinking perhaps to make checK+reconcile on knit repos fix this22:42
lifelessRevision objects having delta entries22:42
jamwe fixed bug 217701, though I suppose it may have regressed again22:43
jam(not that it is creating deltas, but that we are having problems fetching them)22:43
jamAh, maybe it is because You and I changed the knit => pack fetcher22:44
jamIf it is *only* revisions.knit, I would be fine with changing that one to use "include_delta_closure=True"22:44
jamfullermd: any chance you could test the patch I just uploaded?22:49
jamjaypipes: ping22:49
jaypipesjam: pong. still haven't upgrade to 1.6 yet.  But I do have the .bzr.log to send you...22:50
jamjaypipes: sure, but I think I just wrote a patch which may help the performance for 1.622:51
jamAt least over the local network22:51
jamit drops my "bzr branch" time by about 1/3rd22:51
jaypipeswow, that's awesome.  Code in 1.6 already?22:51
jamjaypipes: well, it would be 1.7 now :)22:52
jamBut no, I just proposed it on the mailing list22:52
jamIf it is valid22:52
jamI might do a 1.6.1 for it22:52
jamjaypipes: http://bundlebuggy.aaronbentley.com/project/bzr/request/%3C48B71D9E.6080104%40arbash-meinel.com%3E22:52
jamis the patch if you care to follow its status22:52
jamI'm trying to get someone who specifically saw the problem22:53
jamto test it22:53
jamlifeless: on the good side, it makes bzr branch locally 2x faster than bzr1.5 as well22:53
jamwell, over bzr+ssh22:53
jambranch locally was already faster22:53
lifelessjam: its only that one22:59
lifeless(only that knit)22:59
jamlifeless:  care to comment on my possible patch23:01
lifelessfor fetch ?23:02
jamlifeless: yes23:02
jambasically, just force revisions and signatures to use fulltexts23:02
jamsince they should anyway23:02
jamalso, you would probably have more knowledge for the discussion on bug #25763723:02
jamI'm off for now23:02
lifelessgnight23:03
bratscheIs there an easy way to see what revision is the current ancestor of a particular branch?23:33
mwhudsonabentley: yay for the 3661 landing23:34
abentleymwhudson: Yay indeed.23:35
mwhudsononly two more horrific bugs i can think of (the stacked branch over hpss and wrong serializer ones)23:37
rockyjelmer: got a new error with bzr 1.6 + bzr-svn 0.4.11 today ....  http://cluebin.appspot.com/pasted/1001  ... not sure if it's specific to bzr-svn tho23:46
james_whttp://www.ubercart.org/docs/developer/629/bazaar23:57

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