/srv/irclogs.ubuntu.com/2008/11/13/#bzr.txt

lifelessGMT+11\00:04
jonoxerIs it possible to use 'bzr diff' or 'bzr log' on a directory, rather than an entire branch or a single file?00:12
bob2yes00:13
BrentHatwell, I am getting closer, so I thank you - hopefully I can make use of it properly before next week.00:13
jonoxerbob2: maybe I didn't explain enough. Doing 'bzr log blah.d' shows just changes to the dir itself, not anything within it. With svn I can do "svn log blah.d" to get a log with all entries touching files in that directory00:14
Peng_jonoxer: Right. I don't think there's anything you can do about that.00:15
jonoxerPeng_: Ah, OK. Thanks00:15
bob2jonoxer: hrm, sorry, I thought it did work for log.  certainly does for diff.00:22
jonoxerbob2: No problem, I'm sure we can work around it. It's a bit of a problem in our release infrastructure at the moment because we build several hundred .deb packages from one source tree, and the changelogs are automatically pre-populated with entries from log entries for the particular directory for the module00:27
bob2ah, neat00:28
Peng_If you need to, I'm sure you could manage something with bzrlib.00:28
Peng_Or send a patch to add a "--recursive" option to bzr log or something. ;)00:29
jonoxerPeng_: I hadn't thought of that, I'd just been talking to one of the infrastructure guys about making a wrapper script that gets log entries for all files in a directory and intelligently merges / sorts the results, but that'll be kinda nasty00:30
Peng_jonoxer: Won't that miss any files that have been deleted?00:31
lifelesspoolie: network loss?00:36
jonoxerPeng_: yes, true00:41
=== mw is now known as mw|out
jelmerlifeless, that patch was indeed just for review, but you didn't give me any ! ;-)01:30
lifelessjelmer: coming01:47
lifelesspoolie::02:37
pooliemm?02:37
lifelesspython -m timeit -s "import bzrlib.branch02:37
lifelessb = bzrlib.branch.Branch.open('.')02:37
lifelessb.lock_read()02:37
lifelessrh = b.revision_history()02:37
lifelessrev1 = rh[200]02:37
lifelessrev2 = rh[201]02:37
lifeless" "inv1 = b.repository.get_inventory(rev1); inv2 = b.repository.get_inventory(rev2); list(inv1.id_to_entry.iter_changes(inv2.id_to_entry))"02:37
lifeless2.41 sec per loop02:37
lifeless(first cut)02:37
poolieok, nice02:37
lifelessalso iter_changes isn't quite an entire diff02:37
lifelessits just the selection of unique content in both sides02:37
lifeless2.4 seconds per revision in log -v would clearly be unacceptable; until this is hooked into e.g. diff though its a bit cumbersome to lsprof02:38
=== timchen1` is now known as nasloc__
lifelessback02:59
=== sdboyer|class is now known as sdboyer
lifelessok03:18
lifelessthats fixed :)03:19
lifeless10 loops, best of 3: 51.5 msec per loop03:19
lifelessmtaylor: around?04:01
lifelessreal    1m55.129s04:10
lifelessuser    1m48.015s04:10
lifelesssys     0m3.708s04:10
lifelessbug 29745704:15
ubottuLaunchpad bug 297457 in bzr "bzr breaks Windows open/close dialogs in other applications" [Undecided,New] https://launchpad.net/bugs/29745704:15
lifelessfun!04:15
LeefmcQuestion: I have an issue where i am going to need to integrate with SVN.. and i really dont want to. Its not my call however, so i was hoping Bzr had some good ways to integrate with Svn. Allowing me to put out svn patches, merge patches, etc. Is this possible, and not painful, in Bzr? Or should i just dedicate and fully use Svn?04:25
bob2bzr-svn04:25
lifelessreal    16m21.006s04:27
lifelessuser    15m27.894s04:27
lifelesssys     0m2.828s04:27
Leefmcbob2: Yea i saw that on google, but before researching a ton and finding it to be a painful, non-workflow-friendly, and generally poor experience, i wanted to ask about it.04:27
Leefmcbob2: Is it indeed a decent workflow? Will it be horrible?04:27
bob2it does what you asked, and lots of people seem very happy with it04:28
lifelesstime ~/source/baz/repository/bzr log -v -r -10..-104:28
Leefmcbob2: Ok thank you04:28
lifelessthe new format figures are:04:28
lifelessreal    1m55.129s04:29
lifelessuser    1m48.015s04:29
lifelesssys     0m3.708s04:29
jonoxerbob2: it basically lets you use bzr to talk to svn repos, so you can use bzr as a direct replacement for the svn client and still do local branching etc-04:29
Leefmcjonoxer: Was that directed at me?04:29
jonoxerLeefmc: oops, yes, sorry (and sorry bob2)04:30
Leefmcjonoxer: Awesome, thanks.04:30
Leefmcjonoxer: I was really worried, because i dont think i can go back to SVN heh04:30
Leefmcjonoxer: Im addicted to distributed development :o04:30
abentleypoolie: Hi.  Did you still want to talk?04:35
pooliehey04:36
poolienot necessarily04:36
pooliei'm planning to keep going with bug 28875104:36
ubottuLaunchpad bug 288751 in bzr "bzr push to stacked branch returns error Revision <x> not in <y>" [Critical,Triaged] https://launchpad.net/bugs/28875104:36
poolieso if you'd done something on it i wanted to make sure we didn't overlap04:36
pooliei think i have a pretty good handle on it with other people here04:37
abentleypoolie: I haven't done anything on it.  I'm happy for you to continue working on it.  I'll look into the mega-slow-push bug instead.04:37
abentleypoolie: That is, after I get bzr-1.9 landed in rocketfuel.04:38
spivabentley: that appears to be at least partly bug 29447904:39
ubottuLaunchpad bug 294479 in bzr "Vast number of round-trips pushing stacked branch" [Undecided,Confirmed] https://launchpad.net/bugs/29447904:39
spivAlthough there's definitely too much history being examined via get_parent_map04:40
abentleyspiv: I found unreasonably large packs in the uploads directory of failed push attempts.04:40
spivwhat was the extension?04:40
abentleyspiv: .pack, IIRC.04:41
abentleyspiv: Case in point: bzr+ssh://bazaar.launchpad.net/%7Ethumper/launchpad/code-review-multiple-team-reviews/04:43
abentleyI moved the upload packs into backup.bzr.04:44
abentleybecause that's the only directory it allows us to create.04:44
spivRight :)04:44
spivOr you could move it anywhere under .bzr...04:44
lifelesspoolie: so, this failing test you have, where can I grab it?04:45
lifelesspoolie: I have CHKInventory.iter_changes(CHKInventory) in basic form, need the interface tests to keep fleshing it out ...04:45
spivabentley: I don't think I can see the hostetd version of that directory04:46
lifelessspiv: hitchhiker/04:46
spivlifeless: I see the mirrored version via bzr+ssh, not the hosted version, because I don't have write access to ~thumper's branches.04:48
abentleyspiv: Are you a member of Bazaar Experts?  If so, you can see hosted versions.04:48
abentleyspiv: Of anyone.04:48
spivI don't think I am, but maybe I should be.04:48
spivNope, I'm not.04:49
poolielifeless: http://sourcefrog.net/tmp/20081113-brisbane-branchbuilder.diff04:49
abentleyspiv: Well, here's the money shot: uploads contained 8.8M dum57tlbe0ig0xna38tj.pack but packs only contained 2.1K 62f49775a9349c7b4b78bb3f1483b3f9.pack04:50
spivHmm.04:51
spivHow big is the working tree?04:51
abentleyspiv: It's launchpad.04:52
spivThere was a merge of trunk in the new revisions, I think?  So maybe it was transferring a fulltext for every file that was touched, even by a merge revision.04:52
spivEven though those text versions were probably identical to ones already present in the stacked on branch?04:53
spivI believe stacking tends to transfer full texts (because even stacked pack collections should not have delta parents that do not exist in the collection), but generally it doesn't transfer many texts because only a small part of the tree is modified.04:55
abentleyspiv: It seems possible.04:55
abentleyspiv: At this point, I am not sure how much stacking honours that requirement to not have deltas between repos.04:56
abentleyspiv: It doesn't obey it 100%, because that's what poolie's fixing.04:56
spivRight.04:56
poolieabentley: at the moment i'm changing the checks to also insist that inventory parents are there ; we only do it for texts atm05:06
abentleyAre you sure that this is the right approach?  It seems to me that even if we remove the dependency on the remote repo for modified files, we'll still need it for unmodified ones.05:08
abentleyAnd in both cases, we're retrieving fulltexts from it.05:09
poolie'this' meaning not having cross-repository-boundary deltas?05:15
poolieyes, i am pretty sure05:15
pooliefirstly it's how that format is defined to work, it's just not always enforced05:15
pooliebut also, consider the case where the underlying repository has been upgraded and so the inventory deltas are no longre applicable05:16
abentleypoolie: You mean if the stacked-on repository deltas change?05:18
lifelessabentley: no, if the stacked on repository representation changes05:20
lifelessabentley: e.g. if the stacked on repository is upgraded to chk-inventory, how can we upgrade the stacking repository ?05:20
abentleylifeless: Well, how do you deal it even if there are no deltas?05:22
lifelessyou reconstruct the inventory in the stacking repository, convert to a chk inventory, and write it out to the upgraded stacking repository05:22
abentleylifeless: So it seems like you could use a similar approach, and then apply the deltas to it.05:25
lifelessabentley: how would you apply a text delta though?05:26
lifelessabentley: note that what I described did not need to access the stacked on repository05:26
abentleySo we have text deltas in the stacked repo and chk in the stacked on?05:27
abentleygenerate the CHK inventory, convert to XML, serialize, apply deltas.05:28
lifelessabentley: that seems rather more complex than just asserting that we won't text-delta across repository boundaries05:29
abentleylifeless: If you've got an XML repo stacked on a CHK repo, you're going to have to do that for inventories anyhow.05:31
abentleyFor the revision only present in the stacked-on repos.05:31
abentleyWe already do this kind of thing when applying bundles, after all.05:32
lifelessabentley: no, you don't have to do it if you have no deltas crossing repo boundaries05:33
lifelesswe're talking line-deltas, not inventory deltas05:33
abentleyHow are you going to support Repository.get_inventory_xml on a repo that's stacked on a CHK repo?05:35
lifelessabentley: I imagine it will have to do what bzr-svn does (serialise using an arbitrary xml serialiser)05:37
lifelessabentley: but that shouldn't be called at all often05:37
abentleylifeless: So you already need most of the complex code anyway.05:38
lifelessabentley: I'm not sure why that makes it more desirable05:39
abentleylifeless: Anyhow, none of this applies to texts, which never change representation.05:39
lifelessabentley: they don't yet; what about the big-files discussions we've been having05:39
lifelesswell, I guess you can get a flat form out if needed05:40
lifelessI still don't see it being feasible making it desirable; it sounds like you think its desirable to have deltas point across repository boundaries?05:40
abentleylifeless: iter_files_bytes is compatible with big-files.05:40
abentleylifeless: I think that smaller repos and faster pushes are a win, and I think the cross-format case is an edge case.05:42
lifelessabentley: cross-format is one case; its not the only way things can/will go pear shaped05:43
lifelessgit has excellent network performance - its users swear by it - and it *never* sends a delta in a network operation unless the basis is also being sent at the same time.05:44
abentleylifeless: Fair enough.  I'm starting to fade.  Another time perhaps.05:45
lifelessok, sleep well05:45
lifelessyou get snow yet ?05:45
abentleylifeless: Not here.  We got some at the epic.  g'night05:46
lifelessvila: bzrlib/tests/intertree_implementations/__init__.py05:48
vilaI'm there05:49
lifelesssee how PreviewTree is hooked in?05:49
vilaend of load_tests ?05:49
lifelessCHKInventory trees don't have a specific InterTree subclass - like PreviewTree05:49
lifelessyes05:50
lifelessso we need to do the same thing that is done for PreviewTree - we want to append a permutation for CHKInventory05:50
vilameh05:52
lifeless?05:52
lifelessvila: so, InterTree is the class that implements Tree.iter_changes(other_tree)05:55
lifelessvila: CHKInventory.iter_changes(CHKInventory) is the guts we want to use when someone does RevisionTree.iter_changes(RevisionTree) when both revision tree objects have a CHKInventory05:56
lifelessvila: intertree_implementations has the interface conformance tests that enforce correct behaviour of tree.iter_changes(tree)05:56
vilaham yes, that's the part I was missing05:56
lifelessvila: so the goal is to have a scenario, with RevisionTree[with CHKInventory].iter_changes(RevisionTree[with CHKInventory])05:57
lifelessvila: my mega-hack causes the guts I wrote to be used, but there is nothing testing that the guts meet the upper level interface (and I know they don't for e.g. specific-file diffs etc)05:58
vilaright, so first thing is looking at test failures (if any)05:59
lifelessvila: first thing is getting the tests to run against the code :)05:59
lifelessvila: second thing is looking at test failures05:59
vilaso the *actual* tests don't use your mega-hack or they do ?06:00
lifelessvila: they would, IF they ran with a pair of trees that were both RevisionTree[with CHKInventory]06:01
lifelessvila: which is why we need to add another entry to the parameterisation list06:01
vilayeah, so tell me, because with 5 parameters for the permutation I have large chances to choose a wrong combination :)06:03
lifelessvila: ok, well we had the diversion to make it clear to you :)06:05
lifelessvila: is the reason why - and the goal - clear now ?06:05
vilalifeless, reason and goal yes,06:08
lifelessok, cool06:08
lifelessso, the how06:08
lifelessthe parameters are - name, optimiser class, tree format to use for the basis tree, tree format to use for the working tree, converter to use to convert trees from working trees to test trees06:09
vilawhat is a test tree ?06:10
lifelessit is a tree for testing with, as opposed to a tree that we use to build up the shape of the tree06:10
lifelesse.g. to test dirstate we need a DirstateRevisionTree as the basis06:11
lifelessbut a dirstate revision tree is immutable06:11
lifelessso we use a mutable tree to construct the content the DirstateRevisionTree should have, and then we call a converter which does a commit and returns the basis tree - a DirstateRevisionTree06:11
vilaoh, so test trees are really the basis trees06:13
lifeless(waiting for ack when you have absorbed this - look at the code in bzrlib/tests/intertree_implementations/__init__.py bzrlib/tests/intertree_implementations/test_compare.py and bzrlib/tests/tree_implementations/__init__.py06:13
lifelessvila: they are the trees used for the test; different scenarios will use different converters06:14
vilaok06:14
vilaSo the first permutation added could be RevisionTree[with CHKinv] against another RevisionTree[with CHK] or are theses test already done elsewhere ?06:16
lifelessthat is exactly the permutation we need to add06:17
vilapfew, i wasn't totally lost then :0)06:19
lifelessno, they are not tested elsewhere, thats the point of this exercise to get them tested :)06:19
lifelessI have a partial patch for you ...06:19
lifelessinteresting, it found bugs in the current behaviour of InterTree(RevisionTree, RevisionTree)06:19
lifelessvila: http://paste.ubuntu.com/71227/06:21
lifelessvila: this is *nearly* what you need to get going06:21
lifelessvila: what it doesn't do correctly yet is to use a --development3 format rather than a --default format06:22
lifelessvila: shorter version06:22
lifelesshttp://paste.ubuntu.com/71229/06:22
vilasooo, i need a mutable_trees_to_chk_trees helper ?06:23
lifelessno06:23
lifelesswe just need to make make_branch_and_tree generate --development3 formats06:24
lifelessthough we *could* do it by having a different helper06:24
lifelessvila: rev 377106:34
lifelessvila: running ./bzr --no-plugins selftest CHK chk_map -106:35
lifelessvila: so, you have the code ? :)06:48
lifelessthe problem generally isn't *sending* the packets out to the internet06:48
lifelessits generally that the server is sending a big reply, with DF set, and then either a) the ISP not sending ICMP-WF to the server, or b) a firewall at the server end filtering the ICMP-WF06:49
spivlifeless: we were seeing it both on a large get_parent_map request, but also on a large append.06:49
lifelesssetting MTU works because it sets a starting point for the MTU negotiation that is below the actual MTU and thus even though DF is set it never triggers06:50
poolieright06:51
poolieso it's not just the maximum his client will send, but it's also advised to the server06:51
lifelessright06:51
vilagrr, too small screen, just catching up06:51
spivAnd append requests have small replies, so it appears that in this case sending packets was the problem.06:51
pooliei wonder if his mac os has a firewall installed that filters the virtual nic06:52
lifelessspiv: could well be; could be the VM environment, or hotel, or lots of things06:52
lifelesspoolie: ;)06:52
spivYeah.06:52
pooliethat might account for it being just him06:52
poolieor bad luck06:52
lifelessits a twitch-smell for me now though - hanging network, pmtud blackhole.06:52
poolieaccording to wp, ethernet is 1500 mtu06:52
pooliei think there are 40 octets of wrapping06:53
spivlifeless: right, me too06:53
vilawell, no firewall on the mac, but the VM is NATed...06:54
lifelesspoolie: ethernet frame size is 1500 IIRC06:54
lifelessI'm going to check though, cause I thought it was 1512/1514 physically06:55
pooliethere's 1500 of payload, 14 header, 4 trailer, and i think also a lower-level prelude06:55
lifelessah yes 152006:56
lifelessthat number rings large bells06:56
lifelessso yes, 1500 MTU at the ip layer06:56
poolieah ok, the client's mtu gets put into the mss option of the tcp syn packet07:01
lifelessvila: pulled ?07:07
vila:-/ Neither pull nor missing seems to work anymore :-(07:08
lifeless!07:08
vilaeeerk, john and spiv were right, just network slowness 8-(07:10
lifelessawesome07:20
vilalifeless, here we are... ./bzr selftest --no-plugins -s bt.intertree CHK failing a lot :) Yum07:20
lifelesslsprof is saying that seek is 20% of st -r -2..-107:20
lifelessvila: ok07:20
lifelessvila: we have 40 minutes to pair on this07:21
vila46/60 failures :)07:21
vilalifeless, ok, I;m at tree.py line 86607:30
vilafor the first failing test which is intertree_implementations/test_compare.py(130)test_content_modification()07:31
lifelessvila: ok, so its starting to go down my fast-path ;P07:33
vilayup, in iter_changes now (the CHK version)07:33
lifelessvila: so, its expected back 'a', and its getting 'a', 'b', and 'c' all modified07:35
lifelessah no07:35
vilano it expected nothing07:35
lifelessits expected an empty list for the unchanged set07:36
vilathere a re two things I don't understand07:36
vila1) iter_changes shouldn't return unchanged items...07:36
vila2) iter_changes shouldn't return unchanged items...07:36
lifeless'include_unchanged=True' -> iter_changes returns unchanged items07:36
vila:)07:36
vilaha, ok07:36
lifelessbut, is include_changed true in this case?07:37
vilais that a parameter for iter_changes ? Cause there is no such param there :)07:37
lifelessvila: it is a parameter for Tree.iter_changes07:37
lifelessremember CHKInventory.iter_changes is *incomplete*07:38
vilashould I add that parameter then >07:38
lifelessif it was finished you wouldn't be looking at these tests:)07:38
lifelesswell07:38
lifelessyou should figure out what is going wrong07:38
vilasure, no problem07:38
lifelessI would start07:38
lifelessby not running TestCompare07:39
lifeless./bzr --no-plugins selftest IterChanges.*CHK07:39
lifelesswill give you lower level tests07:39
vilalifeless, ok, I take notice :) I'll play a bit more with that one, just to become familiar with the stack, and switch to iTerCHanges.*CHK just after :)07:40
vilainclude_unchanged is indeed false07:41
=== doko_ is now known as doko
lifelessTREE_ROOT being included is likely going to be visible, because currently CHKInventory doesn't know that its a non-rich-root/rich-root07:42
lifelessmy poor machine, thrashing so bad fetching mysql revs07:43
* vila knows the mysql make my machine trash feeling :)07:44
=== abentley1 is now known as abentley
=== Bambi_BOFH is now known as Kamping_Kaiser
lifelessok, autopacking is not really an issue here -08:00
lifeless1637.168  Auto-packing repository <bzrlib.repofmt.pack_repo.RepositoryPackCollection object at 0x143e5d0>, which has 16 pack files, containing 14041 revisions into no more than 10 packs.08:00
lifeless1674.764  Auto-packing repository %s completed08:00
LarstiQstring interpolation yay08:01
lifeless30s, not ideal, but nothing compared to the 16K that have gone by08:01
lifelessLarstiQ: yah, forgot a mutter param, fixed in the tree08:01
stubI think https://bugs.launchpad.net/bzr/+bug/258349 is WONTFIX09:11
ubottuLaunchpad bug 258349 in bzr "Special character "ß" cannot be used in the commit message." [Low,Triaged]09:11
Kamping_Kaiserisnt that $EDITORs issue?09:31
Peng_It's INVALID, not WONTFIX, though the issue with the wording on the WindowsDownloads page is legitimate.09:38
Peng_(Well, I'd call it INVALID. I don't know what the usual Bazaar policy is. But not being able to use Unicode when your charset is set to ASCII si not a bug.)09:38
* Peng_ goes back to being /away09:47
tgahello10:46
tgaI'm having a bit of trouble with `bzr ignore`10:46
tgaI want to add the current dir to bzr, but without the /bin and /obj subdirs.. bzr init, bzr ignore /obj, bzr ignore /bin, bzr add *10:47
tgathis also adds all the stuff under /bin and /obj10:47
tgaI also tried bzr ignore bin, without the /10:48
tgahah, right, `bzr add`, without the *10:51
tgathanks for the inspiration :)10:51
bob2'*' gets expanded by your shell to all (most of) the names in the dir, bzr's ignore list only affects implied names10:53
tgayeah, I figured it out after trying to bzr ignore obj/* and getting a long list of stuff in .bzrignore10:54
awilkinsAnyone know how to make urllib ignore a proxy?10:55
awilkinsSpecifically, on win32 where there are IE proxy settings I wish to ignore them and go direct.10:55
awilkinsIs there a value of the HTTP_PROXY environment variable that will produce this behaviour?10:56
eleftheriosSwitching from subversion to bzr (and it feels like a joy), when I push changes to a dir on the server (it's a web app) I get the warning, This transport does not update the working tree of: sftp://<URL>. I pushed the branch up there using bzr push --create-prefix sftp://<URL> as per http://bazaar-vcs.org/BazaarForWebDevs. What is it exactly with the warning?11:21
Odd_Blokeeleftherios: So in bzr there are three objects you need to be aware of.  The repository, where revisions are kept, the branch, which is essentially a location and a pointer to a revision in a repository, and a working tree, which is a physical representation of a branch.11:25
Odd_BlokeWhat 'bzr push' gives you is a repository and a pointer at that URL to the correct revision in it.11:26
Odd_BlokeWhat it doesn't do is give you a physical representation of the contents of that revision.11:26
Odd_BlokeWhich, in essence, means that people will be able to branch from that URL but won't see the contents of the revision.11:26
Odd_Bloke(Won't see the contents of the revision when they look at that URL).11:27
Odd_BlokeAm I making sense?11:27
eleftheriosHm11:27
eleftheriosOdd_Bloke: No, I can't say I understand. :-/11:28
Odd_Blokeeleftherios: For example, http://bzr.daniel-watkins.co.uk/wnpp-bg/ is a branch without a working tree.11:28
Odd_BlokeIf you point your browser at it, you can't see anything.11:29
Odd_BlokeBut if you 'bzr branch http://bzr.daniel-watkins.co.uk/wnpp-bg/', you'll get a bzr branch.11:29
Odd_BlokeSo 'bzr push' puts all of the data there, but doesn't check it out.11:30
Odd_BlokeI'm not being very clear, sorry.11:31
eleftheriosso if I push rev5 there, it will have the data but will stay in say, rev3? (Which was the original rev when I did the bzr push --create-prefix)?11:31
Odd_Blokeeleftherios: No, it will update the branch to point at revision 5.  But if there is a checkout there, the contents checked out will still be those of revision 3.11:32
eleftheriosNow I am even more confused!11:33
Odd_Blokeeleftherios: Sorry, I'm over-complicating this.11:33
eleftheriosWhat have I done wrong? I went into my clean project directory, I did bzr init, then bzr add, then bzr commit -m "xxx"11:33
eleftheriosthen I pushed that on the server with bzr push --create-prefix ...11:34
eleftheriosand I am updating the server with bzr push11:34
Odd_BlokeYou have a branch, which is a series of revisions.  You also have a checkout of that branch, which is where the work happens.  When you do that 'bzr commit', bzr takes the changes from the working tree, creates a new revision and updates the branch.11:34
eleftheriosthe branch and the checkout of the branch are the same dir at the moment11:35
Odd_BlokeEssentially, yes.11:35
eleftheriosI had foo/ I got in there and did bzr init && bzr add && bzr commit -m11:35
eleftheriosI would like to have something like foo/branches foo/trunk foo/tags but I am not sure this is the right way to use bzr11:36
Odd_Blokeeleftherios: It's not. :)11:36
eleftheriosso I just use bzr branch foo foo.newbranch and work like that11:36
Odd_BlokeYes.11:36
eleftheriosok, so what else do I need to know? :-)11:37
eleftheriosand what is that warning I get?11:37
Odd_BlokeThat warning is just saying that push updates the branch (i.e. stuff in .bzr) but not the working tree.11:38
Odd_BlokeBecause updating the working tree is more complex, and you don't want it happening automagically.11:38
eleftherioswhat is the working tree Odd_Bloke? :-)11:38
eleftheriosI am reading through http://bazaar-vcs.org/SharedRepositoryTutorial now...11:39
Odd_Blokeeleftherios: It's the files you see that aren't in .bzr.11:39
Odd_BlokeIt's created from the files within .bzr.11:39
eleftheriosOdd_Bloke: the files that I see that aren't in .bzr?11:40
eleftheriosOdd_Bloke: what are these files then?11:40
awilkinsYour files that you are versioning?11:40
eleftheriosthe actual project files then11:41
awilkinsYes11:41
eleftheriosfoo/baz.py etc. But these do get pushed and updated when I do bazaar push11:41
awilkinsIt doesn't update those over a push via certain remote protocols because it's i) more complex than pushing revisions ii) costly in terms of bandwidth11:41
eleftheriosI get the warning, yet the files do get pushed and updated though...11:42
awilkinseleftherios: Are you basing your assertion on the output of `bzr st` in the remote branch?11:43
awilkinseleftherios: If the files are being updated it would seem that the message is in error and needs fixing (either so that the behaviouir is correct again or that the message is fixed)11:43
eleftheriosawilkins: I actually see the changes on the server11:44
awilkinsYou are pushing via sftp://  ?11:44
eleftheriosI change foo/baz.py in the local branch, I commit, I push and then baz.py is updated on the server too11:44
eleftheriosawilkins: yes :-)11:45
awilkinseleftherios: Are you running some kind of push-and-update hook?11:45
eleftheriosThis transport does not update the working tree of: sftp://<URL>.11:45
awilkinseleftherios: And what method are you using to look at foo/baz.py after you push?11:45
eleftheriosawilkins: yes, I have installed the plugin push-and-update as per http://bazaar-vcs.org/BazaarForWebDevs11:46
awilkinseleftherios: Right, what that does is use ssh to execute "bzr up" on the branch after it pushes11:46
awilkinseleftherios: Push is not aware of this, so it still gives you the warning11:46
eleftheriosawilkins: oh here we are, I then get running "ssh <user>@<domain> bzr update "/path/on/my/server"11:46
eleftheriosI see11:46
eleftheriosok, so now, the shared repositories are just directories where the actual project files are stored only once and shared between branches?11:47
eleftheriosor something like that?11:47
eleftherios"Each branch will share the repository for its revision storage."11:48
awilkinsYes11:48
eleftheriosOk, I get it now :-) So its benefit is that you use less disk space, any other benefits?11:48
awilkinsThis means you can create additional branches with minimal resource consumption ; standalone branches would copy the entire set of revisions11:48
awilkinsFaster, obviously11:48
eleftheriosawilkins: but no difference in merging etc11:48
awilkinseleftherios: No11:48
eleftherios(because that was my pain with bloody svn)11:49
eleftheriosawilkins, Odd_Bloke thank you very much :-)11:49
awilkins`bzr switch` becomes more useful with shared repos11:49
Odd_Blokeeleftherios: No worries.11:49
awilkinsSpecifically, a no-trees repo from which you check out working trees11:49
eleftheriosI need to read up on trees etc11:50
tgawhat exactly is the difference between trees and no trees?11:50
eleftheriosNot everything is clear in my head yet11:50
tgayeah, me too11:50
awilkinsno-trees means that the repository is just that - a repository of branches that have no working files, just revisions and metadat11:50
eleftheriosand by the way, I know Trac has a bzr plug-in but is there another similar tool for bzr guys?11:51
eleftheriosawilkins: and where do the working files go?11:51
tgaah, so a no-trees repo alone is useless11:51
tgayou need the actual files11:51
awilkinsYes, you use your no-trees repo and make a lightweight checkout from one of the branches in it11:52
awilkinsA lightweight branch is the closest Bazaar gets to an SVN working copy (although it's ligher, no pristine copy of the files therein)11:52
eleftheriosawilkins: thank you11:54
awilkinseleftherios: Loggerhead is a Bazaar branch viewer, but I don't think there is anything that covers all the bases that Trac does for Bazaar yet11:54
eleftheriosawilkins: anything in the works maybe?11:55
eleftheriosugh, built on TurboTears11:56
lifelesseleftherios: there is a bzr-trac plugin for trac12:14
lifelessand also abentley's embryonic cart; now abandoned I think12:14
LeoNerdI tried bzr with trac.. it's paaaaainfully slow12:15
eleftheriosoh is it12:15
eleftheriosIt would be nice if someone made something with modern technologies, like Pylons + SQLAlchemy fron-end project management thingy for bzr12:15
LeoNerdWell, I don't think this is bzr related... even the non-bzr parts were slow.12:15
eleftheriosoh ok12:15
LeoNerdso I've now given up on that and am working on some integration with my existing web framework. 'cept that's all in perl, so I'm having fun using perl's Inline::Python :)12:16
eleftherios:-)12:17
Peng_What uses TurboGears?12:20
Peng_Loggerhead doesn't.12:20
Peng_FWIW, Redmine supports bzr, but I don't know how well.12:20
lifelesslh isn't really that tg centric12:21
lifelessits just wsgi12:21
Peng_It's not tg at all.12:21
eleftheriosPeng_: that's what the site writes => "The primary difference is that loggerhead is built on top of TurboGears." At http://www.lag.net/loggerhead/12:21
eleftheriosThat's where I based my comment :-)12:21
Peng_eleftherios: It used to be TurboGears, but they moved to Paste a few months ago.12:21
eleftheriosAwesome :-)12:22
Peng_eleftherios: Also, https://launchpad.net/loggerhead is its current home.12:22
eleftheriosPeng_: running it now, looks really nice12:28
=== Spaz is now known as Paradoxataur
thropewhich version of loggerhead do I use for bzr 1.9?12:58
thropeis the 1.6.1 release OK?12:58
thropeis there any documentation for installing loggerhead?13:02
thropealso is there any documentation for installing bzr on centos - the repositories suggested on the web page only have 1.313:05
thropei am having trouble installing celementtree since it conflicts with elementtree which yum depends on13:07
ushimitsudokiis there a way to stop bzr from asking for a passphrase when I "bzr push lp:"?13:08
Peng_ushimitsudoki: SSH keys?13:15
ushimitsudokiPeng_: I guess i don't know how to automatically allow bzr access to my ssh keys - I think that is what i am after13:16
Peng_ushimitsudoki: What OS are you on?13:16
ushimitsudokiPeng_: ubuntu 8.1013:16
Peng_thrope: FWIW, installing Loggerhead for me was just "unpack and run serve-branches". (I should set up the init script!)13:17
thropeI'm having trouble installing celementtree on centos13:17
Peng_celementtree conflicts with elementtree? Your packager is wrong.13:17
thropeoh well13:18
thropecentos is really a pain13:18
* Peng_ waves an Ubuntu flag. :P13:18
Peng_ushimitsudoki: I'm sure bzr is finding your ssh keys, then, if you have them set up properly (~/.ssh...). Have you put your public key on Launchpad?13:18
ushimitsudokiPeng_: yes i have it on launchpad, it's just when i push up a revision to launchpad, i have to "Enter passpharase for key '/../.../id_rsa'13:19
Peng_ushimitsudoki: Oh.13:19
Peng_ushimitsudoki: That's because you put a password on your SSH key. Run ssh-agent if you don't want to have to enter it constantly.13:19
ushimitsudokiPeng_: ah thank you i will check that out13:20
Peng_ushimitsudoki: If you're on Ubuntu, it should be running already. Run "ssh-add", enter your password, and there you go.13:20
Peng_(Well, it's running already for me..)13:20
ushimitsudokiPeng_: and you appear to be correct, sir! Thanks much!13:21
Peng_:)13:21
thropePeng_: unfortunately the centos people tell me that they do conflict (celementtree and elementtree) and it appears to be impossible to have them both on the same system13:31
thropeand since yum (the package manager) requires elementtree - it doesnt seem possible to intall bzr on centos13:31
Peng_I have both installed on my Ubuntu system right now, and the universe hasn't imploded, so I daresay it's possible.13:32
Peng_thrope: You don't *need* cElementTree for bzr. ElementTree is enough; it's just slower.13:32
Peng_(A lot slower. But bzr would still /work/.)13:33
Peng_thrope: BTW, do you have Python 2.5?13:35
thropeno its 2.413:35
thropeI thought 2.4 was OK?13:35
hmeland2.4 is OK, but 2.5 comes bundled with cElementTree.13:36
lifeless2.4 is ok13:36
Peng_Yeah, what he said.13:36
lifelessas hmeland says13:36
lifelessthrope: the centos people are wrong :P13:36
lifelessthrope: celementree is a C extension for elementttree, it's not standalone13:37
thropeactually I found this on the celementtree page "Note that some distributors have included cElementTree in their ElementTree package."13:37
thropeso I'm hoping its in there and that explains the conflict13:37
Peng_thrope: Run "python -c 'import cElementTree'" to check.13:37
thropedoh, how obvious13:37
thropeyes it seems to be there13:38
lifelesshmm13:38
lifelessI need to get bzr-search CHKInventory enabled13:38
thropeis it ok to use loggerhead 1.6 releas with bzr 1.9, or should I pull the trunk13:38
lifelessthrope: should be fine13:38
lifelessthrope: but its been a while since lh released, so if you have trouble grab the trunk13:38
lifelessyay finally, revno 2K of mysql with a split-inv repo13:39
Peng_This may be a stupid question, but would bzr-search benefit from btrees?13:39
thropeof course centos doesn't have simpletal or paste13:40
lifelessit only took 22254 seconds13:40
Peng_Hmm..does "bzr branch" copy over search indexes too? Should it?13:40
lifelessPeng_: yes; I have a alpha branch with that; I need to implement a helper/subclass for -s support13:40
lifelessPeng_: it doesn't, it shouldn't13:40
Peng_Heh, okay. Why not?13:40
lifelessindexing is fast :>, network is expensive13:40
Peng_Ah.13:41
lifelessseriously, I'm seriously proud of index performance13:41
* beuno is reminded we need an "auto-index" feature for bzr-search in LH13:41
lifelessbeuno: I still don't think that that is a LH issue13:42
Peng_Please make such a feature optional. Indexing large branches kills me VPS.13:42
beunoPeng_, yes, completely optional13:43
Peng_Err, my*13:43
lifelessPeng_: yes, your memory issues :P13:43
Peng_lifeless: :(13:43
lifelessPeng_: btrees help there; also ratcheting down the batch size13:43
beunolifeless, who else would handle indexing the branches LH serves?13:43
Peng_beuno: I wrote a little script and run it occasionally.13:43
lifelessPeng_: split inventories will reduce the benefit to large batch size too, which means I can reduce it and your memory issues will be reduced13:43
lifelessPeng_: you know bzr auto-updates an index once it has it13:44
lifelessbeuno: well; I think there are several factors; just running lh on a branch isn't enough to say to me, the user wants this indexed.13:44
lifelessbeuno: bzr could do with a policy on what to auto index, for folk that dont use lh13:45
beunolifeless, sure, I want it to be a flag for server-branches, like  --auto-index or something13:45
lifelessbeuno: barry tried bzr-search today; claimed to be deleting grep afterwards :)13:45
beunoheh, I can sure understand that!13:45
lifelessbeuno: once an index is created, all write operations add to the index13:45
Peng_How much RAM does it take to index a copy of bzr.dev?13:46
beunolifeless, yeah, I know that much, it's just the initial indexing that's a PITA13:46
lifelessPeng_: one sec, I'll see13:46
Peng_Ehh, I can check myself.13:46
thropeI get ImportError: No module named pkg_resources with loggerhead13:46
beunohowever, if it could be done in bzr-search, maybe that would work as well13:46
lifelessbeuno: and I think the last thing we want is to make a web ui do an initial index13:46
lifelessbeuno: much better to have the first bzr push leave the server indexing after the client disconnectes13:46
beunook, that's true13:46
lifeless[for instance]13:47
beunothen I'll rephrase: /me is reminded he has to look into adding an auto-index option to bzr-search   :)13:47
lifelessbeuno: that would be nice13:48
beunoyeah, I've been wanting to contribute a few more things to bzr-search, I have a tomboy note with 'em somewhere13:49
beunoanyway, off to barry's for more planning on taking over the world (of open source)13:49
beunobbl!13:49
Peng_"tomboy note"?13:50
lifelessbeuno: show him lh w/bzr-search13:50
lifelessPeng_: desktop notes13:50
beunolifeless, yes, I've been luring him in so we add it to code.python.org/loggerhead13:51
lifelessbeuno: right, its just now he's seen search in CLI :)13:51
beunolifeless, yes, that was me luring him in  ;)13:52
Peng_"desktop notes"? As in a scrap of paper, or a piece of software I don't know about?13:52
lifelessbeuno: also ...13:52
beunoPeng_, software13:53
Peng_OK :)13:53
lifeless09:10 < barry> lifeless: i just heard about that yesterday and haven't had time to try it yet :)13:53
beunosudo aptitude install tomboy13:53
lifeless09:10 < barry> lifeless: but i'm eager to fill that cup of awesome13:53
lifeless09:15 < lifeless> barry: do it!13:53
beunolifeless, yes, I was behind that!13:53
lifelessPeng_: a desktop organiser13:53
lifelessbeuno: well, good work :)13:53
beunolifeless, I'm your biggest fan  ;)13:54
lifelessPeng_: wiki-like, but not html display, gtk window display13:54
fullermdI glanced past tomboy the other month.  Looked vaguely interesting.13:54
beunofullermd, you should be in sales13:54
fullermdI know.  It's a gift of mine.13:54
* beuno -> barry's13:56
thropedoes auto_publish_folder in loggerhead recurse? Ie can I just point it to ~/bzr and it will pick up ~/bzr/project/brancha for different projects and branches14:01
thropewhere does configobj come from?14:02
thropeoh got it14:02
lifelessthrope: best to use 'serve-branches' rather than logger.conf14:09
lifelessserve-branches DoesTheRightThing14:09
thropelifeless: but I want to go through apache14:09
thropecan I still use serve-branches14:09
Peng_thrope: Yes14:12
jbl1Hello all, would anyone be able to tell me if the concept of "branch locking" is applicable to bzr? Documentation search revealed nothing.14:14
lifelessjbl1: what do you mean by that concept ;P14:17
jbl1well, in some cases under CVS, you could create a file called 'cvs.lock' in the repository, which would revent any further commits to it, essentially locking the branch14:19
jbl1revent=prevent14:19
Peng_jbl1: You can't do that in bzr.14:20
Peng_I guess you'd just chmod it read-only?14:21
w00t_hmm. I used bzr fast-import to import a repo, and I seem to have no checked out files in my branches, is there a way I can populate them so I can use it as a working copy?14:22
Peng_w00t_: "bzr co"14:22
jbl1Yeah I considered that permissions option as well, looks like thats the way to go14:23
w00t_Peng_: but that would involve another copy off this, wouldn't it?14:23
Peng_w00t_: Run "bzr co" in the branch. That'll create a working tree.14:24
w00t_nope. it tells me '.bzr' in that branch already exists14:25
Peng_w00t_: Just "bzr co"? No other arguments?14:26
w00t_Peng_: yes14:26
Peng_...Huh.14:26
Peng_w00t_: Oh. It says that if there already is a working tree.14:27
Peng_w00t_: Try bzr up and bzr revert.14:27
* Peng_ shrugs14:27
Peng_That's a bad error message. :\14:27
w00t_bzr up worked14:28
w00t_and gave me a tree14:28
jelmerbeuno, is there some easy way to run loggerhead inside of apache/14:29
jelmer?14:29
beunojelmer, yes, something about pastedeploy14:30
beunowhich should be in the README14:30
jelmerah, thanks14:30
Peng_If you want it to run at the / of a domain, you probably don't even need that.14:30
jelmerPeng_: Why would that be different?14:31
Peng_If you want to run it at e.g. /bzr/loggerhead/, you need the Paste Deploy PrefixMiddleware stuff so it knows how to treat that part of the path.14:33
Peng_Otherwise, whether or not you're proxying to it from something, you don't.14:33
lifelessjbl1: you can also lock the branch, but thats considered a transient state, not a long term state14:39
Peng_And it's easy to break locks anyway.14:47
Peng_Well heck, if you have write access, no locking can stop you...14:48
Peng_But anyway..14:48
=== mw|out is now known as mw
jelmerPeng_, with mod_proxy you can also have it rewrite the URLs, etc14:49
jelmerI'd just like to keep this as simple as possible14:50
* Peng_ shrugs14:51
Peng_PrefixMiddleware is very simple.14:52
lifelessjelmer: serve-branches --prefix=/bzr/loggerhead14:59
lifelessjelmer: thats all15:00
thropeI'm having a lot of trouble getting loggerhead to work through apache ssl15:03
thropeboth with config file and with server branches15:04
thropeis there any documentation for that?15:04
thropewitht he config file I got as far as the front page (project list) but with serve-branches I can't get anything (just get not found)15:05
thropeI am running /serve-branches --port=8999 --prefix=/bzr /home/robince/bzr/pyentropy/tests/15:05
thropeand it works directly15:05
thropebut not through the apache proxy15:05
lifelessthrope: details needed about what '~not works' means for you15:06
thropewhere I have <Location "/bzr"> ProxyPass http://127.0.0.1:8999/  ProxyPassReverse http://127.0.0.1:8999/15:06
thropewell at the moment with serve-branches I get a not found error15:06
thropealthough the request shows up in the serve-branches stdout debug15:06
lifeless404?15:07
thrope127.0.0.1 - - [13/Nov/2008:15:07:11 +0100] "GET . HTTP/1.1" 404 - "-" "Mozilla/5.0 (Macintosh; U; I...15:07
thropeyes15:07
lifelessat https://host/bzr/ ?15:07
thropeyep15:08
thropebut the 404 is coming from serve-branches not from my apache15:08
lifelesssure15:08
lifelessuhm15:08
lifelessthe . is suspicious15:08
thropegoing directly works15:08
fullermdYah.  "GET ."?15:08
jelmerlifeless: Yeah, I know about standalone. I'd like to run it from inside of apache, preferably as app15:08
lifelessjelmer: well, launchpad runs it as standalone with proxypass15:10
lifelessjelmer: so its the most heavily deployed variant15:10
thropeOk - I changed location to /bzr/ instead of /bzr in apache and now get 301 not found instead15:10
thrope127.0.0.1 - - [13/Nov/2008:15:09:52 +0100] "GET / HTTP/1.1" 301 - "15:10
lifelessjelmer: you can wire up mod_python to wsgi - there are recipes on the net, even in the bzr docs I think, but - well shrug.15:11
thropeso the changes divert doesn't seem to be working15:12
lifelessthrope: ah15:12
lifelessI think I know your problem :P15:12
lifeless/home/robince/bzr/pyentropy/tests/15:12
lifelessis that a branch15:12
lifelessor a subdir of a branch15:12
thropeyep15:12
thropeit is a branch15:12
lifelessis it in a shared repo ?15:12
thropeyes15:12
lifelesstry serve-branches repo-root15:12
thropelifeless: hmm - it seems to work now but I don't have any css or images15:15
thropeand a lot of the links are to 127.0.0.115:16
thropeinstead of being rewritten15:16
lifelessthrope: workaround, add the --host option15:17
thropei already have --host=127.0.0.115:17
lifelessoh15:17
thropesince I want to restrict access to localhost15:17
lifelessremove it then15:17
lifelesserm15:18
edreamleoHello All. Bzr broke after updating ubuntu. I don't see recent bzr versions in the synaptic package manager.  Reinstalling older versions fails. How can I install the latest?  Thx.15:18
lifelessapache is meant to add headers with the external host I thought15:18
lifelessthrope: anyhow, beuno should be back online soon; ping him, he's a maintainer15:18
thropeit is the same withit removed15:18
lifelessits 2am for me :P15:18
thropeok thanks15:18
Peng_edreamleo: Ubuntu has a "bzr" package. For something newer, you could use https://launchpad.net/~bzr/+archive15:19
edreamleoPeng_: the bzr package is 1.4rc1-1~bazaar1~gutsy1, but iirc I'm using hardy heron.  This seems weird to me.15:20
Peng_edreamleo: Check /etc/apt/sources.list. Maybe you still have some references to gutsy?15:24
edreamleoPeng_: Thanks.  That's probably it.15:25
edreamleoPeng_: Yes, I see lots of references to hardy in /etc/apt/sources.list  I'm no ubuntu expert.  Can I delete the file, or must I edit it?15:29
Peng_Um. Deleting it sounds like a really bad idea.15:30
Peng_If you want apt to work.15:31
edreamleoapt would be good :-)15:31
Peng_You can look at /etc/lsb-release to see what version of Ubuntu you run.15:31
Peng_Then fix up your sources.list.15:31
Peng_If that's the problem in the first place. I'm not really an Ubuntu guy.15:32
edreamleoPeng_: At present I'm running hardy.  But I see from the bzr web page that ubuntu is up to intrepid.  Maybe I'll install intrepid first.  Anyway, thanks for your help.15:33
Peng_If your system is brokenish, I doubt throwing an upgrade at it will help.15:34
edreamleoOh.  I just see I've been confused.  sources.list is correct: it has references to hardy, which is indeed what I am running.  But the package manager is only giving me access to gutsy files.  So that appears to be the immediate problem.15:36
dobeyyou probably have a gutsy ppa in sources.list.d/ somewhere, and that version is newer than what comes on hardy15:37
dobeyi don't remember what comes on hardy though15:38
dobeyintrepid has 1.6.115:38
Peng_Hardy has 1.3.1, apparently.15:39
edreamleodobey: I have a half memory of modifying some "magic" file like sources.list.d several months ago in order to upgrade bzr at that time.  I should have made a note of what I did, but did not.  How can I find such a file?15:42
dobeyedreamleo: sources.list.d is a directory15:42
Odd_Blokeedreamleo: What is in /etc/apt/sources.list.d/?15:42
dobeyedreamleo: grep for "gutsy" in the files there, or in /etc/apt/sources.list should give you the errant file15:43
dobeyPeng_: that would explain the "gutsy" file15:43
edreamleoThe sources.list.d directory contains 3 files, all starting with edgy-universe.list15:45
thropelifeless: well turns out theres a fairly serious bug in loggerhead: https://answers.launchpad.net/loggerhead/+question/45503 have to hard code the host in to the source to get it to create the urls correctly15:45
thropebut the good news is its working now15:45
edreamleodobey:  Yes.  2 of the three files contain gutsy rather than hardy: edgy-universe.list.distUpgrade and .edgy-universe.list.save.  I'm wondering about the 'edgy' prefix.  Should I edit the dubious files or delete them all?15:49
Peng_edreamleo: The filename doesn't matter. You should edit the files.15:50
edreamleoPeng_  Thx.  Will do.15:50
dobeyif they are .distUpgrade and .save, they probably aren't being used any more anyway15:51
dobeyyou probably had the package installed before you upgraded, and it wasn't upgraded because it was already newer15:51
dobeyie, there was nothing to upgrade15:51
=== kiko__ is now known as kiko-fud
edreamleoOh my.  My ubuntu system is looking pretty hosed.  I can't uninstall bzr because of broken packages, like the Epiphany browser(!) and trying to fix the broken packages fails.  Arrrgh.  apt-get install bzr says bzr is already the latest version, and gives gibberish about evolution.16:12
=== thunderstruck is now known as gnomefreak
edreamleoOne moment.  Buried in the blah blah blah as a hint to do apt-get -f install.  I'll try that.16:13
edreamleoNo.  'apt-get -f install' fails with the same errors as when trying to fix broken packages16:14
edreamleoHmm.  The failures are in Python 2.5: I'll try messing with python...16:16
=== thekorn_ is now known as thekorn
=== kiko-fud is now known as kiko
rockyjelmer: how does bzr-svn deal with authentication? i mean can it reuse svn authentication credentials in the standard svn locations ?17:10
jelmerrocky: yes17:12
rockyvery strange, i'm trying to do a push into a svn repo where i know i have write access... and it's reporting back a 401 auth error ... if i put my credentials into the url directly https://someuser:somepass@wherever   it works fine17:13
jelmerare you on Mac OS X or Windows perhaps?17:14
rockynope, ubuntu17:15
jelmerdoes it work if you use svn+https:// rather than https:// ?17:19
jelmerrocky: ^17:20
rockyjelmer: yes it does17:22
rockyand i just installed pycurl too and discovered it was having a problem with my self-signed cert which also went away when i did svn+https://17:22
rockyi think you need to undeprecate svn+https ;)17:22
jelmerI think https:// in bzr needs to be fixed :-)17:26
w00t_does bazaar have a web frontend that isn't trac? also, if anyone knows of a guide for how to get bzr:// up and running on debian/ubuntu, that'd be lovely, google isn't being too helpful! :)17:37
jelmerw00t_: "bzr serve" should get bzr:// up and running17:38
jelmerw00t_: another web frontend is loggerhead - https://launchpad.net/loggerhead17:39
w00t_jelmer: but can that be done from the system level? also, which projects does that then serve17:39
w00t_I'll look at loggerhead, ta17:39
jelmerw00t_: you can specify the directory it should serve17:39
w00t_jelmer: ah, that's good17:40
w00t_jelmer: it's not possible to start it via xinitd or something?17:40
jelmerthere's no init script distributed at the moment, if that's what you mean17:40
w00t_*nod*17:40
w00t_that would have come in handy17:40
w00t_but regardless17:40
thropew00t_: if you plan to run it behind apache look at this: https://answers.launchpad.net/loggerhead/+question/4550317:56
thropeI've spent quite a bit of time today trying to get it to work17:56
thropeit has to be the root directory (ie its own vhost, won't redirect correctly to www.com/bzr17:57
thropeand you need to manually edit the source as per that link to have links generated correctly17:57
thrope(but that is only if you want to run it behind apache - which I do for ssl, user auth etc.)17:57
w00t_thanks for the tip, I'm not sure what I'll be doing yet :)17:57
Peng_I don't have any of those problems, but I use Lughttpd.17:57
Peng_Err, s/Lu/Li/.17:58
Peng_Maybe it's some sort of Apache mod_proxy oddity?17:58
skipmhelp - bzr novice here17:58
thropePeng_: I don't think so - its nothing to do with apache, loggerhead doesn't generate the correct links... everything is http://127.0.0.1:8080/stuff once you get past the first page17:58
thropemaybe it is apache... Idont know really17:59
Peng_thrope: Yeah, but what if Loggerhead doesn't like the headers Apache sets or something?17:59
Peng_Anyway, it's just a wild guess.17:59
Peng_skipm: Go on?18:00
thropewell I got it working now anyway with vhost and the hack from that question18:00
thropeI just think its a shame the .conf file is being deprecated for the serve-branch becuase the config file seems a lot more sensible to me18:00
* Peng_ uses serve-branches.18:00
skipmi wanted to "checkout" the latest ipython release.  I couldn't figure out how to tell what tags were available so I executed18:01
skipmbzr branch lp:ipython18:01
skipmcd ipython18:01
skipmbzr tags18:01
skipmrel-0.9.1 is the latest, so I tried18:01
skipmbzr update -r tag:rel-0.9.118:01
skipmno joy18:01
skipmI couldn't figure out how to accomplish this basic task so I simply blew away my first checkout and18:01
skipmam now executing18:01
skipmbzr branch -r tag:rel-0.9.1 lp:ipython18:01
skipmThere must have been a better way, right?18:01
Peng_skipm: 'bzr revert -r tag:rel-0.9.1' is the best thing to do.18:02
Peng_update probably should support a -r argument, but it...doesn't.18:02
skipmthanks.  switching branches hardly seems like "revert"ing.  I would never have thought to check that command18:03
thropeskipm: it's not really switching branches - in bzr branch = directory, so the ipython checkout is a single branch. The tag is just a label for a specific revision, so you are reverting to that revisition rather than switching branches (it is part of the same history that the head of the trunk is on)18:05
thropeskipm: I agree it's a bit confusing but just trying to show there is some logic to it18:06
skipmthrope: thanks for the explanation - makes a little more sense now18:06
thropeskipm: although its still a bit messy becuase the revert leaves uncommited changes in the working tree18:08
thropeso it might be neater to checkout the tagged revision so you have a clean copy18:09
thropeie ipython is the dir with the trunk branch in it18:09
thropethen  bzr co -r tag:rel-0.9.1 ipython/ ipython-0.9.118:09
thropemeans you have a checkout at the correct version in ipython-0.9.118:09
thropeand can continue to keep the trunk up to date18:09
skipmthrope: i'm not really wanting to develop, just use version control commands to get specific revisions/releases18:19
thropeskipm: I think the checkout might still be easier... if you reverted then you would have trouble when you came to update18:19
EarthLionhey how can i roll back to a previous revision?18:26
Peng_EarthLion: "Roll back"? To revert your working tree to a previous revision, use "bzr revert -r 123".18:31
mfonisowhat's the correct syntax for  "bzr push bzr+ssh... "18:35
Peng_"bzr push bzr+ssh://user@example.com/some/path/relative/to/root"?18:36
mfonisook, lemme try that18:36
Peng_(/and/not/your/home/dir)18:36
mfonisoI keep getting this: "ssh: connect to host launchpad.net port 22: Connection timed out"18:36
mfonisowhen I run "bzr push bzr+ssh://mfoniso@code.launchpad.net/~mfoniso/source-switcher/devel"18:37
Peng_mfoniso: It's bazaar.launchpad.net, not code.launchpad.net.18:37
Peng_mfoniso: Also, you could use lp:~mfoniso/source-switcher/devel as a shortcut.18:38
mfonisohmm..  I see18:39
mfonisoPeng_: I get the following error when I do that: "Permission denied (publickey). bzr: ERROR: Connection closed: please check connectivity and permissions (and try -Dhpss if further diagnosis is required)"18:42
Peng_mfoniso: I dunno. Have you uploaded your public key to Launchpad?18:46
mfonisoyeah18:46
LarstiQright user, right key?18:51
mfonisoLarstiQ: yes... I think so18:54
mfonisoPeng_:if I used the lp: shortcut, what would the full command be?18:54
Peng_mfoniso: "bzr push lp:..."18:58
mfonisowhen I do that it complains about not being able to push via http18:58
Peng_mfoniso: "bzr launchpad-login mfoniso"18:59
w00t_my gosh, bzr branch on an svn branch takes a long time19:00
mfonisook, thanks that's what I needed to do. Unfortunately I'm still stuck at with the public key error19:00
w00t_jelmer: hmm, if someone else mirrors my bzr-svn imported branch, are they able to use bzr to keep it up to date themselves?19:02
Peng_w00t_: Yes.19:04
w00t_excellent!19:04
lifelessmfoniso: are you on windows?19:12
mfonisolifeless:nope, ubuntu19:12
lifelessmfoniso: the most likely thing is that you either are not using the correct lp usercode, or you haven't uploaded your public key19:18
mfonisophew... I hope I get this fixed soon... uploading my key was serious hassle, but I finally got launchpad to accept it...19:20
mfonisoand now I'm stuck at this. :-(19:20
mfonisoI'm fresh out of options19:20
mfonisowhat do you mean when you say "...lp usercode"?19:20
lifelessmfoniso: what is your lp usercode19:20
lifelesslp == launchpad19:20
mfonisobut what do you mean by 'usercode'?19:24
mfonisodo you mean the unique id provided during registration?19:24
lifelessyes19:24
mfonisothan I'm really out of options, cos that's what I'm using..19:25
lifelessmfoniso: what is your lp usercode though19:25
mfonisowell, the error message points to the public key, I just can't see what's wrong with it19:25
mfonisolp usercode is "mfoniso"19:26
lifelessmfoniso: so this  https://edge.launchpad.net/~mfoniso is you ?19:28
mfonisoshould be... lemme see...19:28
=== mDuff is now known as nDuff
* mfoniso waits for his slow connection19:29
mfonisolifeless:  yes, that's me19:29
lifelessok19:29
lifelessand you have run 'bzr lp-login mfoniso' ?19:30
mfonisoyes19:30
mfonisoand that ran without incident19:30
lifelessok19:30
lifelessplease run 'ssh -vv mfoniso@bazaar.launchpad.net false'19:30
lifelessand pastebin the output19:31
mfonisook19:31
w00t_ugh, i interrupted a bzr branch halfway through by accident, is there any way to resume rather than restarting the process?19:31
mfonisolifeless: what's the "false" for?19:31
lifelessmfoniso: just tells it what command to run on the server19:32
mfonisook19:32
mfonisolifeless:http://www.pastie.org/31409719:35
w00t_from reading up, 'bzr pull' looks like a reasonable candidate for resuming, but i'm subsequently told that my branch ..is not a branch19:39
lifelessmfoniso: it looks to me like you have done something funny in your ~/.ssh/ directory19:40
lifelessmfoniso: you said you had trouble uploading your public key, could you enlarge on that19:40
w00t_this seems quite strange, and annoying, is there a way to work around it? or am I going to have to set this whirring for another 3-5 hours19:40
dobeyw00t_: i think you want get, not pull19:40
lifelessw00t_: if you did bzr branch... and it got interrupted, cd to the branch dir, run 'bzr init', then 'bzr pull URL'19:40
dobeypull ~= svn/cvs update19:41
lifelessdobey: get is a synonym for branch19:41
w00t_lifeless: thanks, i'll give it a go19:41
mfonisowhen I tried to upload my keys, lp complained that my keys were compromised due to a vulnerability in the ssh suite used to create it...19:41
mfonisoI created new keys and tried but kept having the same problem19:41
mfonisoat some point, I noticed something...19:41
lifelessmfoniso: that means that the new keys you created had the same problem, or you werenot uploading the new keys19:41
mfonisothe ssh key is something like so "ssh-rsa AAAAB3...."19:42
lifelessmfoniso: well, thats what a public key gets encoded like19:43
lifelessmfoniso: there are two files for every key19:43
mfonisowhen pasted in lp, the text after the ssh-rsa was on a new line from the "ssh-rsa", it looked as though it was being wrapped, but on a hunch19:43
dobeyno it should look like 3 lines when you paste in lp19:44
mfonisoI had a hunch the copy and paste may have messed with it (inserted a newline maybe), so I backspaced and hit spacebar, and launchpad accepted it19:44
lifelessmfoniso: ok, your hunch was probably ok19:44
lifelessmfoniso: now, did you create the new keys on the same machine you are using right now ?19:44
mfonisoyes19:44
lifelessas the same user19:44
mfonisoyes19:44
mfonisoin fact, I don't mind going over the process again19:44
mfonisojust to be sure,19:45
lifelessnono, thats fine19:45
mfonisook19:45
lifelesswhat file did you copy the public key from to upload to launchpad19:45
lifeless(full path to it please)19:45
mfoniso/home/mfoniso/.ssh/id_rsa.pub19:46
lifelessok19:46
* w00t_ wonders if it is really resuming19:46
lifelessI'm going to ask you to look at your id_rsa file. DO NOT SHOW ME THE CONTENTS19:46
lifeless(its your private key)19:47
lifelessbut we need to make sure its intanct19:47
lifelessthe first three lines of it should be something like this:19:47
lifeless-----BEGIN RSA PRIVATE KEY-----19:47
lifelessProc-Type: 4,ENCRYPTED19:47
lifelessDEK-Info: DES-EDE3-CBC,8B36D5AFB68087BC19:47
mfonisook19:49
mfonisothat's what it is19:49
mfonisoexcept for the part after "DEK-Info:  DES-EDE-CBC,"19:49
lifelessok19:50
lifelesscan you run 'ssh-add ~/.ssh/id_rsa'19:53
mfonisook19:54
mfonisoI ran that, entered the passphrase, and got "Identity added: /home/mfoniso/.ssh/id_rsa (/home/mfoniso/.ssh/id_rsa)"19:54
lifelessnow try the ssh ... false command again19:55
mfonisook19:56
mfonisoI get a similar message as last time19:56
lifelesspermission denied(publickey) ?19:58
mfonisoyes19:58
lifelessok20:00
lifelessit seems to me that the ssh key you uploaded does not match your id_rsa file20:00
lifelessthere are several possibilities20:01
lifelessa) your id_rsa.pub and id_rsa file were generated seperately20:01
lifelessb) you uploaded a different id_rsa.pub file20:01
lifelessc) something has been altered since creation20:01
mfonisohm...ok, how about I delete the current keys, recreate and upload?20:02
lifelesssure, if you're not using them elsewhere20:02
lifelessrm ~/.ssh/id_rsa20:02
lifelessand ~/.ssh/id_rsa.pub20:03
mfonisoyup20:04
lifelessin lp delete the current key20:04
mfonisojust recreated, uploaded, and running that command again (the ssh  command ending with "false")20:05
mfonisoI get the same error20:05
lifelessmfoniso: did you get an error about being created by a vulnerable ssh?20:05
lifelessand/or did you edit the text in  the upload window at all?20:06
mfonisoyes I did, edit the text that is20:06
lifelessok20:06
lifelessdelete the key, try without editing the text20:06
mfonisook20:07
lifelessdelete it on lp I mean20:07
mfonisoyup20:07
mfonisoyeah, I get that message about the key being vulnerable20:09
lifelessok20:10
lifelesscan you pastebin the same thing you're pasting in the lp key upload box ?20:10
mfonisook20:10
lifelessmfoniso: also please run 'ssh-vulnkey ~/.ssh/id_rsa'20:12
mfonisolifeless: http://www.pastie.org/31415120:14
mfonisossh-vulnkey says: "Unknown (no blacklist information)... "20:14
lifelessmfoniso: ok20:18
lifelessmfoniso: your editing is removing an A from the front of the key20:18
lifelessmfoniso: this makes it look like a different key20:19
lifelessmfoniso: and so you can't login20:19
lifelessmfoniso: your ssh is still vulnerable20:19
lifelessmfoniso: do you have 'security updates' turned on ?20:19
Peng_If you have ssh-vulnkey, doesn't that mean you're using a modern enough OpenSSL/OpenSSH?20:20
lifelessPeng_: no, it means you have ssh-vulnkey20:21
Peng_:P20:21
lifelessthese are the two keys: first is what was pastebinned, second was what lp had20:21
lifelessssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwUF9kcG18g4d4+LZaBxZy18on2mq3a14fFxHQOnkVMVA3OOLVj6b3KoHqxM5LfDYJRce4kbN0L8Nbe7Usk87Ru434rSFSKHZQuAVH079rM9ayrMk7h/hmGrevW1iAXn5MMAK2VEQUyY+sUGrKmyshoOSBHrh9IkD1Lk/HCgzrqNXYqO7ZyGoyFGBnJypSpZHCyTFNOxUa2g07BJqbXd9RY9yCYZQNLH21guhI36vNBWM6DfU4/xRfUAs5PWyIyHZJQJVv3nncdAlBf200KNJpcQxVlVFJEwkhax07HxIpOXGCV/Dg1cBQJCHXGvFmP39tXP92UltaxLB5u+EbMvQEw== mfoniso@xanax20:21
lifelessssh-rsa AAAB3NzaC1yc2EAAAABIwAAAQEAwUF9kcG18g4d4+LZaBxZy18on2mq3a14fFxHQOnkVMVA3OOLVj6b3KoHqxM5LfDYJRce4kbN0L8Nbe7Usk87Ru434rSFSKHZQuAVH079rM9ayrMk7h/hmGrevW1iAXn5MMAK2VEQUyY+sUGrKmyshoOSBHrh9IkD1Lk/HCgzrqNXYqO7ZyGoyFGBnJypSpZHCyTFNOxUa2g07BJqbXd9RY9yCYZQNLH21guhI36vNBWM6DfU4/xRfUAs5PWyIyHZJQJVv3nncdAlBf200KNJpcQxVlVFJEwkhax07HxIpOXGCV/Dg1cBQJCHXGvFmP39tXP92UltaxLB5u+EbMvQEw== mfoniso@xanax20:21
mfonisolifeless: I suppose that would mean the security sources are uncommented in /etc/apt/sources.list?20:22
lifelessmfoniso: just use synaptic20:22
mfonisook20:22
lifelesssettings - repositories - updates - important security20:23
lifelessmake sure that that option is ticked20:23
lifelessthen in the main window hit the reload button20:24
lifelessI'll bet it wants to update openssh etc20:24
lifelesspossibly openssl; I don't recall where the exact bug was20:24
Peng_The exact bug was in OpenSSL, so both should be upgraded.20:24
mfonisoyou are probably right, some security stuff wasn't enabled20:25
mfonisoand after "reload" it's getting a bunch of stuff20:25
mfonisolifeless: while I wait for that to complete, a question:20:26
mfonisofrom your fine detective work, it's obvious I was uploading a wrong key (having inadvertently deleted and "A" from the key)20:26
mfonisoso why did "bzr launchpad-login mfoniso" not give an error?20:27
lifelessmfoniso: two possible reasons20:27
lifelessone is that it might not be possible to tell a slightly damaged public key; I haven't read the format details20:27
lifelessthe other is the lp may be checking for known gotchas but not checking it really is a public key20:28
lifelessI think the former is more likely20:28
mfonisoI'm not sure I follow, but I have the impression it uses the public key to match against my private key when I run that command.20:30
mfonisoif that's the case, then the login should fail cos what it had wasn't my public key20:30
mfonisook, my updates are going to take quite sometime, my connection isn't terribly fast20:30
mfonisohopefully with the new ssh suite, I'll get a proper key and this problem will go away.... forever.. never to return...20:31
* mfoniso is very hopeful20:31
=== kiko is now known as kiko-phone
eleftheriosI have been bzr pushing to a remote server and after an interruption I can no longer push, I get a message that is locked. I deleted the info file under .bzr/branch/lock but now it just hangs. ANy ideas?20:42
Peng_eleftherios: "bzr break-lock $the_url"?20:44
lifelesseleftherios: don't manually change things under .bzr; you'll upset things20:44
lifelesseleftherios: as peng says, 'bzr break-lock url-you-were-pushing-to'20:45
eleftherioslet's hope that the deleted info file won't matter20:45
Peng_eleftherios: Nah, that was part of the locking procedure, so it shouldn't have done any harm. But you should do it properly.20:46
eleftheriosPeng_: it just hangs for ages...20:49
w00t_man oh man, this import is *slow* :/20:49
eleftheriosbzr break-lock returned fine20:49
eleftheriosbut the push just hangs20:50
eleftheriosno messages20:50
eleftheriosPeng_: ah here it is, an error message at last: bzr: ERROR: Could not acquire lock "LockDir(<url>)"20:51
lifelesseleftherios: what precise file did you delete20:52
eleftherios.bzr/branch/lock.info20:52
eleftherios.bzr/branch/lock/info20:52
lifelesseleftherios: ok, make sure there are no other files in .bzr/branch/lock/20:53
* eleftherios is checking20:53
eleftheriosthere are two dirs: czwk9moldm.tmp  held20:53
eleftheriosshall I delet them?20:53
lifelessyes20:54
eleftheriosok20:54
eleftheriosit worked, thank you Peng_ and lifeless :-)20:55
Peng_Should break-lock be more accepting of, well, broken locks?21:02
lifelessPeng_: maybe; or check should report or something21:04
lifelessPeng_: OTOH its not naturally occuring21:05
meuserjthe latest bzr-gtk is supposed to have nautilus integration turned on by default... but it doesn't seem to be working for me...  bzr 1.9, bzr-gtk 0.95.0, python-nautilus 0.5.121:10
meuserjis there anything I need to do to enable it?21:10
=== abadger19991 is now known as abadger1999
mfonisolifeless: I've updated my openssh suite and now have new keys (not subject to the previous vulnerability)21:42
mfonisothe problem's been solved - I've uploaded the key yo LP, and pushed my code across. :-)21:43
mfonisothanks a lot for your effort and patience21:43
mfonisoyou too Peng_21:43
mfonisothank guys, I really appreciate it21:43
abentleyspiv: around?21:46
lifelessmfoniso: no problem, happy to help21:47
Peng_mfoniso: That's great that it's been worked out. Don't forget to run security updates in the future. :)21:54
mfonisoPeng_: will do21:54
lifelessbeuno:22:38
lifelessbeuno: is there glue around to lsprof loggerhead for a single page request?22:39
beunolifeless, I don't think so, but rockstar was working on exactly that during the epic if IIRC22:40
lifelessrockstar: ^ yo, dude.22:40
lifelessbeuno: is there some function that is called and contains the entire request?22:43
lifelessbeuno: cause, if you can point me at that, I can whip it up in about 5 minutes22:43
Peng_There might be information about profiling Paste somewhere.22:44
beunolifeless, since mwhudson added streaming to it, I lost track of how that part worked22:45
beunomaybe in loggerhead/app/__init__.py?22:46
beunoare you planning on fixing our memory leaks?  :)\22:46
lifelessbeuno: no22:47
lifelessbeuno: but nice try22:47
lifelessbeuno: I want to know the impact of split-inventory on loggerhead22:47
lifelessso I can make sure it will be suitable/give you advance warning|do any changes needed to work well with it22:47
beunoah, it's great you would do that22:48
beunothere is quite a bit of the code that interacts with bzrlib that we want to change (it's part of what leaks memory)22:48
rockstarlifeless, I have a profiling branch, yes.22:51
rockstarThe Paste profiling middleware isn't great...  :(22:52
rockstarSo I wrote one that uses cProfile, and spits it to a log file.22:52
lifelessrockstar: where's the brinanch, I'll rip the guyts out and use lbzr's pofiling code22:53
lifelessmucho nico22:53
lifelessexcuse my typing, thashing machine right now22:53
lifeless*thrashing822:53
rockstarbeuno, I have a block of time this weekend that I'll be fixing the memory leaks that we know about for loggerhead.  herb would really like this fixed.22:53
lifelessbah.22:53
rockstarlifeless, how did you get non ascii characters in there?22:54
beunorockstar, so not tomorrow?22:54
beunoI'mm be flying around and recovering from jetlag this weekend  :/22:55
rockstarbeuno, probably not.22:55
beunoI'll22:55
rockstarbeuno, PQM closes tomorrow, so I'm busting ass to get stuff in.22:55
beunorockstar, yeah, i did that dance today22:55
rockstarlifeless, https://code.edge.launchpad.net/~rockstar/loggerhead/dev-tools22:56
rockstarlifeless, I'd be interested in the results.22:58
rockstarlifeless, especially if you can land it soon, so I can use it this weekend.22:59
spivabentley: I'm around now23:02
rockstarOdd_Bloke, re: bzr-laconica -- I'm relatively familiar with the API, if that helps.23:02
abentleyspiv: On a call.  Catch you later23:02
spivabentley: ok23:02
Odd_Blokerockstar: Cool.  It's trivial to do with python-twitter (i.e. "x = twitter.Api(username='foo', password='bar'); x.NewStatus('message')").23:04
rockstarOdd_Bloke, yea, it's similar.  I think I might take a stab at it soon (I've been thinking about it for a while)23:05
Odd_Blokerockstar: I was going to do it earlier, but python-twitter has tests which I'd want to ensure were testing correctly for laconi.ca as well.23:06
Odd_BlokeI'm actually incapable of submitting a patch upstream which doesn't include tests (assuming the project already has tests).23:06
Odd_BlokeI hold bzr developers collectively responsible for that.23:06
rockstarOdd_Bloke, :)23:07
lifelesshttp://paste.ubuntu.com/71472/23:15
lifelesspoolie: ^ ja123:15
lifeless:^23:15
lifelessspiv:^ etc23:15
lifelesspoolie: ja1: spiv: vila: igc:23:16
=== ja1 is now known as jam
pooliehello Odd_Bloke23:16
Odd_Blokepoolie: Hi. :)23:17
=== AnMaster_ is now known as AnMaster
igcmorning23:41

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