/srv/irclogs.ubuntu.com/2009/02/18/#bzr.txt

fullermdbash?  People still use that?  :p00:02
Odd_Bloke*BSD?  People still use that? ;)00:02
* fullermd is single-handedly keeping it from dying.00:03
lifelesskeyboards?00:03
fullermd"The keyboard.  How quaint."00:03
Odd_Bloke(People still use those?)00:03
lifelessdoes anyone know what irc nick marius uses?00:04
lifeless99 round trips to push a new trivial branch00:06
abentleylifeless: amanic00:06
lifelessabentley: thanks00:06
fullermdTake one down, pass it around...00:07
lifelessfullermd: yeah looking at that :)00:07
lifelessvila: ping00:07
Odd_BlokeNext format: 'bottlesofbeer-core'00:07
AfCfullermd, Odd_Bloke: :)00:11
=== abentley1 is now known as abentley
lifelessthis is weird00:41
lifelesspqm hates my branch, but the failing test passes locally ><00:41
=== ameoba_ is now known as ameoba
poolielifeless: which test?00:50
lifelessbranch_implementations.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(RemoteBranchFormat-v2)00:52
lifelessbranch_implementations.test_branch.TestTestCaseWithBranch.test_branch_format_matches_bzrdir_branch_format(RemoteBranchFormat-default) passes00:52
lifelesswhich adds to the oddity00:52
spmlifeless: oops. let me just remove the "fail-lifeless'-branches-spuriously" config option from bzr pqm.... :-P00:53
lifelessspm: pqm runs make check yes?00:59
spmlifeless: yup (verified)01:00
lifelesspython 2.4?01:00
spmPython 2.4.301:02
spmin the chroot as in01:02
lifelessthanks01:03
=== orospakr` is now known as orospakr
thumperI have a repository object that is on my local filesystem01:37
thumperand I want to pull in some revisions from a remote branch01:37
thumperwithout creating a branch locally01:37
thumperhow do I do this?01:37
Odd_Blokethumper: Shared repositories are purely a storage mechanism.01:38
Odd_BlokeWhich is to say: there isn't a way.01:38
thumperOdd_Bloke: well, abentley told me there was a way :)01:38
Odd_BlokeBut branching into the shared repo and then deleting the branch should have the desired effect.01:38
thumperOdd_Bloke: and I think jamesh has done the before01:38
Odd_BlokeActually, 'bzr pull -r revid:... <REMOTE LOCATION>' might do it.01:39
jameshrepository.fetch() perhaps?01:39
Odd_BlokeAnd it's certainly possible in bzrlib.01:39
Odd_Bloke(Which it now occurs to me you might have been talking about. >.<)01:40
thumperjamesh: ta01:40
thumperah01:41
thumperha01:41
thumpery'know what01:41
thumperthis code is written already01:41
* thumper smacks himself01:42
baxissimoHowdy, I'm having trouble deciding how to convert my svn repo... where to draw the branch lines, basically.01:43
jameshthumper: the code I did for that bzr-gnomeserver plugin?01:43
thumperjamesh: no, it came from a gobby session I had with abentley01:43
jameshthumper: ah.  I think I did something like this in that gnomeserver plugin to make sure a repository contained all the revisions from another repository without creating a branch.01:44
thumperjamesh: yeah, I remember you writing it01:44
thumperjamesh: I'm working on my version of your old pending reviews01:45
thumperscript01:45
jameshmaking it launchpadlib aware?01:45
thumperyep01:45
thumperI have all the launchpadlib bits in place now01:45
thumperor will have very shortly01:45
jameshcool.  are you allowed to make that code public yet?01:45
baxissimoI've got top-level dirs in SVN like  app/ and lib1/ lib2/.  The libs are used by app/ but also could be used without app/01:46
thumperjamesh: it will be public as soon as it is written01:46
baxissimoBest to put all three in one repo? or three separate repos?01:46
thumperjamesh: users will be able to run it locally01:46
thumperhmm.. Branch.open doesn't like lp: style urls01:48
thumperload plugins maybe?01:48
thumperyep, that did it01:49
baxissimoAny advice?01:50
lifelessbaxissimo: 'bzr svn-import SVN-REPO-ROOT BZR-REPO-ROOT'01:51
baxissimolifeless: q isn't what command to use but whether it's better in general to have three .bzrs for three related but independent things, or one .bzr containing all three.01:52
lifelessbaxissimo: I don't think there is a general answer to the question01:53
baxissimoI frequently make changes to the libs same time as the app, so like being able to have all changes committed with one commit.01:53
baxissimoBut I'd also like to be able to branch just a lib or just the app.01:54
baxissimoIs it the case I have to pick one or the other of those capabilities?01:54
lifelessyes01:55
lifeless(sorry)01:55
baxissimoOk.  No, that's helpful.  Now I can stop looking for how to get both at once.  :-)01:56
baxissimoAny chance of "bzr externals" at some point a la svn externals?01:57
baxissimoI.e. have multiple branched locations collected in a single directory tree so that one update/commit/pull will hit all the locations.01:59
bob2I think you mean "branch" not "repository" btw :)01:59
lifelessbaxissimo: not yet, but there is some hope we'll get something soon01:59
bob2you can do that with the repo-push or multi-pull plugins01:59
baxissimobob2: grr.  Ok what do I call the stuff that's in a .bzr dir?02:00
baxissimobob2: That actually contains all the history02:00
lifelessbaxissimo: .bzr/repository is a repository02:02
lifelessbaxissimo: .bzr/branch is a branch :)02:02
bob2it might be simpler to just forget about repositories entirely02:02
lifelessbaxissimo: a .bzr can have either or both of these things (and more besides, like working trees [.bzr/checkout], search indices [.bzr/bzr-search], etc)02:03
baxissimobob2: ok.  I mostly meant "a place where all the history actually lives" as opposed to one of those lightweight or stacked branches that doesn't actually contain any history.02:03
lifelessbaxissimo: that is indeed a repository02:04
baxissimobob2: I'll check out those repo-push and multi-pull plugins.02:05
lifelessthey don't give you commit coherency02:05
lifelesswhich was one of the things you asked for02:05
baxissimolifeless:  so what do you call the .bzr dir that can have all of that?02:05
lifelessbaxissimo: a .bzr dir02:06
lifeless(literally, in the code its 'BzrDir')02:06
baxissimolifeless: .bzr dir.  Ok.  I'll see if I can remember that one at least.  :-)02:06
lifelessbaxissimo: you can't 'push' or 'checkout' or 'clone' or run nearly any UI commands just on a '.bzr' dir though - you generally have to have a branch [.bzr/branch] to run any UI commands02:06
lifelessbaxissimo: bzr is very focus on branch level operations02:07
baxissimolifeless: ok I was focusing on the .bzr dirs since they seem to be the easiest way to see if the files I have are all part of one branch or come from separate branches.02:08
lifelessbaxissimo: 'info' and 'branches' are two commands you might like02:08
baxissimolifeless: ok, but I can see right from Explorer if there's a .bzr or not without typing any commands.  :-)02:09
AfCShould we still be using curl or is it time to stop building with that?02:09
baxissimolifeless: what did you mean by "no commit consistency" -- that I'll have to issue commit once for each branch even with those plugins?02:10
lifelessbaxissimo: exactly02:10
lifelessAfC: ask vila on the list - he knows all https :)02:11
baxissimolifeless: so they make it so pulling/updating can be done with one command?02:11
lifelessyes02:11
AfClifeless: um, oh, right. I was using bzr:// so I guess curl doesn't come into it.02:13
AfClifeless: I was a bit surprised to see it sitting for 40 seconds at 0/7805 while it downloaded something huge and then over about 3 seconds cycled through all the integers up to 7805 and moved onto the next thing that it sat at 0/ for a while.02:14
AfClifeless: I naively wondered if the to-curl-or-not-to-curl thing was to blame.02:15
lifelessAfC: what release?02:15
AfC1.1202:15
AfClifeless: ^02:15
lifelessAfC: and were you seeing network download counters?02:15
AfCno02:15
AfClifeless: come to think of it, having seen a download counter in a pull was why I tried the raw branch02:15
AfClifeless: wanting to see what it said. Let me try again.02:15
lifelessthats odd, I was sure there was a patch to do network counters for bzr*://02:16
baxissimoDoes bzrtools work on Windows?  The lack of a .zip is usually a bad sign.02:16
* AfC notes that there seems to be an awful lot getting packed onto that progress line. I wonder if a standard 80 char wide terminal isn't wide enough02:16
AfCNope02:19
baxissimoDoh, [/me smacks forehead] looks like bzrtools are installed by default with the Windows installer.02:19
AfCthat's not a problem02:19
AfClifeless: I'd have to guess that the download counter only works over http transport.02:21
AfCAnd indeed 80 columns is NOT wide enough. Yetch.02:21
AfClifeless: yeah. It's http only (in 1.12, anyway)02:22
thumperAttributeError: 'RemoteBranch' object has no attribute 'supports_rich_root'02:23
thumperpoos02:23
lifelessthumper: branches don't affect rich root support02:23
lifelessthumper: what are you doing?02:24
spivThere's a patch for hpss download counters, but I didn't get time to decide how it should interact with vila's socket-wrapping approach for the HTTP ones.02:28
baxissimolifeless,bob2: ok, seems like repo-push isn't what I want.  I don't want to "push all branches to another [single] location", I'd want to push all branches to their different respective locations.02:28
spivSo I decided against rushing it into 1.12 late in the release cycle.02:28
baxissimoBut multi-pull looks good.  Thx for the pointer.02:28
bob2baxissimo: that's what repo-push does02:29
baxissimobob2: the command description makes it sound like it only works with 1 destination location.02:30
lifelessthumper: jml: mwhudson: lp:foo through proxies - http://docs.python.org/library/xmlrpclib.html#example-of-client-usage02:30
bob2baxissimo: yes...02:30
lifelessjamesh just dug that up02:30
bob2baxissimo: /local/foo/liba -> /remote/whatever/liba, /local/foo/libb -> /remote/whatever/libb02:31
bob2ideally, at least, it was broken last time I tried it02:31
baxissimobob2: ok, so you couldn't have  a --> /remote/whatever/a  b --> /somewhere/else/something/b then?02:32
thumperlifeless: repository.fetch from a branch02:32
lifelessthumper: b = Branch.open('remote')02:33
lifelessrefs = b.get_last_revision_info()[0] + b.tags.get_tags_dict().values()02:33
lifelessfor ref in refs: target.fetch(b.repository, ref)02:33
* thumper tries02:34
lifelessor something ~= to that02:34
thumperAttributeError: 'RemoteBranch' object has no attribute 'get_last_revision_info'02:37
thumperlast_revision()?02:37
lifelesslast_revision_info(), or sure, last_revision()02:38
thumperdoes bzr tag it's revisions in lp:bzr?02:41
thumper'cause I'm not seeing any using Branch.open('lp:bzr').get_tag_dict()02:41
thumperinsert a .tags in there too02:41
=== _[PUPPETS]Gonzo is now known as [PUPPETS]Gonzo
lifelessthumper: there is something weird with pqm, they don't propogate through the merge process02:47
lifelessthumper: in the general case, tags for releases aren't in trunk anyhow02:47
lifelessthumper: anyhow, see that link above?02:47
lifelessthere is a bug/limitation in the bzr-lp plugin which it allows fixing02:48
thumperwhich one?02:48
thumperthe docs.python.org one?02:48
lifelessyes02:49
lifelessthumper: bug 330823 - its a dup of a much older one02:59
ubottuLaunchpad bug 330823 in bzr "Branching from Launchpad (direct via http) fails behind HTTP/DNS proxy" [Undecided,New] https://launchpad.net/bugs/33082302:59
thumperbase = graph.find_unique_lca(rev1, rev2)03:06
thumperwhy does this raise ObjectNotLocked?03:06
lifelessthumper: because your backing repository isn't locked03:07
thumperlifeless: and I lock and unlock how?03:07
lifelesswe used to autolock but had too many cases of 'its slow because its continually refreshing the object list'03:07
lifelesstree|branch|repository.lock_read(), unlock()03:08
* igc heads off for lunch & medical stuff03:09
lifelessthumper: why do you need that though?03:10
thumperlifeless: ;-) you'll see03:10
thumperbzrlib.errors.NoCommonAncestor: Revisions have no common ancestor:03:11
thumperI don't believe it03:11
thumperhow can I manually confirm?03:13
thumperI think it is lying to me03:13
jmllifeless: I wonder if 2.4 supports that: http://www.python.org/doc/2.4.4/lib/module-xmlrpclib.html03:14
lifelessjml: if it doesn't, we could version-check03:15
jmllifeless: anyway, I *think* I knew about that already :)03:15
thumperabentley: ping03:17
* thumper calculates time zones03:17
* thumper thinks abentley may still be up03:17
lifelessthumper: you can traverse the graph by hand, but its not lying to you03:17
thumperlifeless: the graph is obviously not complete03:18
thumperlifeless: as the revisions are related03:18
bob2baxissimo: you can, but afaik repo-push nor multi-pull will do it for you03:18
lifelessthumper: or something; but without some details on what you're doing I can't comment sensibly03:18
thumperlifeless: I have a repo with no branches but a bunch of revisions03:18
thumperlifeless: which I have populated with repository.fetch yadda yadda03:19
bob2baxissimo: in practice 'for dir in *(/); (cd $dir ; bzr pus) ; done' may suffice03:19
thumperlifeless: I'm trying to generate preview diffs without using working trees03:19
thumperlifeless: abentley tried to give me an outline03:19
thumperlifeless: and we're close03:19
thumperlifeless: I've got it so I get the repository populated with the revisions03:19
thumperlifeless: but I need to work out the lca to pass into the 3 trees merger03:20
thumperlifeless: or preview tree thingy03:20
thumperlifeless: I'm at the stage of trying to find the lca03:20
lifelessthumper: and why are you sure the revisions are related?03:21
thumperlifeless: because I branched one from the other03:22
thumperlifeless: one is lp:pqm03:22
thumperlifeless: and the other is one of my pqm branches03:22
thumperlifeless: so I'm pretty sure they are related03:22
lifelesswell03:22
lifelessmake sure you're using the right key type03:22
lifelessif graph is repository.get_graph(), its a simple string otherwise its a key tuple03:23
thumperrev1, rev2 = repo.get_revisions(['my-revid', 'trunk-reviid']) # not real revids03:24
thumperI used repository.get_graph()03:24
thumperbase = graph.find_unique_lca(rev1, rev2)03:24
lifelesssecondly, you don't need a shared repo for this sort of thing if you have recent repositories you can just add a temporary fallback repo during the calculation03:24
thumperlifeless: lets just say I have a local copy of all the revisions03:25
lifelesssure, just letting you know :P03:25
thumperso why does the graph not think they are related?03:25
spivWe really should improve the "here's a traceback, please file a bzr bug" message to peek at the traceback to see if a plugin is obviously involved, and if so blame the plugin rather than bzr...03:26
jmllifeless: can you please take a look at https://bugs.launchpad.net/bugs/33082303:26
ubottuUbuntu bug 330823 in bzr "Branching from Launchpad (direct via http) fails behind HTTP/DNS proxy" [Undecided,New]03:26
abentleythumper: You rang?03:26
lifelessjml: in what sense03:27
thumperabentley: yes, I'm having mad issues03:27
abentleythumper: lol03:27
thumperabentley: I have my local repo with revisions now03:27
thumperabentley: but the graph doesn't seem to think that the two revs are related03:28
lifelessjml: oh its a more complex report than I knew03:28
abentleythumper: Well, it's possible they're not...03:29
thumperabentley: the branches that they are from are related03:29
abentleyHow are you creating them?03:29
thumperabentley: pulled from real branches03:30
abentleythumper: Can you run bzr find-merge-base against them?03:30
lifelessthumper: oh03:30
lifelessthumper: don't pass in revision objects03:30
lifelessthumper: pass in revision ids03:31
thumpergrr03:31
lifelessnearly everything works in terms of identifiers03:31
lifelessfull revision objects are expensive when not needed03:31
thumperthe docstring says revision not revision_id03:31
thumperso I assumed revision objects03:31
lifelessfair enough03:31
abentleythumper: Sorry, I'm a bit sloppy with that distinction.03:32
thumperhah03:32
thumperhave a base now03:32
* thumper attempts to generate a preview diff03:33
kkubasikhey, anyone know if/when a osx 10.5 installer will be available for 1.1203:33
thumperabentley: where does the preview tree code live?03:33
mwhudsonkkubasik: i saw some swearing in here about bzr-svn on os x, so hopefully soon03:34
kkubasikslash, I'm totally willing to build it if anyone can point me to how the 1.11 package was built03:34
abentleythumper: In transform.py, but you won't use it directly.03:34
kkubasikmwhudson: thanks!03:34
thumperabentley: so given base_id, rev1_id, and rev_2 id03:34
thumperabentley: and a repo03:34
thumperabentley: what do I do to generate the treeless diff?03:34
abentleythumper: Instantiate a Merge3merger03:35
thumperfound in?03:35
thumpermerge?03:35
abentleythumper: merge.py03:35
mwhudsonthumper: have you seen http://pastebin.ubuntu.com/119504/ ?03:35
mwhudson(from my lpreview hackery(03:35
jamkkubasik: there is already one uploaded last I checked03:35
abentleythumper: You'll need to get RevisionTrees for all the revisions first.03:36
thumperabentley: a Merge3Merger wants working trees03:36
mwhudsonme has a shiny loggerhead branch he wants everyone to try!03:36
jamah, only a 10.4 one here: https://edge.launchpad.net/bzr/1.12/1.1203:36
jamnot sure why03:36
mwhudsonlp:~mwhudson/loggerhead/unified-by-default-sbs-by-ajax03:36
abentleythumper: Yeah, but you can get away with just revisiontrees.03:36
jamor if it matters03:36
thumperabentley: RevisionTrees are created how?03:37
thumpermwhudson: I have no real trees03:37
abentleythumper: Repository.revision_tree03:37
jamthumper: repository.revision_trees([revision_id1, revision_id2])03:37
mwhudsonthumper: neither does that code03:37
kkubasikjam:at  https://launchpad.net/bzr/+download ?03:38
mwhudsonbranch.basis_tree() == branch.repository.revision_tree(branch.last_revision())03:38
kkubasikI can't find one....03:38
abentleythumper: Make sure you pass in do_merge=False.03:39
thumpermwhudson: I don't have a branch03:39
mwhudsonthumper: but you have a repository and a revision tree03:39
jamkkubasik: On the page you linked, I see: Bazaar-1.12-OSX10.4-universal.dmg03:39
mwhudsonthumper: but you have a repository and a revision id03:39
mwhudson(rather)03:39
jambut you're right that I don't see a 10.5 one03:39
jmllifeless: thanks03:40
kkubasikjam: yeah, i need OSX10.503:40
thumperhmm03:41
thumperKeyError: 'pop(): dictionary is empty'03:41
thumperline 1694, in _iter_inventory_xmls03:41
thumper    chunks = text_chunks.pop(key)03:41
thumperthat is attempting repo.revision_trees03:41
baxissimoWhy doesn't this work?:  bzr svn-import --trees http://svn.dsource.org/projects/multiarray/trunk/multiarray/dflat03:42
abentleythumper: that's odd-- it should just fail if it can't find the right inventories.03:42
thumper:(03:44
abentleythumper: Did you pass revision_ids in as a list?03:44
thumperyes03:44
thumperbase_tree, rev1_tree, rev2_tree = repo.revision_trees(base, rev1, rev2)03:45
thumperhang on03:45
thumperwrong line03:45
abentleythumper: That should be  repo.revision_trees([base, rev1, rev2])03:45
thumperbase_tree, rev1_tree, rev2_tree = repo.revision_trees([base, rev1, rev2])03:45
thumperI tried the first after the second03:45
thumperbut it failed with wrong number of args03:45
thumperbase, rev1 and rev2 are all revision ids03:46
abentleythumper: Can you put a pdb in _iter_inventory_xmls where it's looping through records?03:47
* thumper wonders which bzrlib he's using03:47
thumperabentley: I'm in the interactive interpreter right now03:48
thumperso I should just be able to invoke pdb03:48
thumperand set a break point right?03:48
abentleythumper: Could be.  I always do it the hard way :-)03:48
thumperok03:49
thumperabentley: do you want to skype?03:49
abentleythumper: sure.03:50
spivbaxissimo: file a bug on bzr-svn04:12
baxissimospiv: is making a repo with init-repo first a requirement?04:13
spivbaxissimo: not04:13
spiv"no", rather04:13
baxissimospiv: Ok.   I'll file a bug.04:14
spivbaxissimo: cool.  jelmer's pretty good at fixing them :)04:14
jblountCan someone tell me why I get this response from launchpad-login ? http://dpaste.com/121983/04:18
spivjblount: hmm, because of a bug with progress bars04:19
lifelessits not being ifnished()04:20
baxissimospiv: submitted https://bugs.launchpad.net/bzr/+bug/33083204:20
ubottuUbuntu bug 330832 in bzr "svn-import doesn't import anything" [Undecided,New]04:20
spivjblount: I don't think that bug has been reported yet04:21
* jblount heads off to LP04:21
lifelessor possibly its reporting when there isn't a progress bar?04:21
jblountlifeless: I could take a video if you like, but it does go into "progress bar mode" briefly and then report the paste.04:21
jblountfwif http://etc.joshuablount.com/bzr-launchpad-login-weirdness.ogv04:26
lifelessjblount: heh04:27
lifelessyou have far too much bandwidth04:27
Peng_Are those progress bar warnings disabled in release builds?04:27
lifelessPeng_: not yet04:28
jblountlifeless: :)04:28
Peng_...That's unfortunate.04:28
jameshperhaps using "script" might produce a more australia-friendly recording04:28
jameshactually, that is a fairly small ogv04:29
jblount49KB04:29
pooliejblount: is that perfectly reproducible?05:41
poolieand thanks for the video, i think that's the first time i've seen one used in a bug report05:41
baxissimoIf I have branches foo/ and bar/ how can I reorganize that so bar is under foo -- like foo/bar?06:15
baxissimomerge keeps telling me they have no common ancestor.06:16
baxissimooh... bzr merge -r0..-1 is the magic I'm looking for.06:21
baxissimoDang, I merged into the wrong place.  Is there an undo?06:22
pooliebaxissimo: bzr revert06:23
pooliebaxissimo: probably you want to just make a checkout of bar under foo06:24
baxissimofoo/ already has foo/baz and foo/bif as part of the same branch though.06:25
baxissimopoolie: bzr revert ... very nice.06:25
baxissimoSo ... think about it more actually maybe what I'd rather do is break baz and bif into their own branches.  They are all pretty independent.06:30
lifelessbaxissimo: there is a merge-into plugin too06:37
baxissimolifeless: that sounds like what I'm after.  But I guess it pretty much just does a merge 0..-1.06:39
vilahi all07:01
pooliehi vila!07:03
davidstraussIs there an efficient way to unmerge a branch?07:04
baxissimodavidstrauss: bzr revert I think07:05
davidstraussbaxissimo: I mean one that's long committed.07:05
pooliedavidstrauss: you can uncommit07:07
davidstraussThe merge is about 20 commits down.07:07
baxissimoCan I somehow change a repo to --no-trees after it's already created?07:59
jfroybaxissimo: right now not through bzr08:01
jfroyhowever, you can simply touch .bzr/repository/no-working-trees08:01
davidstraussjfroy: What about http://doc.bazaar-vcs.org/bzr.dev/en/user-reference/bzr_man.html#remove-tree08:02
jfroythat operates on a branch08:02
davidstraussOr do you mean shared storage08:02
davidstraussoh08:02
jfroyI think baxissimo was asking about the --no-trees option for repositories08:02
baxissimoI have a shared repo that I just filled up with a bunch of different branches.08:03
davidstraussWell "repository" can mean many things in Bazaar.08:03
jfroyNo :p08:03
jfroyA repository is what gets made by init-repo :p08:03
baxissimoNow I'm thinking I'd like to convert all those branches to --no-trees style.08:03
davidstraussjfroy: No. "A branch consists of the state of a project, including all of its history. All branches have a repository associated..."08:04
jfroybaxissimo: touching that file will turn on the no trees option on the repo.08:04
davidstraussjfroy: And not all branches use shared storage.08:04
jfroyYou'll need to remove-tree on any existing branch however08:04
baxissimojfroy: remove-tree before or after touching the file?08:04
jfroydavidstrauss: don't actually consider that relevant. Branches may have internal storage of their deltas or use external storage e.g. a repository08:05
davidstraussjfroy: The fact that there's a command "init-repo" doesn't change that all revision storage, branch-local or not, are called "repositories."08:05
jfroySaying that "branches may contain a repository" just confuses things.08:05
jfroyIMO08:05
jfroyBut, I suppose, "shared storage" is more accurate.08:05
davidstraussjfroy: Well, then the docs need updating, because the quote I pulled was from them.08:05
jfroyI'm aware of that.08:05
davidstrauss"All branches have a repository associated"08:05
davidstrausshttp://doc.bazaar-vcs.org/bzr.dev/en/user-reference/bzr_man.html#remove-tree08:05
jfroyBut the confusion about bzr shared repositories is well known...08:06
baxissimobzr terminology is definitely confusing.08:06
jfroyWhich is rather unfortunate.08:06
jfroybaxissimo: it isn't, once you have clearly separate things08:06
davidstraussAnd "shared storage" doesn't mean it's a repository in the collaborative "main line" sense, either.08:06
jfroyIt's shared by many branches.08:07
davidstraussI use shared storage on my laptop to avoid pulling revisions twice for my own dev branches08:07
jfroyAnd yes, again, the terminology isn't as clear as it could be.08:07
jfroyBut the concepts are, however.08:07
davidstraussjfroy: Also: "Repositories in Bazaar are where committed information is stored."08:07
davidstraussjfroy: That is true of non-shared storage, as well.08:07
jfroyI ind that quote, again, unfortunate.08:08
jfroy*find08:08
jfroyIt's unnecessarily confusing.08:08
davidstraussAnd: "By default just running 'bzr init' will create a repository"08:08
jfroyRepositories are such an unimportant, technicality of bzr.08:08
jfroyThe core concept is that of a branch.08:08
davidstraussAgreed08:08
jfroyinit creates a branch08:08
jfroyrepository has clearly defined semantics by virtue of other, past VCS08:09
davidstraussAll I'm doing is quoting the docs08:09
jfroyI know08:09
baxissimoI think it would help if the words were more often coupled with their concrete implementation08:09
jfroy:|08:09
baxissimoLike a repository is generally implemented as a .bzr/repository directory containing the data.08:09
davidstraussAnd saying I'm justified for not assuming removing a tree from a repository means from shared storage ;-)08:09
baxissimoThat helps demystify the terms I think.08:10
davidstraussBazaar should stop using the term repository entirely, I think08:10
jfroyI agree08:10
jfroywell a tree is its own thing08:10
davidstraussYes08:10
baxissimoAnd instead .... "revision store" or something liek that.08:10
jfroya "bazaar", so to speak08:11
baxissimoWhat would you call it instead?08:11
davidstraussjfroy: Just saying that "How do I remove (a) tree(s) from a repository?" is an ambiguous question with current terminology.08:11
jfroy*rimshot*08:11
jfroyIt is, unfortunately.08:12
davidstraussUnless you have a shared mainline. Then it's a cathedral. ;-)08:12
baxissimo:-)08:12
luksI think it's just wrong, repositories can't have working trees :)08:12
jfroyAnd they don't!08:12
jfroybranches do08:12
jfroybut the repository no-tree option affects branches pushed to the repository08:12
jfroyit's a pragmatic option08:12
luksthat's a configuration option08:12
jfroythat lives in a poorly defined semantic space08:12
luksnot a tree08:12
luksI personally think the term repository makes perfect sense08:13
davidstraussI'd rather have Bazaar kill shared storage and merely use a shared revision cache. I don't care about disk space. I care about performance.08:13
jfroyI meant the option is there because it provides a solution for storage of remote branches on a server that don't need working trees.08:13
jfroyNo, I think shared storage is great.08:14
davidstraussAnd disk space can be saved pretty effectively with stacked branches, anyway08:14
jfroyIt's a powerful tool to optimize your branch storage.08:14
jfroyHowever, I agree there needs to be an automatic *cache* fallback.08:14
davidstraussShared storage is inherently flawed because of the impossibility of safe garbage collection.08:14
jfroyThe use case of "branch remote branch, branch local branch" needs to be addressed perfectly with 2 branch commands at optimum speed, no matter the user configuration.08:15
AfCjfroy: I think what davidstrauss is trying to say is that if there was a global (per user, whatever) revision store then no one would need to ever think about setting up the structure where a shared repository can work.08:15
luksyou have the same problem with stacked branches08:15
jfroyIt's a do-or-die use case IMO.08:15
AfCAnd since most people screw that up the first time, and changing to it later is also a pain in the ass, I tend to support the notion.08:15
davidstraussAfC: Correct, at least for the sake of performance.08:15
luksunless you store list of branches in the repository, it's impossible to do gc08:15
jfroyThat's an interesting point.08:15
asabilI also agree with davidstrauss08:16
davidstraussBut I think that revision store should be a cache, not canonical storage.08:16
davidstraussI should be able to safely delete or gc it.08:16
AfCdavidstrauss: well, if you mean performance as in "not setting things up in such a way that causes you do duplicate network I/O" then sure.08:16
AfCdavidstrauss: But otherwise, if anything, such a hypothetical global one shot revision store would slow things down by the mere fact of having [way] more revisions in it that need indexing and searching through than a given individual project would have.08:16
luksehm, where would it store revisions then?08:16
davidstraussluks: locally with the branch08:17
davidstraussluks: the cache would be to save network I/O08:17
luksdavidstrauss: what's the point of revision store then?08:17
jfroyshared revision storage saves a ton of time for local branching as well, however08:17
davidstraussrevisions have globally universal IDs, a local cache of the last X MB of revisions I pulled would do wonders for my frequent branching of drupal08:18
AfCdavidstrauss: all that said, if you go ahead and `bzr init-repo ~` you'll have your global revision store.08:18
luksdavidstrauss: so if you have 5 branches of the same project, instead of having them stored once, you have stored them 6 times?08:18
jfroydisks may be orders of magnitude faster than network, but they're still slow08:18
luksthat's insane, IMO08:18
davidstraussAfC: http://fourkitchens.com/blog/2009/02/09/no-brainer-shared-branch-storage-your-workstation08:18
jfroylocal branching within a shared repository is nearly instantaneous, as it should be08:18
AfCdavidstrauss: and given that you have enough knowledge to be having this conversation, why on earth have you not just used a shared repository at .. or wherever as the developers of Bazaar want you to do?08:18
davidstraussluks: The idea that the shared storage accumulates cruft that I can't clean up bothers me.08:19
jfroyit may be worthwhile to have bzr gc08:19
davidstraussAfC: That's exactly what the guide I linked (that I also wrote) describes08:19
davidstraussAfC: And I do that08:19
AfCdavidstrauss: fine. So what's the problem?08:19
luksdavidstrauss: more than duplicating the data all over the disk?08:19
asabilwhat about some kind of automatic branch stacking ?08:19
davidstraussAfC: It's clunky08:19
davidstraussI think branch stacking is the real answer, combined with multi-level caching.08:20
asabillocal automatic branch stacking ?08:20
jfroyI'd say that it's additional mental load that users of the other DVCS don't have to deal with08:20
luksI don't like branch stacking at all08:20
asabilsuppose that I branch http://foo.bar/baz into ~/mybranches/baz08:20
davidstraussBranch stacking is bad now because it's not horizon-based.08:21
luksI want to have the full history right there where I'm working08:21
davidstraussYou should have a certain amount of history08:21
asabiland then try to branch again from the same location, it can try to stack it on the branch in ~/mybranches/baz08:21
davidstraussasabil: Yes, but you're still thinking from the perspective of a user who knows Bazaar internals.08:21
asabildavidstrauss: how so ?08:21
davidstraussasabil: You know that you can branch locally and stack off that for efficiency.08:22
asabildavidstrauss: no, that can be automatic08:22
davidstraussasabil: To search for a local branch to stack off of?08:22
asabilthe cache can keep a (remote branch => local branch)08:22
asabiland stack based on that information08:23
davidstraussasabil: That's basically what I mean.08:23
asabilor not even stack, just copy the revisions from the local branch08:23
davidstraussNow, I'm always thinking from the perspective of Drupal developers. We want to branch cheaply, have a bit of local history, and not have to think too hard about it.08:24
asabildavidstrauss: I see your point08:24
davidstraussAnd almost everyone will branch from the master server.08:24
davidstraussOnly advanced users would think to branch locally and re-branch from that or use shared storage.08:25
luksI don't see how running bzr init-repo _once_ is a problem08:25
davidstraussOnce merged, we typically delete the local branch.08:25
davidstraussluks: It continues to grow, and you can't gc it.08:25
davidstraussluks: Nor is there an obvious method for gc'ing it that we could implement.08:26
luksdavidstrauss: I uncommit or develop dead-end branches very rarely08:26
luksso I don't find that a problem08:26
asabilluks: the current approach used by bzr, is to *just work* by sacrificing the performance08:27
asabilthe proposed approach is the *just work* by sacrificing the disk space usage08:27
jfroywell, you could do a breath-first traversal of the fs starting at the root of the shared repository, build a set of live branches, then delete any changeset no longer required by the set of branches you found.08:27
jfroyBut that may be a time consuming process.08:27
davidstraussjfroy: And incorrect.08:27
davidstraussjfroy: You can move a branch using shared storage to a non-child location from the shared storage.08:28
luksasabil: using any tool without reading at least it's basic documenation is wrong, IMO08:28
jfroyyou would destroy that branch08:28
davidstraussjfroy: Yes, and that's unacceptable for safe gc.08:28
jfroyyou need to push it outside the scope of the shared repository, at which point it has a complete history08:28
luksasabil: if the user can't find out that running bzr init-repo is an important step, there is a bug in the documentation08:28
davidstraussWhen you have a community as large as Drupal's, we can depend on most users not reading the docs.08:29
luksdavidstrauss: ehm, you can?08:29
jfroywhich means any branch not under the root of the shared repository can effectively be considered "no stored in this repository", which would let you find dead-ends in the histories, e.g. deleted branches,08:29
luksdavidstrauss: if you move the branch, it will be broken08:29
asabilluks: I'd say it is a bug in the human behavior :p08:29
jfroyluks: I disagree there08:30
jfroythe *less* mental load you *force* on your user, the better08:30
davidstraussluks: Don't branches using shared storage refer to their shared storage with an absolute path?08:30
jfroybzr is worse than hg and git in that respect, period.08:30
asabilluks: do you read the documentation of the appliances you buy ?08:30
luksdavidstrauss: no08:30
luksdavidstrauss: they just traverse directorties until they find a repository08:30
davidstraussluks: when you create them08:30
davidstraussluks: but what if you move them later?08:30
luksdavidstrauss: outside of the repository, using mv? you have a problem08:31
jfroythey break if you move them above the shared repo08:31
jfroyIIRC anywhere under the shared repo is fine08:31
luksasabil: yes, I do08:31
asabil:)08:31
luksnot all of it08:31
luksbut the "how to start" parts08:31
jfroyluks: you are far more diligent than most people then :p08:31
lukswell, it takes longer to figure it out myself than to read it08:32
jfroyI'd also like to remind one of the strongest argument of bzr over its competition is ease of use (particular w/r to git)08:32
luksbzr by default works just fine08:32
jfroyThe need to know about, understand and setup share repositories, even once, takes away from that.08:32
davidstraussInteresting. They do fail if you move them, despite claiming to refer to the shared storage using an abs. path on creation.08:33
luksif it's too slow, it's because the usert didn't read the docs08:33
jfroyluks: but unacceptably slowly08:33
jfroythat answer is arrogant, to some extent08:33
luksjfroy: at that point the user will be forced to read the docuemntation08:33
luksyou can't use svn/hg/git/csv without setting up a repository08:33
luksyou *can* do that with bzr08:34
davidstraussluks: You can git init in place.08:34
davidstraussluks: The difference is that git inherently uses shared branch storage because of its branching model.08:34
luksdavidstrauss: that sets up a shared repository as well08:34
thumperjfroy: the core devs are looking into making the first impressions better08:34
jfroythumper: I'm certain they are08:34
thumperjfroy: which does include better stories around shared repos and inital working08:34
davidstraussluks: There's no such thing as non-shared git branch storage AFAIK08:34
luksdavidstrauss: right, neither there is for subversion, for example08:35
davidstrausscorrect08:35
jfroythumper: I don't care what the solution is. I care about the use case. "Branch from a remote branch, then branch locally is way slower under Bazaar if you don't care / know about shared repositories."08:35
jfroyThat use case should be as simply as "bzr branch http://... foo; bzr branch foo bar"08:36
jfroyNothing less.08:36
jfroy*Nothing more.08:36
davidstraussA cache would solve that.08:36
jfroy*as simple08:36
jfroydavidstrauss: or implicitly initializing a shared repository in the parent when checking out a remote branch08:37
thumperjfroy: I understand08:37
davidstraussEspecially if the answer I'm getting for the flaws in shared storage is that disk space doesn't matter if it makes life easier.08:37
luksjfroy: in the parent directory?08:37
jfroyI think there is a place for discussion on the how, but now the need to do something.08:37
luksoh08:37
asabildavidstrauss: the best would be to write a plugin that does what you want08:37
jfroyI dislike plug-ins.08:37
asabiland hopefully it will become part of the core08:37
davidstraussThis ought to be in core.08:37
jfroyIt's yet more stuff to worry about to get going.08:37
thumperjfroy: well, bzr loves them :-|08:37
davidstraussSome things should be plugins.08:37
jfroyplug-ins are fantastic to expand on the program and integrate bzr08:38
asabildavidstrauss: yes, but it would be a very good proof of concept08:38
thumperI agree that the core story needs to be better08:38
jfroyBut there's so much good stuff in them that you basically need bzr distros at this point.08:38
thumperas do almost all the core devs08:38
davidstraussThe fundamental code to pull revisions quickly should not be a plugin.08:38
thumperif you have a really strong opinion, let kfogel know08:38
asabildavidstrauss: I agree ! but you have to start somewhere08:38
thumperhi emmajane08:38
luksI think having this would come at the price of making bzr less flexible08:39
asabildavidstrauss: discussions don't lead to anything08:39
emmajanethumper, morning :)08:39
davidstraussasabil: Understood. We have a similar philosophy in Drupal. Try it out in contrib, and we might migrate it to core.08:39
asabildavidstrauss: then apply that philosophy to bzr :p08:39
davidstraussluks: How would a ~/.bzrcache or something cost flexibility?08:39
jfroyluks: I'm not certain about that. bzr could establish a heuristic for branch history storage that maintains its flexibility.08:39
asabildavidstrauss: bzr-svn already uses a cache, you can take a look at it08:40
luksdavidstrauss: it forces you to certain workflows08:40
davidstraussluks: I'm not suggesting removing shared storage, at least right now.08:40
luksthe cache would take a lot of space, and it wouldn't be possible to have it on every machine08:40
davidstraussluks: The cache would be used when you're not using shared storage.08:40
luksthere are e.g. deployment machines, where you would explictly not want it08:40
davidstraussluks: And there could be an option to not use one, possibly on the user level.08:41
asabilwait wait08:41
asabildavidstrauss: are you talking about a revision cache ?08:41
lukswell, this seems just wrong to me08:41
jfroyI agree with david on those principles.08:41
jfroyit is, after all, only an extension of the current mechanism.08:41
davidstraussasabil: Yes, one bzr can check before pulling from a remote server.08:41
jfroyWhere bzr will search for shared storage, and if that search fail store history in the branch itself.08:41
asabildavidstrauss: I would rather create a remote -> local uri mapping cache08:41
davidstraussasabil: So, the result of not using shared storage would be wasted disk but not much lost performance.08:41
jfroyA cache would only introduce an additional step in that process.08:42
jfroy*with the caveat that by definition a cache can be deleted safely at any time*08:42
davidstraussjfroy: Which is very good.08:42
jfroyAnd that, I think, is the biggest problem of a per-user cache.08:42
jfroyNo, it's a very difficult design problem w/r to bzr.08:42
asabildavidstrauss: that way you don't need to store the revisions in the cache08:42
luksjfroy: I can already see users downloading hundrets of bzr data, just to see how the code looks like, then deleting it08:42
jfroyit essentially means history duplication and atomicity nightmares.08:42
luksjfroy: what will happen with the cache?08:43
davidstraussjfroy: How could you have atomicity nightmares? Revisions are keyed with globally unique IDs.08:43
lukser, +megabytes08:43
davidstraussjfroy: It's a cache designers dream.08:43
jfroyImplicitly, if the cache can be deleted, you need to store revisions elsewhere as well, don't you?08:43
davidstraussdesigner's*08:43
jfroyHence, 2 FS operations.08:43
davidstraussjfroy: Yes, but the cost of the FS operations is trivial compared to Internet I/O.08:44
jfroygranted, if the operation on the cache fails, then the cache will simply be missing data, which by design is not an issue08:44
jfroyI disagree to some extent with that.08:44
jfroyDisk operations are costly in time and energy.08:44
luksdavidstrauss: this going in circles, if the FS operation is cheap, why not use standalone repositories?08:44
jfroyLess so than network, but they are.08:44
davidstraussluks: Because you end up downloading all revisions over and over again.08:45
lifelessalso, note that we're looking at shrinking the size of repos by nearly an order of magnitude08:45
luksdavidstrauss: no, you end up copying the data from your disk08:45
davidstraussluks: Are we talking with or without caching?08:45
lifelessI've been down the cache route before with 'arch', and I think its a sign of a different problem if you need one08:45
jfroyFor example, if I'm using a laptop on battery to do some hacking on the move, I would want all software on my computer to do as little IO of any kind as possible.08:45
luksdavidstrauss: assuming this is about "bzr branch http://.. foo; bzr branch foo bar"08:45
luksdavidstrauss: without08:45
jfroySo I'm certainly not ready to call disk IO "cheap".08:45
davidstraussluks: No, it's about repeatedly branching from a remote URL.08:46
davidstraussluks: Which is the common case for large projects with many contributors.08:46
lifelessdavidstrauss: is it because shared repos are too hard to setup? / not default?08:46
jfroydavidstrauss: mmm this suggests 2 problems, possibly08:46
lifelessdavidstrauss: if so thats under discussion at the moment anyway08:46
jfroyperhaps we could have a remote branch cache08:46
luksdavidstrauss: well, you lost me there. I think think that case needs special handling at all08:47
jfroyused only on protocols that are known to be "remote"08:47
luksif the developer is branching from the URL multiple times, they should know about shared repositores08:47
jfroythen we can worry about fast local branching as a separate concern, to be addressed perhaps in tandem with this remote branch cache.08:47
davidstrausslifeless: I'm trying to think about what would happen if Drupal moved to bzr.08:47
davidstrausslifeless: The common case for developers would be to branch from a remote URL. We cannot expect most users to create shared storage.08:48
davidstrausslifeless: How can we make that fast?08:48
luksdavidstrauss: branching from CSV requires you to re-download the data as well, is it that different?08:48
luksCVS08:48
davidstraussluks: CVS checkouts are lightweight.08:48
davidstraussluks: And you can do lightweight checkouts with bzr, but that defeats the point of DVCS.08:49
lifelessdavidstrauss: well, the first thing that can make it fast is to download less; branch --stacked [currently slow due to a bug in the memory/IO tradeoff algorithm, in line for a fix in the next couple of weeks I suspect]08:49
lifeless will download only enough to reconstruct the tree locally; thats about the same as a cvs / svn initial checkout08:50
davidstrausslifeless: True, but is there a way to branch --stacked and download a little history (but not nearly all)?08:50
lifelessdavidstrauss: yes, --stacked could [should in fact for the branch case] do that08:50
davidstraussOne of the boons of DVCS is being able to work effectively offline.08:50
lifelessnote that --stacked doesn't work offline08:50
davidstrausslifeless: indeed08:50
davidstraussIf would be great to have the horizon stuff implemented08:51
lifelesssecondly, as I note, we have a new repo format which in some trials is 1/7th the size of current repositories08:51
davidstrausswow, congrats :-)08:51
jfroylifeless: is that the new compression stuff I've seen people talk about?08:51
lifelessand performs equivalently for log/commit/annotate08:51
davidstraussstacking with horizons could plausibly work offline for recent history08:51
lifelessjfroy: yes, the groupcompress plugin [*not* ready for end users]08:52
jfroyI believe in eating your own dogfood :p08:52
lifelessdavidstrauss: indeed, but I'd rather talk about things that are nearly-complete rather than 'talked about but noone working on'08:52
davidstraussSomething just bugs me about the idea of offline-usable branches continuously growing larger, no matter how well we compress the data.08:52
jfroyIt's incredibly painful (distasteful, you could say), but it's a great motivation to file bugs / fix bugs.08:52
lifelessjfroy: oh sure, but groupcompress is being revised - its like working on zlib, you dogfood but you don't keep your tars in it, until you freeze the format :)08:53
jfroylifeless: oh we do that all the time, and it leads to pain :p08:53
lifelessdavidstrauss: I think its reasonable for repeat contributors to run some command to get a local working area08:54
davidstraussfair enough08:54
lifelessdavidstrauss: now, I definitely think we need a better, default, story in core08:54
jfroyI vote for bzr getem'branch http://...08:55
davidstrausslifeless: What exactly do you mean by "story"?08:55
lifelessbut its easy enough to have a plugin that makes a local shared repo and does a branch into it08:55
jfroydavidstrauss: use case, I believe08:55
lifelessdavidstrauss: user story,  top level 'this is how it works'08:55
davidstraussah08:55
lifelessone path through a use case, if you like08:55
davidstrausslifeless: I've been drafting some on my blog from a Drupal perspective.08:55
lifeless[no conditionals]08:56
jfroyindeed, a plugin could even replace "branch" and add logic to it to always enforce a shared repository, for example.08:56
lifelessdavidstrauss: e.g. bzr drupal-setup c:\src\drupal 608:56
davidstraussI don't think we can expect our normal contributors to install plugins.08:57
jfroylifeless: incidentally, I've been convincing myself that bzr needs a command to install plug-in as well as a plug-in index08:58
davidstraussbtw, I was elected today to the Drupal Association, and I'm discussion VCS tools with the rest of the infrastructure team now.08:58
jfroy(or plug-in index mechanism, which would allow for internal plug-ins)08:58
davidstraussdiscussing*08:58
lifelessjfroy: yes, there is a hook in bzr to discover plugins when a user runs a missing command, and this could install. We've put that there with the intent that people can do this08:58
jfroyI had no idea that was in place.08:59
davidstraussI think it should download random code from the web and run it with no verification.08:59
jfroyBut, a "bzr install-plugin foo" would be great08:59
davidstraussBut only on the Windows client.08:59
lifelessjfroy: see doc/developers/plugin-api.txt for the declaritive data that lets my plugin-info plugin tell you the metadata08:59
lifelessjfroy: most of the bits are there just needs a little glue08:59
jfroyinnnnnteresting08:59
lifelessjfroy: the reason its a hook and not a run-random-code is because on e.g. Ubuntu you should really call into apt to install a plugin, because thats validated, signed code etc09:00
lifelessrather than random bits off the net09:00
jfroyah yes, that's quite true09:00
lifelessdavidstrauss: http://drupal.org/node/147789 talks about a bunch of tools to setup09:00
jfroyit is unfortunately useless to Mac OS X and Windows developers09:00
AfCI've got to admit that I just (socially-) engineered around this whole issue by making it *very* clear to people wanting to checkout our project that they have to go through the steps to create a shared repository. Having done that, they never duplicate the network traffic again.09:00
jfroyAfC: yes, that works quite well, having experience with it09:01
jfroyI wrote steps to start using bzr with my project at Apple09:01
AfCIt's a bit of a pain to force that at the beginning, but it's now down to "Follow those instructions, and things will work great". "Yeah, but I did...". "No. Delete that, and try again. Follow these instructions..."09:01
lifelessdavidstrauss: I don't see that downloading a tiny .exe and running it on windows would be hard; you expect your contributors to know SQL and a long list of other tools09:01
jfroyWhich includes each and every command to run, copy-pastable to a terminal09:01
jfroyit really is about the only reliable solution to get everyone a sane working environment09:01
lifelessdavidstrauss: but! like I say, I think bzr's core does need to improve09:01
davidstrausslifeless: I have a hard enough time betting devs to download Bazaar itself: http://fourkitchens.com/blog/2009/02/17/developer-preview-materialized-views09:02
lifelessOTOH does tortoise-bzr give an easy clicky clicky to do stuff?09:02
AfCPart of what makes it "hard" is that they are following instructions that seem really arcane. But since it's so entirely worth it, I've done my best to front load the issue.09:02
davidstrauss"Oh, and for those of us who don't have bzr, how do we get this magical code? :-)"09:02
davidstrauss"And a tarball would indeed be much appreciated :)"09:02
lifelessdavidstrauss: do you have a loggerhead instance? (or are your branches registered with launchpad?)09:02
davidstraussThese are serious core devs from Drupal.09:02
davidstrausslifeless: http://vcs.fourkitchens.com/09:02
davidstrausslifeless: We host everything09:03
jfroyurg, loggerhead09:03
jfroy*the pain*09:03
jfroyit's dandy for your own branch on your own machine with a local apache09:03
davidstraussIt would be great if loggerhead allowed tarball downloads (via bzr export) from branches.09:03
jfroyit doesn't work on a central sharing server with 1000s of users09:03
jfroythat well09:03
jfroy(each with their own set of branches)09:04
lifelessdavidstrauss: its meant to09:04
beunodavidstrauss, that's a branch for LH which does that. Still needs some cleanups, but it's landing is immanent09:04
gioelehello09:04
lifelessI patched bzr's core to support that09:04
lifelessbeuno: JFDI09:04
lifelessbeuno: otherwise your core cleanups will make that branch bitrot, not good.09:04
davidstraussbeuno: what's that branch?09:04
beunolifeless, it needs an option to disable it, or many users will hunt me down and kill me09:05
lifelessbeuno: why?09:05
beunolifeless, server resources?09:05
lifelessbeuno: and we know them all, can't be that hard)09:05
davidstraussit ought to cache the exports09:05
lifelessbeuno: compared to the cost of running loggerhead in the first place, I don't think anyone will notice09:05
beunodavidstrauss, https://code.edge.launchpad.net/~danigm/loggerhead/loggerhead/+merge/326609:05
gioeleBzrFastExport keeps saying to me: "Fixing recursive rename for ./dir/foo.bar".09:06
gioeleIs there a way to fix these recursive renames once for all?09:06
beunolifeless, exporting mysql-server qoul problably not be the best thing in the world for LPs sedrvers09:07
lifelessbeuno: didn't we add this like june last year?09:07
lifelessbeuno: it should be totally fine, for folk that are hosting branches of mysql-server09:07
beunowe did, I never got to it   :(09:07
beunoso someone in the community did09:07
lifelessbeuno: don't let the perfect be the enemy of the good09:07
pooliehi beuno09:08
lifelessbeuno: I'd be more worried about robots following the links09:08
beunook, let's make a deal. I'll tweak that branch and land it with the config option before Sunday  :)09:08
davidstraussI have a real problem with getting deeply involved with all open source tools I use. :-/09:08
beunohiya poolie09:08
davidstraussBazaar is not proving to be an exception.09:08
davidstrauss:-P09:08
lifelessbeuno: than about having an option to turn it off completely.09:08
lifelessdavidstrauss: I love users like you :)09:08
davidstraussI'd contribute more, but I barely know Python09:09
beunolifeless, we already have a way to specify a robots.txt, so that's a little bit less of a problem09:09
lifelessbeuno: in which case, what user has asked to have this unmerged feature configurable ?09:09
beunolifeless, the reviewer of that branch, rockstar09:09
beunoand myself  :)09:09
davidstraussIt sounds like a nice "poor man's" release builder09:10
beunowe have enough performance issues at it is, so if we're going to add this, I'd like to make it optional09:10
beunoon by default09:10
beunobut optional09:10
lifelessbeuno: well he says its a concern09:10
beunonot very hard, just need to plug in a config option to bazaar.conf09:10
beunolifeless, he's also across the table from me, and it's a blockable concern09:11
beunoetierh way, I'll make that fix myself by sunday, or erge as is09:11
beunosound good?09:11
lifelessbeuno: I'm happy with that, in this specific case.09:11
beuno*either09:11
beunogood, I'll take it09:12
lifelessbut I really would like to point out that folk hosting big branches have big resources ;)09:12
lifelessand they are more likely to want the feature (capability >> no capability) than not09:12
beunoI know at leasy one big hosting facility that doesn't fall in line with that  ;)09:13
davidstraussSpeaking as a Drupal.org infrastructure guy, I think we should be able to turn it off.09:13
lifelessin terms of performance, actually measuring it should show its pretty fast FWIW. Its actually basically what bzr downloads trigger09:13
lifelessdavidstrauss: ok, well thats fair enough then :) I was just objecting against strawmen objections.09:14
lifeless<- unwell today, so extra ornery09:14
davidstrausslifeless: Understood, but big projects create their own tarballs for users to download.09:14
davidstrausslifeless: And we do things like synching them to CDNs.09:15
lifelessdavidstrauss: sure. As far as caching exported tarballs from loggerhead; I think that would be a useful (configurable by giving it a place to put em) feature09:15
beunoyeah, just cache them with the revid as their name (but serve them with a saner name)09:17
davidstraussI'm less concerned about caching if you can just turn it off.09:17
lifelessI will note that by default bzr should simply be fast enough to do it on the fly09:17
davidstrausslifeless: Even gzipping the data would be a horrible server load for a project like MySQL.09:19
Lo-lan-doHow about uncompressed tarballs then?09:20
lifelessgzip is pretty cheap, as long as you don't use pythons GZipFile09:21
lifelesswhich sets -9 :P09:21
jelmerbandwidth can also be a problem09:21
jelmerthat's one of the reasons we've got this option turned off on git.samba.org09:22
lifelessjelmer: people downloading tarballs they don't need?09:22
lifelessjelmer: or robots?09:22
jelmerlifeless: robots, and people downloading tarballs from cronjobs09:22
Mezare bzr up and bzr update meant to do different things? cause they just did09:22
jelmerlifeless: maybe caused by the fact they don't know how to do keep a checkout with git, but still :-P09:23
lifelessMez: due to an unfortunate thinko, 'bzr up' is an alias for 'bzr up-thread'09:23
lifelessMez: it will be getting fixed09:23
lifelessjelmer: yes well, don't get me started on *that* topic :)09:23
Mezlifeless... that's internal? because it seems neither bzr up or bzr update will restore a working copy09:24
lifelessMez: what do you mean 'restore a working copy'09:24
davidstraussMez: You restore working copies with revert.09:24
davidstraussMez: If you mean like "svn up" does09:24
Mezlifeliess09:24
davidstraussMez: Just be careful09:24
Mezlifeless: no, the .bzr folder is there, but there is no working tree... we need the files from the tree09:25
davidstraussMez: That's bzr checkout09:25
davidstraussMez: or you can export the branch to elsewhere09:25
Mezdavidstrauss: bzr revert seems to work09:25
lifelessMez: 'bzr checkout .' is likely what you want. Note that if you the .bzr dir is on a remote server, you may be better of looking at either loggerhead (web history viewer) or 'bzr-upload'09:26
* Mez shrugs09:26
lifelesspoolie: I was unwell all day today09:26
Mezit's from a checkout where people cocked up :D09:26
lifelesspoolie: this is advance warning, if I feel == or worse tomorrow, I'll be calling in sick, well not calling in precisely :)09:27
davidstrausslifeless: Where do you work?09:27
lifelessdavidstrauss: @ canonical09:27
davidstrausslifeless: I mean physically09:27
lifelessOh, like most canonical folk, from home. I live in Sydney09:27
davidstraussah09:27
poolielifeless: hope you feel better soon09:28
lifelesspoolie: so do I :)09:28
AfClifeless: I'm not sure I really believe them, but it's supposed to actually be sunny tomorrow. Maybe that'll help.09:28
lifelessAfC: I'm reasonably sure its not drectly weather related, but who knows09:29
lifelessthroat closed up, raw-feeling, feverish, snuffly09:29
AfCThey even have a name for it where I grew up. "Seasonal Disaffective Disorder" or some such. Also known as "holy cow I need to get the hell away from the bleak misery of winter and go sit on a beach somewhere."09:30
Lo-lan-doGrog!09:30
AfC(so I did :))09:30
lifelessAfC: :)09:30
poolieAffective09:30
poolieSAD09:30
AfCah09:30
AfCI knew something didn't sound right there.09:30
lifelessjml: btw, I acked your subunit review with a full reply branch changes etc09:30
davidstrausslifeless: I'm headed to bed. Hope you feel better tomorrow. :-)09:30
lifelessjml: if you can ack-me-back I'd love that09:31
lifelessdavidstrauss: gnight, thanks09:31
Lo-lan-do(Kerosene, propylene glycol, rum, scumm, axle grease, battery acid, pepperoni.  Grog.  It's good for you.)09:31
lifelessLo-lan-do: VM?09:31
Lo-lan-doEr, yeah.  That was sort of a quote from Monkey Island, a game I mostly play in scummvm :-)09:32
lifelessok, halt()09:37
lifelessnight all09:37
ronnymoin09:38
beunog'night lifeless09:39
=== jonnydee is now known as Guest63706
ronnyyo09:57
ronnyis there a way to sign tags in bzr?09:57
luksronny: no, tags are just simple name -> revision_id map in bzr09:58
james_wwould it be reasonable to have a hook so that plugins can set revision properties at commit time?10:02
james_wor is that already possible?10:02
gioelejames_w: start_commit can do everything (while pre_commit cannot touch some things). Is that the hook you're looking for?10:11
ronnyjelmer: ping?10:12
ronnyjelmer: is there any need to keep dulwich compatible to old pythons?10:12
Peng_ronny: How old is old?10:13
james_wa simple one like commit_message_template would be nice10:13
james_wbut pre_commit might work10:13
ronnyPeng_: <2.5, preferable <2.610:14
james_wnope, it would need a new hook10:16
jelmerronny: My aim was to be compatible with 2.4 and up11:49
jelmerronny: Since that means being able to use generators11:49
jelmerronny: is there anything in particular that breaks 2.4 at the moment?11:50
ronnyjelmer: with breaks 2.4 and annotations break 2.511:50
jelmerronny: hmm, where is dulwich using either?11:50
jelmerronny: I'm running 2.5 at home, so it shouldn't require any 2.6 features yet :-)11:51
ronnyjelmer: i started to hack simple tools that compile python code down to c11:51
ronnyworks best with annotated code cause inference is hell11:52
Peng_I should do research before asking this, but anyway: Isn't Git libifying itself? Why rewrite it in Python instead of writing bindings for that?11:54
jelmerronny: no cython/pyrex ?11:54
jelmerPeng_: there is something, but it's not ready for prime time yet11:55
ronnyjelmer: it wont be possible to give those sane backends for jython/ironpython11:55
ronnyjelmer: and they wont run out of the box11:55
jelmerPeng_: also, the git formats, etc. are pretty simple11:55
jelmerPeng_: and writing them in Python means they'll work on Windows OOTB11:55
Peng_jelmer: Okay. Thanks for the answer. :)11:56
ronnyjelmer: well, annotations help, and annotation decorators would suck as they would add complexity for detection11:58
jelmerronny: I wouldn't mind depending on annotations at some point, but preferably not before Python2.6 is available somehow in the main linux distro's12:00
ronnyok12:02
ronnygmm12:02
ronnykinda sad it doesnt go into the next ubuntu12:03
ronnyi think fedora already has it12:03
jelmerDebian unstable/testing will have it soon as well12:04
jelmerI wasn't aware yet it wasn't going into Jaunty :-/12:04
luksit does have it, but not as the default12:04
luksor am I reading http://packages.ubuntu.com/jaunty/python2.6 wrong?12:04
ronnyjelmer: oh, im not sure, i just asumed cause its not yet there12:04
jelmerluks: ah, that must've been added recently12:05
lukssame situation happened when 2.5 was released, 2.4 was the default for a long time12:05
ronnyvery recent i think12:05
luks13 Feb 2009, according to the changelog12:06
=== serg__ is now known as serg
=== sabdfl1 is now known as sabdfl
igcnight all14:00
james_wnight igc14:00
vilaigc: night14:04
vilajam: ping14:17
jammorning vi14:17
jamvila:14:17
vilajam: I'm not your editor :)14:17
vilaI'm even your reviewer today :)14:17
jammorning vila's emacs14:17
jamanyway, I didn't mean to derail your question. What's up ?14:19
vilajam: 'bzr gblame bzrlib/tree.py 985' and scrollback a little14:20
=== kiko-afk is now known as kiko
vilajam: until the previous elif, choking isn't it ?14:21
vilaThat's the cause of the bt.test_merge.TestMergerEntriesLCAOnDisk.test_nested_tree_subtree_renamed_and_modified failure in bbc because the indentation has been fixed in bbc14:22
vilaAnd the commit comment for the patch that introduced that test proves that the author had some doubts :)14:23
vilabzr gblame bzrlib/tests/test_merge.py 2636 &14:23
vilaAIUI, the wrong indentation predates your test, so I'm not sure about how to fix. Obviously tree.py must be fixed like in bbc, but what about the test ? subtrees semantics are unclear for me and fixing *that* will be time-consuming and again put me off bbc :-/14:25
jamvila: the "elif from_kind == 'tree_reference'" looks like it should be lined up with the other elifs14:25
vilajam: yes, it's done in bbc14:26
vilajam: that's why the above test fails there and not in trunk14:26
vilajam: at the time you wrote the test I think the bug was there in trunk and you didn't realize it (but given your commit comment, were not satisfied either :)14:26
jamvila: so just change the test to expect "True"14:29
jam('sub-tree-root', True, ..)14:29
vilahehe, you didn't try to run it don't you :-)14:30
vilait fails in the wt.revert()14:31
vilawell it didn't fail, it errors I should have said14:32
vilawith: ImmortalPendingDeletion: Unable to delete transform temporary directory /tmp/testbzr-x7bubL.tmp/bzrlib.tests.test_merge.TestMergerEntriesLCAOnDisk.test_nested_tree_subtree_renamed_and_modified/work/tree/.bzr/checkout/pending-deletion.  Please examine /tmp/testbzr-x7bubL.tmp/bzrlib.tests.test_merge.TestMergerEntriesLCAOnDisk.test_nested_tree_subtree_renamed_and_modified/work/tree/.bzr/checkout/pending-deletion to see if it contains any14:32
vila files you wish to keep, and delete it when you are done.14:32
vilaAnd from there it's really unclear to decide where the bug is, is is in the test because you used some operation that is guarded somewhere else when tree references are present or are there other bugs that were hidden by the wrong indentation in iter_changes...14:34
vilaThat's the question I pinged you for :) Well, the first past at least: do you see something wrong in that test ?14:35
vilas/past/part/14:35
vilaOtherwise I think I'll just follow up to Larstiq and abentley14:36
Lo-lan-doImmortal pending deletion?  What's that, rm -f /dev/duncan-mcleod?14:36
awilkinsThat would be UniqueImmortalPendingDeletion (there can be only one!)14:37
Lo-lan-doThere *should* be only one, but see what happens when you define your constraints when the database is already populated?14:37
jamLo-lan-do: the .bzr/checkout/pending-deletion is supposed to be cleaned up14:38
jamif it is still around it "didn't die"14:38
jamwhich means the previous command failed in some bad way14:38
jamvila: my guess is that other code that handles subtrees is broken14:38
jamvila: and changing False => True, and changing the indentation causes the test to *pass* (on bzr.dev) here14:40
jamSo I would say... fix it in bzr.dev, get that submitted14:40
jamand then we'll try to figure out why it breaks in bbc14:40
jamvila: btw, any feedback on my --dev5 patch?14:40
jamI'm willing to just merge it to bbc14:41
jambut it would be nice to have someone look at it first14:41
vilajam: there is another reason for why it fails in bbc, I'm on it14:41
vilajam: czj:approve14:41
jamczj?14:41
vilaczj is sexier than bb (younger at least :)14:41
jamvila: anyway, for a fix like this, I'd rather see it happen in bzr.dev, before we do it in brisbane-core14:41
jamanything that can be cleanly split out is something that ends up under constant PQM monitoring :)14:43
vilajam: agreed, that's why I tried to reproduce it in bzr.dev as soon as I realized the root cause (but until now I was parallel pbd stepping and didn't realize it didn't fail in the same way)14:43
jamand less to review when bbc lands14:43
vilajam: understood14:43
jamglad to see you working on bbc test suite, though :)14:43
vilajam: by the way, if you merge from bbc, be aware that we both fix some failing tests in different ways, that should conflict in an obvious way14:44
jamk14:44
vilajam: it appears that my setup is still incomplete, my commits on bbc didn't get posted to bzr-commits (they were trivial enough to be push and I thought you got feedback by the ML hence my lack of "noise" about them)14:45
vilajam: err, it errors out in bzr.dev here >-/14:49
jamit seems my fix isn't complete yet anyway...14:50
jamI forgot to actually change the inventory serialization, and only changed the chk_map serialization...14:50
jamfixing14:50
jam(I'm glad I double checked that, though for a different reason)14:51
* mvo thinks the new progress bar is sweet14:51
jammvo: I agree it is quite a bit better than the old one14:51
vilamvo: did you said some days ago or was it someone else ?14:52
mvoI just upgraded my bzr, I see it for the first time (and it seems to be more accurate as well)14:52
vilamvo: far more accurate yes, did you see the IO rate for some operations ?14:53
mvoyes!14:53
mvoI need to do some big commits now so that it actually stays a bit longer :)14:53
vilamvo: it's not complete yet, only some protocols are implemented so far so don't be surprised14:53
mvothanks vila14:54
vilamvo: that's a team thing, I deserve only a little part :-)14:54
* mvo hugs the team and vila14:55
vilajam: can you confirm you made the test pass with bzr.dev@4017 ?14:56
jamvila: this change: http://paste.ubuntu.com/119711/14:56
jamapplied to bzr.dev 401114:56
jamI'll upgrade now14:56
vilawth14:57
jamyou know what... I may have run the wrong one14:58
jam(wrong bzr)14:58
vilaI sure hope so (kind of :/14:58
jamyeah, it fails 2x now14:58
jamonce in giving the wrong result14:58
jama second time in giving Immortal...14:58
jamvila: shall I leave it to you? Or do you need me to work on it?14:59
vilajam: I think I'll bring the issue on the ML instead to leave it to the ones working on subtrees14:59
vilaThey ought to run into it anyway at some point so it should help them15:00
jamvila, just to check, if you run "bzr selftest -s X -s Y" it runs the X tests before the Y ones, right?15:02
vilajam: it doesn't care about the order at all :-) The execution order is.... roughly the loading order15:02
vilaif you switch them and use --list you can confirm that15:03
vilaand --list will give you the running order too15:03
jamdang15:04
jamoh well, it is probably alphabetical15:04
jamsince that is how we list things15:04
vilait can change at each '.' depending on how the module load its tests15:05
vilaparametrized tests can also come in vastly different orders15:05
jamsure, but I'm just doing bt.XXX15:05
jamanyway, it doesn't really matter15:05
jamI just have about 500 tests I run for chk branches15:05
vilaAt that level, yes alphabetical15:05
jamand it is nice to know that if it fails in Y I don't have to run X tests agaig15:06
jamagain15:06
Takwhat am I doing wrong here? http://paste2.org/p/14961515:11
jamit looks like you have a Branch objects whose "self.base" is None15:12
jamis it, perhaps, a bzr-svn branch?15:12
SiCuTDeUx_Hi!15:14
SiCuTDeUx_how can i install the webdav plugin for bazaar?15:14
jamSiCuTDeUx_: "mkdir -p ~/.bazaar/plugins; cd ~/.bazaar/plugins; bzr co lp:bzr-webdav webdav"15:15
SiCuTDeUx_that's ala?15:18
SiCuTDeUx_*all?15:18
jamSiCuTDeUx_: generally15:20
jamI won't absolutely guarantee it, but that is a general way to install plugins15:20
jelmervila: btw, did I mention I packaged bzr-webdav for Ubuntu?15:32
jelmerjam: bzr-svn should set self.base properly15:32
vilajelmer: wow, no, thanks. Did you do that for debian too or is it ubuntu only ? Do you have public branch for that ?15:33
jelmervila: it's for Ubuntu only at the moment, but it'll go into Debian as well15:34
SiCuTDeUx_jelmer, ?15:34
jelmervila: James reviewed and advocated bzr-webdav last night, so it should end up in Jaunty15:34
SiCuTDeUx_jelmer, where can i find it?15:34
jelmervila: there should be a packaging branch here: http://bzr.debian.org/pkg-bazaar/bzr-webdav/ubuntu15:35
SiCuTDeUx_i use 8.1015:35
vilaJames as in james_w ? :-)15:35
SiCuTDeUx_it is empty jelmer15:35
jelmerSiCuTDeUx_: I'll upload a new package to my PPA15:35
jelmerSiCuTDeUx_: it's a bzr packaging branch15:36
SiCuTDeUx_jelmer, nice15:36
jelmervila: there very same15:36
vilajelmer: your ppa contains webdav_1.6.0, there was an update for bzr1.12 and the plugin version is now 1.12 too to reflect that15:39
vilaThe revno for webdav is 6215:40
jelmervila: I haven't uploaded a recent version to PPA yet15:40
jelmervila: only to REVU, am preparing to re-upload to PPA15:40
vilajelmer: no problem, I was mentioning just in case15:40
emmajanevila, thanks :)15:42
vilaemmajane: *I* thank you :)15:42
emmajanevila, I thought it might make sense to link to that document from the plugin page/15:43
emmajane?15:43
vilaemmajane: oops, forgot that one :) I printed your mail and read it in bed yesterday and then forgot that part :)15:44
jelmervila: any chance you can tag releases in bzr-webdav? That makes my live as packager a bit easier15:45
emmajanevila, *chuckle* I'm not sure it was quite worthy of bed time reading.15:45
jelmerjames_w: is there any harm in me uploading a version of bzr-webdav to REVU that merges a new upstream ?15:46
vilajelmer: there are several things I'd like to discuss about packaging branches, I'll try to mail about it15:46
jelmerjames_w: or will I automatically lose the advocation15:46
jelmerjames_w: ?15:46
james_wyou will, but I can re-review15:46
vilaemmajane: hehe, but there, I knew I could read it peacefully :)15:46
emmajanevila, hehe15:46
vilajames_w, jelmer : the change is really minor FWIW15:47
emmajanevila, Ultimately I think it would be nice to extend all of the plugins to have a little bit more information; and also for the workflows to have an "in five minutes" tied to each. I'm slowly working my way through the ones that I know.15:48
jelmerjames_w: ok, I'll reupload in that case - thanks15:49
emmajanevila, also: I'm talking about the plugin for my Bazaar presentation at SCaLE this weekend. I only talk about it briefly so I wanted to have the documentation available for people who wanted to give it a try.15:49
james_wjelmer: unfortunately I may not be able to re-review in time though, sorry15:51
james_wperhaps you are better seeking advocation on #ubuntu-motu now, and then I will sponsor an upload once it is in15:51
jelmerjames_w: ok15:52
jelmerjames_w: will do15:52
vilaemmajane: http://bazaar-vcs.org/BzrPlugins updated, feel free to change it and good luck for your talk !15:58
emmajaneThanks!! :)15:59
* emmajane heads out.16:01
emmajanethanks again, vila  for looking through the tutorial!16:01
Takjelmer: I'm trying out yet another md-bzr backend16:03
* vila hugs his little daughter cause she needs love just right now and he just got some to share :)16:03
jelmerTak: other than bzr-xmloutput?16:04
* jelmer hopes the new monodevelop enters sid soon..16:04
Takyeah, I'm using bzrlib via pinvokes into libpython16:04
Takjam: oh, belated response to your response: no, it's a branch from lp16:06
TakI can get the push location successfully, but not the submit branch or the parent branch16:07
jamvila: so the reason *not* to use 0xFFFFFFFF is because it casts up to PyLong16:09
jamwhich are pretty slow16:09
jamand we call the function a lot16:09
* vila feels depressed 16:10
vila:-)16:10
jamfor now, I'll leave your fix, because I don't feel like worrying about it until we have to16:10
jambut I figured I'd point that out16:10
vilaha good16:10
jamIn reality, I think if performance there becomes an issue, we'll just write an extension16:11
vilajam: We'll end up coding that in C at one point anyway16:11
jambecause struct.pack is + '\x00'.join is never that good16:11
vilalol, heard the echo on the wire ?16:11
jamI just type faster :)16:11
jamhowever, it *would* be reasonable to do that for dirstate16:13
=== jelmer_ is now known as jelmer
jamsince it is not a performance critical section of code16:13
jamfeel free to submit a patch to bzr.dev16:13
jam):16:13
jam:)16:13
jelmervila: does it seem reasonable to just have each AbstractAuthHandler provide a variable that says whether it needs a username?16:14
jamvila: inv_as_lines has now landed. --dev5 is now the only new format.16:14
jelmerSiCuTDeUx_: looks like the new version is now available in PPA16:15
vilajelmer: sounds reasonable without seeing the code, if you propose it *hacking* the code, that should be good :)16:15
jelmerSiCuTDeUx_: you'll need bzr 1.1216:16
jelmervila: Don't worry, there'll be a patch for you to review soon ;-)16:16
vilajam: ok16:16
awilkinsAnyone using Homeplug?16:22
emileWe just started our migration from svn to bzr by using svn2bzr.py. Our repo in svn was 22MB, in bzr it is 382MB. Is there some kind of housekeeping I'm supposed to run? I can't imagine bzr needing a 15-fold of the disk space.16:33
Odd_Blokeemile: Try 'bzr pack'.16:34
=== mvo__ is now known as mvo
jamemile: did you have a lot of binary files in your svn repo? (bzr's delta for binaries isn't as efficient as svn's)16:40
jamthough 22 => 382 seems a bit extreme, regardless16:40
Lo-lan-doMaybe svn2bzr.py didn't use a shared repo?16:40
jamoh, and bzr-svn is generally preferred to svn2bzr, just as a heads up16:41
jamLo-lan-do: certainly could be16:41
emileOdd_Bloke: I tried "bzr pack /path/to/repo", no change in size16:42
emilejam: I'll try bzr-svn. There were some bins, but it isn't the bulk of the repo16:43
awilkinsemile: How messy is your SVN repo?16:43
emileLo-lan-do: I don't understand?16:43
emileawilkins: messy in what regard?16:43
awilkinsemile: Project layout, esp. history of project layout16:44
emileawilkins: nope, one branch, two tags, and the bulk of the work on trunk. There's just 50 or so revisions in the svn repo.16:45
awilkinsemile: Ok, sounds tidy compared to my 14k revisions and 1.5GB of repo16:45
awilkinsMost of that is alas, PNGs and DOC files16:45
emileawilkins: Ah, make that 108 revs. Anyhow, shouldn't be significant at these numbers I reckon. We're just starting out this project on vcs.16:46
emilejam: I thought bzr-svn was a like connection of sorts? We're looking to abandon svn.16:47
jamemile: it is still the best converter16:48
jamhighest fidelity, etc16:48
jamand the most actively developed, probably also the fastest16:48
emilejam: "highest fidelity" in what regard? Should I be expecting loss?16:48
jamemile: the big issue is with tracking what a branch is, and when they occurred, etc.16:49
jamthe actual content probably never differs16:49
jambut the revision ancestry can be difficult to follow16:49
jamagain, your repo doesn't sound complex enough to cause problems.16:50
jamI'd still recommend bzr-svn16:50
emileI see. We can actually discard the one branch. Maybe even the tags.16:50
jamemile: I would just try converting again with bzr-svn16:51
jamthere are certain ways you can convert which might cause bloat, and I'm not sure how bzr2svn does it16:51
jamIf it is hard to get set up, I can try to talk you through alternative setups for bzr2svn, it just doesn't seem specifically worth it16:51
* awilkins would also use bzr-svn16:52
emileIt's a one-time task, so I don't really mind. I'm trying to get bzr-svn set up, I don't have root access so I'm going to have to get bzr-svn installed in my home dir16:53
awilkinsAt least it's *nix, it's a pig to build on Windows16:54
awilkinsAlthough there is allegedly a version in the exe-flavoured installer16:54
emilejam: ok, bzr-svn has run its setup. Something showed up in /var/www/opt. So what next?16:57
jamemile: "bzr svn-import $SOURCE"16:59
jamor at least "bzr help svn-import"16:59
emileit says "No help can be found". I've set my pythonpath, I can import bzrlib.17:01
=== cody-somerville_ is now known as cody-somerville
jamemile: it means you haven't properly installed bzr-svn yet17:02
jamhow did you "install" it?17:02
emile$ ./setup.py install --prefix /var/www/opt17:03
emile$ export PYTHONPATH=/var/www/opt/lib/python2.4/site-packages:$PYTHONPATH17:03
emileyou're correct, the following fails: from bzrlib.plugins import svn17:04
jamemile: so I think the easier way to install is:17:07
jamcd ~/.bazaar/plugins17:07
jambzr co "bzr17:07
jambzr co "bzr-svn" svn17:07
jamcd svn17:07
jampython setup.py build_ext -i17:07
jamDepending on what "bzr-svn" you are grabbing17:07
jam(also, newer versions of bzr-svn also require you to build the "subvertpy" library)17:08
emilethe bzr co yields "bzr: ERROR: Not a branch: "/home/hnse/.bazaar/plugins/bzr-svn/"."17:09
jelmerI think John means "bzr co lp:bzr-svn svn"17:09
emileslow, but it's doing something...17:10
emileOK, running build_ext, no errors, but "bzr plugins" doesn't list svn17:11
emileLogged in and out, now I "bzr plugins" says "Unable to load plugin 'svn' from '/home/hnse/.bazaar/plugins'"17:12
jelmeremile: you need the subvertpy python module as well17:13
emilewhat will be easiest? Grabbing an older bzr-svn version, or installing subvertpy (in a non-standard location)17:15
jamjelmer: can you just build subvertpy in the bzr-svn directory?17:15
emilejam: will check, it's coming in from launchpad now17:16
jelmeremile: installing subvertpy somewhere in PYTHONPATH should be easiest17:17
jelmerjam: atm it's not possible, bzr-svn no longer modifies sys.path17:17
emiledrat, it needs apr-config, which is not installed17:19
jelmeremile: yeah, it needs the subversion development libraries as well :-/17:20
jamjelmer: but doesn't it do "import subvertpy"?17:20
jamwhich means that if it is in the same dir, it should just find it?17:20
jelmeremile: you can try an older version of bzr-svn, but it will probably mean downgrading your version of bzr17:21
jelmerjam: yeah, but bzr-svn has subpackages17:21
emilejelmer: damn. I have no root access to this machine, so I can't downgrade *or* upgrade. I suppose bzr repos are portable? Could I do the migration elsewhere and put the repo back?17:21
jamemile: yes, you can convert anywhere17:22
jamemile: ok, so basically installing a plugin into your PYTHONPATH doesn't really work, because we don't search PYTHONPATH (though you could add it to BZR_PLUGIN_PATH), installing subvertpy should be on PYTHONPATH17:22
jamemile: if you want, you can have one of us do the conversion17:22
jamthough it means exposing the repo to someone17:22
emilejam: appreciate it, but I can't, my manager would freak out17:23
emileOops, gotta run, thanks guys! I'll check back in later17:24
Takjam: ok, in the situation above, b.base is a file:// url17:27
jamTak: that shouldn't really be a problem, then. The issue it is bringing up is that it is trying to work with a path which is None17:45
jamwhich I don't quite understand17:45
jamhmm... different base17:46
jamjust a sec17:46
jamTak: what platform are you on?17:46
Takdebian x8617:47
jamWe seem to have this trap:17:47
jamif base is None:17:47
jam    base = os.path.expanduser("~")17:47
jamWhat does: python -c "import os; print os.path.expanduser('~')" give you?17:47
Takmy homedir17:48
jamwell, one thing to try17:48
jamexport BZR_HOME="$HOME"17:48
jamOtherwise I don't really understand why we are getting None there17:49
Taksame thing with BZR_HOME set17:53
Takit only seems to happen with get_submit_branch and get_public_branch17:54
Takparent and push location seem to be fine17:54
=== chx is now known as chx_sleeping
vilajam: ping, just fix the same crc32 problem for _search_key_16 (test_search_key_16 fails on 64, succeeds on 32)17:58
vilajam: but I now realize that I broke compatibility for dev5, since you should be the only one affected how big a problem is it ?17:59
jamvila: hmm.. I would have thought the abs() would have been enough there17:59
jambut I guess I understand why not17:59
jamactually, you can take out "abs()" if you switch to using 0xFFFF...17:59
vilajam: I thought abs() was ok too until the test broke and I realized I was wrong18:00
vilajam: that's what I did18:00
jamk18:00
jamno problems here18:00
vilagood18:00
jamI recreate them all the time :)18:00
vila./bzr selftest -s bt.test_chk_map.TestMap.test_map_splits_with_longer_key18:00
vilaERROR: test_chk_map.TestMap.test_map_splits_with_longer_key18:00
vila    maximum recursion depth exceeded while getting the str of an object18:00
vilajam: rings a bell ?18:01
vilajam: it's in a map -> _split -> map -> map chain18:01
jamIIRC I added explicit tests for "splitting doesn't cause infinite recursion"18:01
jamso there is certainly a different issue here18:01
jamwell, still an issue, obviously18:01
jambut I'd like to understand why18:02
jamvila: "bt.test_chk" passes here18:02
vilajam: Holy cow ! It breaks here on both 32 and 64 8-)18:02
jamwell, I haven't updated to the latest bbc18:03
vilaIt was failing before I fixed the crc3218:04
vilaAnd bt.test_chk says: FAILED (failures=1, errors=1)18:04
vila  File "/net/bigmamac/Volumes/home/vila/src/bzr/experimental/brisbane-core/bzrlib/tests/test_chk_map.py", line 1176, in assertSearchKey1618:04
vila    self.assertEqual(expected, chk_map._search_key_16(key))18:04
vilaAssertionError: not equal:18:04
vilaa = '738C9ADF'18:04
vilab = '8C736521'18:04
vilais the other one18:04
mneptokjam: got a moment?18:05
vilamneptok: nope, I pre-empted it :)18:05
vilakidding, no urgency from me :)18:05
jammneptok: what's up?18:05
mneptokvila: could i convince you to commit a k: line-able offense? >;)18:06
mneptokjam: some "commit --fixes" questions.18:06
kfogelhunh18:07
jamvila: it passes at revno 382118:07
* vila wonders what 'a k: line-able offense' means...18:07
jamso something you've done recently broke it18:07
mneptokkfogel: ahoy sailor18:07
kfogelwhy do we have http://bazaar-vcs.org/Documentation and a separate "official documentation site" http://doc.bazaar-vcs.org/18:07
jamperhaps either your "assert" patch, or your "search_key_16" one.18:07
mneptokvila: "something that would get you banned from the network" (so i can then steal jam) ;)18:07
kfogelmneptok: doing a draft of a new bzr home page right now, which is leading to lots of questions/cleanups about other pages :-).18:07
vilamneptok: Ohhhh Kkkkk18:08
=== jelmer_ is now known as Guest94594
jamkfogel: some are wiki documentation, doc.bazaa is built from the source tree18:08
jamplus referencing 3rd-party docs/tutorials, etc.18:08
mneptokvila: hence my wink18:08
jammneptok: so what are you trying to do with --fixes ?18:08
kfogeljam: hmmmm. okay, so the seams of our automation are showing to the user, sounds like :-).18:09
vilamneptok: I got the wink but not the joke ;-)18:09
kfogelNot necessarily worth cleaning up right now, but worth fixing if we can.18:09
jamkfogel: I don't think all documentation should be bundled into the bzr source tree... do you?18:09
kfogeljam: huh?  no, never thought that18:09
mneptokvila: my humor is like that. obtuse until you "get" it. and then it's just unfunny. ;)18:09
jamSo I think there is still worth in having a Wiki page that can reference things we haven't bundled18:09
kfogeljam: ?18:10
jamWhether we should be calling the stuff from source "doc.bazaar..." perhaps18:10
kfogeljam: couple of things:18:10
mneptokjam: the question was about "commit --fixes" referencing multiple bugs as fixed.18:10
kfogeljam: one, the so-called "official documentation site" is really talking about developer and reference documentation, not other kinds of documentation, it sounds like.18:10
jammneptok: '--fixes' is a list option, so I'm pretty sure you can supply it multiple tiems18:10
jamtimes18:10
kfogelSince the Users Guide is by far the most needed bit of documentation, than which all others pale in comparison to, a user would naturally expect it to live on the official documentation site.18:11
jambzr commit --fixes lp:1 --fixes lp:218:11
jametc18:11
kfogeljam: sorry, misphrased18:11
mneptokjam: right right. i didn't realize it was a list18:11
mneptok(that's pretty sweet)18:11
jammneptok: I don't see that the help text really *tells* you it can be supplied multiple times18:11
kfogeljam: what I'm getting at is: docs is just docs, users don't care where they came from, but right now it looks to a user like our docs are split across two sites.18:11
jammneptok: so certainly there is a bug report & fix waiting for your name18:12
mneptokjam: your hints are as subtle as a flying mallet. :)18:12
mneptokand .... on the to-do18:13
mneptokthanks18:13
kfogeljam: anyway, it will be less important when those globes-on-external-links go away. :-)18:13
jamkfogel: so, you're welcome to clean it up as you see fit, but I think non-vetted documentation is still worth having18:14
jamand once vetted we can bring it into the bzr source tree18:14
jamI don't really care how that is organized18:14
jamvila: revno 3822 breaks '-s bt.test_chk' for me18:15
jamshame on you :)18:15
vilajam: I see that, amazing (I mean the fix is amazingly simple but I'd like to understand it :)18:16
jamvila: you changed: "common = prefix[:pos+1]" to "common = prefix[:pos]"18:16
sergjam: "bzr help bugs" does say that "Note: As you provide a short name for each tracker, you can specify one or more bugs in one or more trackers at commit time if you wish."18:16
kfogeljam: until you said that, I never even knew that in-source-tree vs in-wiki meant vetted vs non-vetted.  I think if a user sees something on a website with "bazaar-vcs.org" in its name, the user will assume it's reasonably vetted.  I don't think anyone but a few developers is even conscious of what docs are in the source tree.18:16
jamkfogel: well, I do watch the emails about updates to the wiki18:16
jambut it *is* still a wiki18:16
vilajam: I thought I have that covered with the tests I added when removing the asserts, I need to find the right test to add :)18:16
jamvila: just add direct tests to the "common_prefix" code18:17
jamIt is a class method anyway18:17
vilalook at that 3822 diff again ;-)18:17
kfogeljam: I understand.  I'm just saying that we don't have a choice about what users regard as "vetted".  If it's on the site, they'll trust it -- they're not tracing the source back to this or that location.  So if we're maintaining these distinctions with the idea that it's meaningful to users, that's probably not working...18:17
jamvila: the problem is that you aren't asserting *what* the common prefix is18:18
vilajam: I do now :)18:18
jamso for "beg" versus "begin" I would guess it is returning "be"18:18
jamwhich wasn't being detected18:19
jamvila: so did that fix it?18:23
jamand when are you committing that to core :)18:23
vilasure18:23
vilajam: argh family NMI, I'll commit the fix later tonight :-/18:27
jamvila: then I'll fix it now18:28
jamsince I need a non-broken brisbane-core18:28
vilano wait, almost there18:28
jamvila: enjoy your family time, though18:28
jam(certainly don't postpone family for this, it isn't that hard to fix)18:28
vilabut the tests are already updated too here18:28
vilajam: pushed (and that's why we want full test suite passing everywhere :-)18:31
Lo-lan-doJc2k: I'm interested in helping out with bzr-*-pack, what would be a good way for me to help?18:41
Jc2kLo-lan-do: thats up to you!18:43
Jc2kLo-lan-do: writing test cases would be awesome18:44
Jc2kbut even reproducable bug reports would be welcome18:44
jamvila: of course, in your haste you left in a "import pdb;" but I'll fix that :)18:45
Lo-lan-doJc2k: I'll try using it first then :-)  Is there any doc?18:45
Jc2kLo-lan-do: ooh, docs would be nice too.18:45
Lo-lan-doI'll take that as a "no".18:46
Jc2kthe gist is you install the bzr-git plugin and then set the bzr-*-pack scripts up so git finds them instead of its own git-*-pack.18:46
Jc2kthen it should *just work*18:46
Lo-lan-doA symlink to ~/bin/git-*-pack would do the trick?18:47
Jc2kLo-lan-do: well thats the icky bit, it probably wouldnt - i dont think .bashrc/.profile is respected when doing "ssh host git-program-name"18:48
Lo-lan-doI see.  /usr/local/bin it is then.18:48
montwimneptok: hi18:50
montwiAbout --fixes; Can one also use --fixes=lp:444,lp:3333 ?18:50
montwiAnyway, better documentation for 'bzr help commit' would be appreciated18:51
jelmermontwi: I think you can specify --fixes multiple times18:51
montwiworks, but a little more cumbersome; Best would be to allow both things18:51
jammontwi: well, it is possible that bugfixes have commas in them18:55
montwihow can bug fix numbers have commas in them ?18:56
montwiaren't the bug numbers just an incremental serie ?18:57
Lo-lan-doOn LP maybe.18:59
Lo-lan-doBut there are other bug trackers, you know :-)18:59
kfogelOkay, opinions: "screen shots" -- one word or two?18:59
montwithen make an option --multi-fixes that supports both18:59
Odd_Blokekfogel: One.19:01
kfogelOdd_Bloke: ok, sold19:01
* fullermd was going to say 'two'...19:03
=== chx_sleeping is now known as chx
fullermdEspecially if you're running multi-head, because then you get "screens shot".19:03
fullermdAnd "screensshot" is a bit too Gollum.19:04
Takit's still one logical screen imo19:04
jamTak: it gets a bit weird if you have different sized monitors, though19:09
Lo-lan-doJc2k: __init__() takes exactly 2 arguments (1 given) / Unable to load plugin 'git' from '/home/roland/.bazaar/plugins'19:09
Lo-lan-doJc2k: Does that ring a bell?19:09
jelmerLo-lan-do: you need a newer bzr19:09
Lo-lan-do>> 1.11?19:10
jelmeryeah19:10
Lo-lan-doUm.  I actually have 1.12-1.19:11
jelmerLo-lan-do: what bzr-git do you have?19:11
jelmeryou might need a newer bzr-git instead :-)19:11
Lo-lan-doStraight out from http://bazaar.launchpad.net/%7Ejohncarr/bzr-git/git-serve/ rev "215: John Carr 2009-01-26 Merge upstream"19:11
* Lo-lan-do tries from trunk19:12
jelmerI suspect John may have to merge trunk19:12
Jc2k*nod* havent merged in a bit.19:12
Lo-lan-doAh, better.19:12
Lo-lan-doBlah.  It seems I need to install the plugin to /usr/local or something, it doesn't seem to find bzrlib.plugins.git.server otherwise.19:16
Lo-lan-doNope.  Not better.19:17
Lo-lan-doAh, installing to /usr works slightly better -- only to stop later by not finding bzrlib.plugins.git.foreign.19:18
Lo-lan-dojelmer, Jc2k: http://pastebin.com/d705b513819:26
Lo-lan-doAlso http://pastebin.com/d319f3cde :-(19:40
jelmerLo-lan-do: thanks19:42
Lo-lan-doSeomething seems to expect normal bzr revids to start with a particular prefix, which they... don't.19:44
Lo-lan-do(The bzrtest is a standalone branch of the simplest "bzr init;date>foo;bzr add;bzr commit -mbar" variety)19:45
jelmerLo-lan-do: yes, it only works with revisions pushed from git afaiu19:45
jelmerthis is the roundtripping I mentioned yesterday19:45
Lo-lan-doOh damn.  I misunderstood that part then.19:46
Lo-lan-doSo it's currently only usable as a storage backend for git, with read-only for bzr clients?19:47
* Lo-lan-do ponders19:49
jelmerJc2k: ^19:49
Jc2k*nod*19:51
Jc2kin theory you can dpush to it..19:51
Jc2k:P19:51
Lo-lan-doAny clue what I'd need to do to fix that?19:54
Lo-lan-doAs far as I understood, git revids are hashes of their contents, so presumably they could be computed on the fly, right?19:54
Jc2kLo-lan-do: so consider git ls-remote19:55
Jc2kit just lists the tip sha1s of each branch19:55
Jc2kto satisfy this on the fly, we not only need to sha the commit, but the inventory and all of the blobs. and not just for the top commit, but *all* parent commits going back to the origin.19:56
Lo-lan-doI get the same error.19:56
Jc2kof course you do, its just the easy part of git pull19:56
Jc2kjust saying, you cant do it on the fly, too expensive. we need to build a lookaside cache of sha to bzr rev id19:57
Lo-lan-doI guess all that data could be cached, but yeah, I see the problem.19:57
jelmermy branch has the beginnings of a cache19:59
fullermdThat's good.  If it had the end of the cache, you'd already have run out.20:00
* Lo-lan-do tries following the code20:02
=== jfroy|work is now known as jfroy
=== RAOF_ is now known as RAOF
Takwhat's the bzrlib equivalent of `bzr branch`? Branch.clone?20:43
mwhudsonTak: sprout20:48
Takthat'll do WT as well when applicable?20:49
lifelessTak: yes20:49
Takcool, thanks20:53
lifelesspoolie: I still have some symptoms; I am coding ok at the moment, but I'm going to stay fairly submarine today; if I go downhill I'll let you know20:58
=== kiko is now known as kiko-phone
phinzeokay weird lock issue doing a netcat bounce with bzr+ssh21:29
phinzeis there any way of checking manually for lock data?21:30
lifelessphinze: bzr info21:30
phinzeblank21:30
phinze(no locks)21:30
phinzehmm oh the lock is actually on the remote branch21:31
phinzelemme go there and do it21:31
=== bac is now known as fakestevejobs
lifelessbzr info <url> should work21:31
=== fakestevejobs is now known as bac
jelmermoin lifeless21:32
phinzeyeah because of the bounce the lock-url looks like chroot-3079972620:///path/to/repo/and/branch/.bzr/branch/lock21:32
mwhudsonah that bug21:32
mwhudsonbzr break-lock :push will work, i think21:32
lifelesshi jelmer21:32
ronnyjelmer: can subvertpy tell me infos about moves in the svn workdir?21:33
phinzemwhudson: nice! ty21:33
jelmerronny: only about copies21:34
* phinze is all about breaking locks21:34
jelmerlifeless: wrt bug 330928, what do you expect bzr-svn to do differently?21:34
ubottuLaunchpad bug 330928 in bzr-svn "1.12 bzr help commands failed" [Undecided,New] https://launchpad.net/bugs/33092821:34
ronnyjelmer: so i'd have to infer moves via copy + remove?21:34
jelmerronny: yeah, although I wouldn't mind seeing a utility function for inferring moves in subvertpy21:35
montwistrange problem with merge21:36
lifelessjelmer: I thought I put it in the bug: the absence of a dependency shouldn't cause noise on operations that don't need the plugins functionality21:36
montwiI upgrade just my own mysql-maria trees to bzr version 1.9; The original on launchpad is the previous versions21:36
montwinow I get a lot of conflicts, even on easy stuff when doing a merge21:37
montwiThe question:  Can one get different merges than before becasue of version 1.9 ?21:37
lifelessjelmer: you don't need subvertpy to have a command object with help text :)21:37
montwiI mean with with the 1.9 "A branch and pack based repository that uses btree index"21:38
lifelessmwhudson: montwi question, oculd that be related to the fixup script?21:39
montwiin some cases, I have a conflict but now .BASE file21:40
mwhudsonlifeless: i'm not completely sure what you mean by "fixup script" but instinct says "no"21:40
lifelessmwhudson: didn't you just forward the output of a script run on all the mysql branches?21:40
phinzemwhudson: can't seem to find that bug reported -- should i file one for the lock message to suggest break-lock :push?21:41
mwhudsonlifeless: oh21:41
mwhudsonlifeless: yes, i guess that is possible21:41
mwhudsonphinze: it's certainly reported21:41
lifelessmontwi: no, the 1.9 formats don't change the data model. However a seperate task has been done recently21:41
mwhudsonphinze: https://bugs.edge.launchpad.net/bzr/+bug/25045121:41
ubottuUbuntu bug 250451 in bzr "bzr suggests wrong URL for break-lock with a LP hosted branch" [High,Confirmed]21:41
montwilifeless: tell me...21:41
mneptokoh dear. Monty meets Robert. i'm pretty sure this day is mentioned in Revelations. :)21:41
mwhudsonmontwi: there was a bug in the initial conversion of mysql to bzr21:42
lifelessmneptok: we've met before21:42
mwhudsonhttps://bugs.edge.launchpad.net/bzr/+bug/27753721:42
ubottuUbuntu bug 277537 in bzr "annotate says revision modified file, "bzr diff -c" widly contradicts" [High,Fix released]21:42
* montwi waits with high antipation for a simple, elegant solution that doesn't require hours of work on my side21:42
mneptoklifeless: oh good!21:42
mwhudsonwe recently ran the script to fix the damage to the repositories hosted on launchpad21:43
jmllifeless: yeah, I want to review it over the next couple of days21:43
lifelessmontwi: I would guess that running the fixup script on your copy of any branches is the right answer, but I wasn't personally involved21:43
mwhudsonvila: hello!21:43
mwhudsoni didn't think running this script should have had far-reaching consequences though from what i was told21:44
montwiso I should revert the merge, run the script and try the merge again ?21:44
=== mtaylor_ is now known as mtaylor
mwhudsonmontwi: are you using --weave merges?21:44
lifelessmontwi: that is my first inclination, yes. vila: or jam: have more detail on the specific issues21:44
montwino, just bzr merge21:44
mwhudsonthen i _think_ it should be something else, 'cause the fix only affects the per-file graph but the merge3merger doesn't look at that afaik21:45
lifelessmontwi: I'll poke quickly at this; can you run 'bzr revision-info' in both branches(source and target) for the merge21:48
lifelessmontwi: I'm just steting up a work area now21:48
montwi2674 monty@askmonty.org-20090218144051-xtg0ki3hbhosiqk721:48
lifelessis it lp:mysql-server to get trunk ?21:49
montwisorry, don't have both trees21:49
lifelessmontwi: that ok, URL for the second is fine21:49
lifelessor url's for both21:50
kirklandi just did a 'bzr revert', how do i undo the revert?21:50
montwiI am basicly doing a merge with the bzr+ssh://bazaar.launchpad.net/~monty/maria/1.5 and the lp:~mysql/mysql-server/mysql-maria trees21:51
montwiSo I have a copy of the 1.5 tree here and then I did:21:51
montwibzr merge lp:~mysql/mysql-server/mysql-maria21:51
lifelesskirkland: you don't? any files reverted are backed up with ~ pattern suffixes21:52
mwhudsonkirkland: with a nasty shell script probably; revert leaves the changes in *~#~ files21:52
kirklandlifeless: okay21:52
kirklandbetter question21:52
lifelesskirkland: if you had a pending merge, you can put that back by just doing the merge again21:52
kirklandlet's say i'm currently on revision 32021:52
kirklandi want to prune only revision 31521:52
montwiI just got a lot more conflicts that expected and some have looked strange. Unfortunately I resolved a lot before starting to think something is wrong21:52
kirklandand leave everything else untouched21:53
kirklandwhat's the best way to do that?21:53
lifelesskirkland: 'bzr merge -r 315..314 .'21:53
montwiwill check if I can find one file that includes not resolved conflicts that should have been resolved21:53
kirklandlifeless: brilliant21:53
kirklandlifeless: thanks.21:53
mwhudsondoes bzr do any logging setup at import time?21:59
lifelessmwhudson: no21:59
mwhudsonhm21:59
lifelessmwhudson: its hard to undo that sort of thing, due to python.logging.sucking.hard21:59
lifelessmontwi: nearly up to testing21:59
jammwhudson: you can call 'bzrlib.trace.enable_default_logging()"22:00
poolie1hello22:00
jamhi poolie122:01
poolie1lifeless: ok, take it easy22:01
mwhudsonjam: yeah, but...22:01
mwhudsonlet me work out what i'm really complaining about first i guess :)22:01
jamlifeless: just found something odd with groupcompress22:01
montwilifeless: thanks22:01
=== poolie1 is now known as poolie
jamI put together code to support "negative" offsets22:02
montwifound one file that shows the strangeness22:02
jamso that rather than giving the bytes since-start, you can give bytes before current endpoint22:02
montwilifeless: mysql-test/extra/rpl_tests/rpl_log.test22:02
jamthe weird thing is that before zlib, it should save something like 44kB22:02
jambut *after* zlib, I actually see an increase in size of ~120kB22:03
montwiHere the .OTHER and .THIS files are almost identical but the .BASE file is very differnt from either of the files22:03
=== kiko-phone is now known as kiko
montwiit's almost as it's from and older version22:03
mwhudsonmontwi: ah, maybe you _should_ be using --weave or --lca to merge22:03
mwhudsonthe overall least common ancestor can end up being surprisingly old22:04
lifelessjam: interesting; I presume you figured that that will be smaller to encode?22:04
lifelessjam: I expect that its larger because bytes-from-start is probably a repeating pattern22:04
montwiShouldn't one normally get the .BASE from the last merge ?22:04
jamlifeless: well it is shorter for raw (uncompressed) bytes22:04
jambut you're probably right22:04
jamanyway, it was worth exploring22:06
mwhudsonmontwi: nope22:06
mwhudsonwell, maybe normally22:06
jamI also notice that for the chk invs, we have a trailing "insert" which is always followed by an insert of the final newline22:06
lifelessmontwi: ok, I get 128 conflicts, so trivially reproduced :)22:06
mwhudsonanyway, i'll let robert explain with science rather than guessing22:06
lifelessmontwi: it goes off the top but:22:06
jamlifeless: does it give a "criss-cross" warning?22:06
lifelessWarning: criss-cross merge encountered.  See bzr help criss-cross.22:06
lifelessjam: :)22:06
jamhence use --weave22:07
lifelessjam: perhaps that should be down the bottom/also at the bottom ?22:07
montwiI have already resolved some conflicts, so can I do bzr remerge on the rest ?22:07
jamlifeless: we just need to either auto-switch it on22:07
jamor use per-file graphs for merge322:08
montwibzr remerge --weave ?22:08
jammontwi: should work22:08
montwithanks; will try22:09
lifelessmontwi: I think so; I just repeated the merge with --weave, got 40 conflicts22:09
montwiok, down to 41 conflicts, sounds much better22:10
lifelessmontwi: and mysql-test/extra/rpl_tests/rpl_log.test is not conflicted22:10
asabilis there any way to convert a rich-root repo to non rich root ?22:10
lifelessasabil: no22:10
pooliejelmer, hi22:10
lifelessasabil: not in terms of 'downgrade and merge with folk that hadn't upgraded'22:11
asabillifeless: I want to convert a repo completely22:11
montwilifeless: yes, rpl_log.test is ok22:11
montwiwhy is weave not default ?22:11
asabilI am the only owner of the repo and related branches22:11
lifelessasabil: if you're already on rich root, it should work fine - just stay with that format22:12
asabillifeless: I am trying to write a filter-branch thingie22:12
Lo-lan-doI'll ask the recurring question: when's rich-root becoming default?22:12
asabilbut when I call Tree.revert22:12
asabilI hit a ValueError: Cannot have multiple roots.22:12
asabilin rich-root repositories22:12
montwilifeless: any obvious reasons why include/maria.h doesn't have a .BASE file ?22:12
montwiit's has an OTHER in THIS file22:13
lifelessmontwi: I don't think --weave generates .BASE files22:13
lifelessI may be wrong22:13
asabillifeless: any idea ?22:13
lifelessasabil: a bug in your code I suspect22:13
asabillifeless: that's definitely the case, but is there any doc that would help me understanding the issue22:14
asabilwhy the code works with non rich root ? and doesn't with rich root ?22:14
lifelessmontwi: in fact, maria.h isn't conflicted for me at all22:15
montwistrange. I had a conflict22:15
montwitrivial conflict to resolve, but still strange that we get different answers22:16
lifelessmontwi: you remerged after doing some edits22:16
montwibut I didn't commit22:17
montwiso shouldn't remerge have used the original (kind of reverted) file ?22:17
lifelessI'm not 100% sure if it looks at your edits or not22:17
montwijust noticed I am using bzr 1.10; Will update to bzr 1.12 at once22:17
lifelessits not a command I use much22:17
lifelessI used 1.11 in this test22:18
montwilifeless: no problem, the issue is resolved for that file. will see if same things happesn for files I didn't touch before22:18
lifelessmtaylor: when are you upgrading your main repos to 1.9 :)22:21
mtaylorlifeless: when you say "my main repos" ... are you referring to MySQL22:22
lifelessmtaylor: and drizzle, unless its already 1.922:22
mtaylorlifeless: drizzle is on 1.6 ... I just haven't gotten around to 1.9 upgrade yet22:22
mtaylorlifeless: I'm pinging chad about 1.9 for mysql22:23
emilejam: hi again. I tried a conversion (bzr svn-import subversion bazaar) on another system, and this time the bzr repo was actually smaller than the original svn repo. How can I confirm everything went OK? If I cd into the created directory and do "bzr log", I get: bzr: ERROR: Not a branch: "/home/emile/PW/bazaar/.bzr/branch/"22:23
jamemile: the repo isn't a branch. there should be subdirectories which *are* branches, though22:24
jambazaar/trunk22:24
jamfor example22:24
emileHey ho, and so there is! It's even kept the commit logs! The tags subdir isn't present, however. Not a major biggie, but if it can be preserved...22:26
jamemile: "bzr tags -d bazaar/trunk"22:26
jamI believe we convert tags as real "tags" and not as directorise22:26
jamdirectories/branches22:26
emileawseome. Time for me to start digging through the docs, as you can see I'll have a few svn-isms to shake loose ;)22:28
montwilifeless: did you get a conflict with mysql-test/mysql-test-run.pl22:31
montwithis didn't have a .BASE for me either22:31
lifelessmontwi: not sure, I removed the test area already :(22:31
lifelessjam: does --weave output .BASE ?22:32
=== jfroy is now known as jfroy|coalmines
montwiok, looks like I don't have any .BASE files22:33
montwinot good as it makes life harder22:33
mwhudsonlifeless: i don't think --weave even really has a sane concept of base22:34
mwhudsonit's not a three way merge22:34
=== jfroy|coalmines is now known as jfroy|bunnysuit
=== jfroy|bunnysuit is now known as jfroy
montwimerge done, now running test. will push in the morning if test suite goes trough23:10
montwisorry, wrong channel ...23:13
=== montwi is now known as montywi|sleep
asabildoes anyone see the problem with this code: http://bazaar.launchpad.net/~asabil/%2Bjunk/bzr-filter-branch/annotate/head%3A/__init__.py ?23:33
asabilI get the following traceback: http://pastebin.ca/134153523:34

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