/srv/irclogs.ubuntu.com/2010/09/17/#bzr.txt

GaryvdMNight00:39
knittlhow are bzr revision ids calculated/generated? i'm also happy with the file name (and line number/function name)00:47
nsh22hey... is there a plugin for use with Qt Creator?00:50
=== Ursinha is now known as Ursinha-afk
jbowtieknittl: I assume you're asking about native revids? Because the plugins that talk to other VCS code can generate their own revids. (meaning bzr-svn, bzr-tfs, etc...)01:26
knittljbowtie: yes i was. but i think i found it. email-timestamp-random01:27
knittlalthough i don't understand why random and not some kind of hash01:27
jbowtieknittl: Probably no reasonable criteria for what to hash.01:29
jbowtieknittl: Don't forget that revids can originate in other places. For example bzr-tfs uses path:changeset for its revids.01:31
knittlso in bzr there is no way to verify a revid is actually the revid of that particular revision?01:32
lifelessrevids themselves are not signatures01:32
lifelesssignature are signatures01:33
knittlalso creating the exact same revision twice will generate a different revid?01:34
jbowtieknittl: If I understand the question, yes, you'll get two different revids; though I suspect they would merge cleanly in that case.01:37
knittlok01:38
pooliehi all03:05
pooliei'm having some hardware problems, will be offline a bit03:05
pooliesome web pages indicate it may be just the cable, which would be nice03:06
spivpoolie: almost more aggravating if it just a cable, though :)03:08
poolie:)03:09
lifelesspoolie_: the pad.lv root page doesn't list OOPS05:43
=== poolie_ is now known as poolie
pooliethanks05:46
lifelessjust a small thing :)05:46
pooliecan you give me an example id?05:48
pooliefixed05:55
vilading ding ding, release day, hello all !06:03
lifelesspoolie: I mean that the root page doesn't explain showing OOPS's06:03
vilapoolie: got that cable plugged now ? :-p06:03
lifelesspoolie: actually showing a specific oops works :P06:03
poolielifeless: i understand; i've fixed it now06:03
lifeless\o/06:03
pooliei was just going to use a specific example06:03
lifelessah06:03
pooliebut i guess since most people can't click them it's of limited use06:03
poolieand maybe they expire anyhow?06:04
pooliehi vila06:04
lifelesseventually yes06:04
pooliei was hoping to get stale lock detection in for the beta, but i guess i won't now06:04
poolieand i believe in resisting the temptation to slip or rush06:04
vilapoolie: you're right, I was hoping for orphans myself :)06:05
poolieso, let's just do it06:05
pooliecan release another later06:05
poolievila, i'm just running gardener06:05
pooliewhich is nice06:05
pooliebut it told me something was merged even though it has uncommitted changes06:05
poolieis that intended?06:05
vilapoolie: glad you like it06:05
vilapoolie: it's very rough so far, so it just spew out whatever if finds without dependencies06:06
poolieso that seems like a bug? do you want a report somewhere?06:07
poolieor for me to just tell you here06:07
vilathe rules can be refined, but I'm not clear yet about all edge cases, after all, you may modify a tree after it has been merged, you can forget to commit, etc, so upfront, I can't say if your case is valid06:07
vilapoolie: bug please06:08
vilapoolie: that's why I released early :)06:08
poolievila, so today shall we do 2.2.1 and 2.3b1?06:09
vilapoolie: no 2.1.2 ? Anyway, I think the most important is 2.2.1 so we can then merge up06:09
poolieand also that06:10
pooliei sent a merge up of 2.1 to 2.2 the other day06:10
pooliewould be worth checking it succeeded06:10
vilaI think I saw it06:11
vilapoolie: Can you just remind me the intended audience for 2.1.3 and 2.2.1 (2.3b1 is for everyone willing to try, but not stable yet)06:13
vila2.2.1 will go into maverick right ? Somewhere else ?06:14
poolie2.2.1 should go in to maverick updates06:14
pooliethey've just today announced the final freeze06:14
pooliei don't know if it's possible to do an SRU before the thing even officially releases06:15
pooliewe should check06:15
vilaok, added to TODO06:15
vilahmm, we don't have a place where we track which distro carry which bzr version right ?06:16
* fullermd will be updating ports...06:16
fullermdWe did have a page on the wiki once.  It was very useful for seeing when anybody bothered updating it   ;p06:16
vilaDidn't have such a page to track the installer builds ? Or was it done just by mail ?06:17
vilaThat will be very helpful for me and my alzheimer... what's the name ?06:18
pooliealso, we may want to get a specific clarification that the SRU policy and our policy agree06:18
poolieto avoid future confusion06:18
vilaI think we got such confirmation... or did I just dreamed it ?06:19
pooliehttps://bugs.edge.launchpad.net/bzr-gardener/+bug/641043 - your very first!06:19
ubot5Launchpad bug 641043 in bzr-gardener "says 'merged' about trees with uncommitted changes (affected: 1, heat: 6)" [Undecided,New]06:19
vilapoolie: anyway, yesterday mthaddon was kind enough to create a pqm 2.3 branch so I think everything is in place for whatever release we want to do06:20
vilapoolie: we may as well start with 2.1.306:21
poolieyes, lets06:21
poolie*let's06:21
pooliehow about if you do it and i'll copilot?06:21
spivvila, poolie: for some reason my __copy__ hack is failing on lp:bzr but not lp:bzr/2.2.  I've thought of a shorter, more conservative workaround for traceback duplication to use to replace the __copy__ hack, it might be good to land that to 2.2 before we make a release of 2.2.1?06:21
spiv(I was trying to merge 2.2 to lp:bzr so I could close off a couple of In Progress bugs)06:21
pooliejust in case it is subtly broken in 2.2?06:22
pooliethat makes sense to me, put it up for review?06:22
spivRight, and the minimise the delta between 2.2 and trunk.06:22
spivWill do.06:22
poolieon the whole that was perhaps not critical enough to put in 2.206:22
poolieotoh it should only affect selftest06:22
vilaspiv: if you're >90% sure about it , go, otherwise, revert please ;)06:23
vilaoh, only selftest ? make that >80% then :)06:23
vilaspiv: thanks for the heads-up anyway06:23
vilapoolie: also, for 2.3, do we allow only backports from now on or will 2.3b2 be just a pull of bzr.dev ?06:25
pooliebackports?06:26
pooliemeaning merges from trunk to 2.3?06:26
vilapoolie: I mean, what will be the policy for merging changes to 2.3. The same as 2.2 as of today, or everything from bzr.dev at 2.3b2 release time ?06:27
spivIIRC the process was that 2.3 is released from trunk until the first rc... am I misremembering?06:27
pooliethere was some discussion that having a branch makes the actual release process easier06:28
vilaspiv: yeah, that06:28
pooliein case any small fixes are needed06:28
spivvila, poolie: https://code.edge.launchpad.net/~spiv/bzr/traceback-accumulation-2.2/+merge/3577806:29
pooliethanks, +106:30
vilapoolie: wow, hold on, what about 2.0.6 ?06:39
vilahttps://edge.launchpad.net/bzr/2.0 says: Released in September 2009; supported until at least September 2010.06:40
spivThere are several worthwhile fixes that would be in 2.0.6, especially #52263706:41
vilaspiv: shameless plug :)06:41
spiv:)06:41
poolielet's do it06:42
pooliehm, what should i do now? still fix stale locks?06:44
pooliemaybe add a note about requesting SRUs to the release guide, then go back to that06:45
vilapoolie: whatever you want as long as I can interrupt you :) But if you want to summarize our policies regarding 2.0, 2.1, 2.2, 2.3, that would be good too :)06:45
pooliei'll be here for at least 2-3 hours06:49
vilameh, now what's new for 2.0, no wonder I couldn't find it :)06:50
vilabzr lp-propose -m 'Release 2.0.6' --approve lp:bzr/2.006:56
vilabzr: ERROR: bzr+ssh://bazaar.launchpad.net/%2Bbranch/bzr/2.0/ is not registered on Launchpad06:56
vilaring any bell ?06:56
poolieit sounds a lot like what thumper just changed06:57
vilagrr, firefox can't start, close any existing window (none, double checked) or *restart your system*. WTF ?07:03
vilaok, found the ghost, jinxed it07:07
vilapoolie: https://code.edge.launchpad.net/~vila/bzr/prepare-2.0.6/+merge/35779 sanity check please,  while pqm is busy07:09
vilapoolie: ping07:23
* vila plugs poolie's cable07:26
pooliepoolie: hi07:29
pooliei mean, vila07:29
vila:)07:29
pooliesure07:30
poolievila re the branch for bug 3266907:31
ubot5Launchpad bug 32669 in Bazaar "Adding a symlink to another branch fails (affected: 3, heat: 17)" [Medium,Fix released] https://launchpad.net/bugs/3266907:31
pooliehm07:32
pooliei have a comment https://bugs.edge.launchpad.net/bzr/+bug/32669/comments/14 saying "fixed in trunk after 2.2" but i don't see it in trunk's news file07:33
ubot5Launchpad bug 32669 in Bazaar "Adding a symlink to another branch fails (affected: 3, heat: 17)" [Medium,Fix released]07:33
poolieat any rate i wouldn't block 2.0.6 on it07:33
vilapoolie: me neither :) Just a heads-up for 2.0.707:33
vilapoolie: Given http://paste.ubuntu.com/495121/, I'll create a 2.0.7 milestone with a 2011-03-10 targeted date (in six months, a thursday)07:34
pooliehm07:35
pooliethat makes sense07:35
viladone07:36
poolieits host distribution may EOL before then?07:36
vilayou mean hardy ?07:37
pooliei guess so07:37
poolieactually no, isn't 2.0 in karmic?07:37
vilaanyway, that's why I asked for a policy for 2.0, 2.1, 2.2, 2.3. The milestone is there, we can always says: and this is the last 2.0 release07:38
poolieworks for me07:38
vilapoolie: ok, sanity check on https://code.edge.launchpad.net/~vila/bzr/prepare-2.0.6/+merge/35779 ?07:39
poolieyes, it's fine07:43
pooliekarmic is supported until april next year07:46
poolieso, it's probably not worth doing a 2.0.7 in march07:46
pooliebut we can see how we go closer to the time07:46
vilapff, two feed-pqm from two different setups, both errored out but both send the request :-/07:51
poolieistm we want to get on to this page: https://wiki.ubuntu.com/StableReleaseUpdates/MicroReleaseExceptions07:54
vilapoolie: istm you're deadly right07:58
pooliei'll mail the board08:00
vilapoolie: great ! thanks !08:00
vilaspiv:   http://babune.ladeuil.net:24842/job/selftest-hardy/lastFailedBuild/testReport/junit/bzrlib.tests.test_sftp_transport/SSHVendorBadConnection/test_bad_connection_ssh/ :-( how about http://paste.ubuntu.com/495128/08:04
bialixheya vila, spiv08:04
spivvila: hmm, I don't think I like that.08:05
vilaspiv: e.errno and e.args seem to be a mess that we don't handle consistently in other parts (see also bzrlib.smart.medium line 930 )08:05
spivYeah :(08:06
vilaspiv: hehe, I don't like it much either, but I want a stop-gap fix08:06
vilaspiv: I hate to discover that *now* too08:06
vilaspiv: and the comment in bs.medium is even more worrying because many other places don't even take it into account (grep socket.error)08:07
pooliedoes anyone know off hand if selftest runs during packaging?08:07
pooliei think it does not.08:07
spivpoolie: my guess is no, but I don't know either.08:08
viladunno, but it runs at each commit and at source release time08:08
pooliei know :)08:08
vilareleasing source is not part of packaging ?08:08
vilahmm08:09
spivpoolie: IIRC pitti has said that our mandatory tests-run-before-landing might be considered as good08:09
spivBut I guess it's probably not too hard to make the packaging do a selftest run.08:09
* bialix waves at poolie08:10
vilabialix: hey !08:10
pooliehi there spiv, bialix08:12
spivvila: I'm actually trying to figure out why EPIPE is being treated specially there in the first place :)08:12
vilaspiv: do you have a better idea for http://paste.ubuntu.com/495128/  that could be landed soon ? Will a huge red blinking FIXME be enough to wait for a better fix ?08:12
spivvila: as a stopgap, socket.error isn't going to be EPIPE is it?  So it could be handled in a separate except block.08:12
vilaspiv: ha cool, I'd like to have this fixed asap and preferably before cutting 2.3b108:13
vilaspiv: let me double check, I think it was08:13
vilaspiv: http://babune.ladeuil.net:24842/job/selftest-hardy/195/testReport/junit/bzrlib.tests.test_sftp_transport/SSHVendorBadConnection/test_bad_connection_ssh/08:13
spivBlah.08:14
vilaspiv: and I'm pretty sure the analysis was that it was a socket.error...08:14
spivYeah.08:14
vilaan alternative would be a more complex test with isinstance(socket) and e.args[0] or e.errno... but without tests... :-/08:15
vilas/complex test/complex if expression/08:16
vilaspiv: thks for the merge 2.2 -> dev08:16
spivvila: you're welcome, I already had it ready to go :)08:17
poolieok sent08:20
spivvila: I wonder if maybe http://paste.ubuntu.com/495134/ would do?08:21
vilaspiv: rationale ?08:22
spivvila: I don't really understand why that code is treating errno==EPIPE and EOFError as a connection error, but anything else that occurs during connection as not a connection error...08:22
spiv(despite the comment and the fact that annotate blames me :)08:22
spivvila: so I'm thinking "why not treat all of those as a regular connection error?", basically08:23
vilaspiv: and we have evidence that not handling a socket.error.EPIPE make the test fail... how does this relate ?08:24
vilanow we will raise a connection error in this case and ?08:24
vilait will be handled above and... what ?08:25
spivEPIPE there has always caused some sort of exception there08:25
spivSo if the test needs the connection to somehow succeed in that case, we're barking up the wrong tree with tweaking which exception it raises.08:26
vilaGiven that the comment is referring to some untested condition, I'm glad enough to get rid of it, worth a try at least08:27
spivWell, it's not going to solve the intermittent failure.08:28
spivIt'll give a more appropriate error, we hope.08:28
pooliei need to reply to vila's config thing...08:29
vilaspiv: ok, let's try that08:30
spivHmm, I guess the test is about failure to connect, so a more appropriate error may be the fix...08:30
vilapoolie: the orphan related one ?08:30
vilaspiv: I understand08:30
poolieyeah08:30
vilaspiv: well, I *think* I understand :)08:30
vilapoolie: amanica raised a good point about ignoring bzr-orphans08:31
* spiv experiments now08:31
spivvila: manually hacking that try block to raise various socket.errors, just unconditionally doing self._raise... works.08:34
spivvila: I'll put up a patch08:34
vilaspiv: thanks08:34
spivvila: I'd love to know what the different treatment of EPIPE was intended to achieve, though :/08:35
vilaspiv: yeah, me too, let's ask the praised one for this comment :)08:35
vilaspiv: just joking, trying to ease your pain for not remembering, I so know the feeling ;)08:37
vilaaw... 2.0 the [ascii] tests, double pain08:39
vilaplus the fact that I should add that back to babune some way or another ;-/08:40
vilaspiv: by the way, IIUC you have a patch for python addressing http://babune.ladeuil.net:24842/job/selftest-jaunty/lastFailedBuild/testReport/junit/bzrlib.tests.per_transport/TransportTests/test_readv_with_adjust_for_latency_HttpTransport_urllib_HTTPSServer_urllib_/ ?08:42
spivvila: https://code.edge.launchpad.net/~spiv/bzr/ssh-connect-socket-error/+merge/3578408:42
spivvila: yes, fixed in the upstream 2.7 branch, patch backported already to python2.6 in maverick08:43
spivvila: it's triggered by trying to things with SSLSocket objects that aren't connected08:44
spivvila: (http://bugs.python.org/issue9729 is the relevant report)08:44
vilaspiv: I know the root cause, ha cool08:44
spivvila: so if we want to avoid it in unfixed python perhaps we can find a way to avoid trying to use SSL sockets there before they are actually connected?08:44
vilaspiv: it occurs only *before* the first connection ?08:45
vilahmm, given the traceback... that's an idea worth checking...08:47
spivvila: if the SSLSocket._sslobj is not set, then various methods (including send and recv) just try to delegate to the back socket object implementation, presumably so that you'll get appropriate socket.errors08:47
spivvila: except those code paths were untested and in some cases broken in two separate ways :)08:48
vilaspiv: so we get correct socket errors (EBADF especially) if we try to use a close socket right ?08:48
vilaclosed08:48
vilaspiv: yeah, tell me about untested code ;-/08:48
spivhttp://svn.python.org/view?view=rev&revision=84806 is the patch that was committed.08:49
spivvila: I know it's triggered by never-been-connected sockets wrapped with the SSLSocket class08:50
spivvila: I haven't checked if was-connected-but-now-now-closed sockets would do the same thing08:51
vilaspiv: ok, good enough for me, I'm pretty sure the later is covered by tests08:51
vilaspiv: well, obviously the former is too ;)08:51
vilaspiv: but randomly :-D08:52
spivI was a bit depressed by the test_socket and test_ssl tests in Python.08:52
spivI'm used to nicer test infrastructure, and more comprehensive coverage.08:53
vilaspiv: right, I think I have rough idea on how to reproduce it in a test, but not now ;(08:56
vila;) I meant08:56
vilaspiv: so this patch will find its way upstream in the next 2.6 or only 2.7 ?08:57
spivvila: only 2.709:01
spivvila: IIRC upstream considers 2.6 to be security-fixes-only now09:01
vilaspiv: right, ssl is all about security isn't it ? :D09:01
spivHah.09:01
spivvila: I'm about to log off for the night, anything else you need from me urgently?09:02
vilaspiv: I don't think so, unless your current pqm submission fails in which case, I'll came personally talk to you on the beach09:03
spivOk :)09:03
vilaspiv: I'll land the fix for the EPIPE thing when needed09:03
spivI'll try to keep an eye on it and if it fails put the failure somewhere visible.09:03
vilaspiv: ok, great, enjoy your week-end !09:04
spivvila: thanks, you too, when you get the chance :)09:04
vilagrr, bzr-2.0 knows nothing about BZR_PLUGIN_PATH damn alzheimer09:07
* vila whistles while sudo mv <censored>/plugins <censored>/pluginsx , because... he can09:12
poolievila, https://code.edge.launchpad.net/~mbp/bzr/doc/+merge/35785 describes sru stuff09:14
pooliethere may be more to add09:14
pooliei don't want to duplicate the wiki too much though09:14
pooliebut please ask  questions09:14
* poolie trying to get the scripts branch through pqm09:15
pooliedid we merge the patch to omit details from skipped tests?09:16
vilapoolie: I don't know, but my understanding is that jam and mgz are shaving this yak differently so they should agree on the better way (I've ping them both)09:18
spivAt least the workaround for duplicated tracebacks will help keep the details of skipped tests to something reasonable.09:19
vilaspiv: +109:19
vilaspiv: you did land this one right ?09:19
spivOn 2.2 (which is being merged to bzr.dev as we speak)09:20
* vila drools about spiv wifi access from the beach 8-)09:20
pooliehave fun spiv :)09:20
vilapoolie: appropriate Ubuntu release for 2.0 -> >= karmic ?09:32
pooliefor 2.0 it would be karmci09:34
poolie2.1 lucid09:34
poolie2.2 mavericj09:34
vilapoolie: ok, and for ppas, I'll follow ppa.txt, but I'm not there yet09:40
vilafor those following from home: make check-dist-tarball for 2.0.6 : Ran 23384 tests in 1049.609s09:48
vilaOK (known_failures=39)09:48
vila2014 tests skipped09:48
vilabzrlib.tests.blackbox.test_branch.TestBranchStacked.test_branch_stacked_from_smart_server is leaking threads among 2523 leaking tests.09:48
vilanow running with no locale09:48
fullermdSpooky.09:50
vilapass with no locale:   [ascii] Ran 23384 tests in 994.671s10:12
vila  [ascii] OK (known_failures=39)10:12
vila  [ascii] 2260 tests skipped10:12
vila  [ascii] bzrlib.tests.blackbox.test_branch.TestBranchStacked.test_branch_stacked_from_smart_server is leaking threads among 2476 leaking tests.10:12
vilaFinally, I've got some reference point about the number of leaks10:12
spivvila: which reminds me: https://bugs.edge.launchpad.net/subunit/+bug/63767410:13
ubot5Launchpad bug 637674 in subunit "RemotedTestCase.addCleanup exists but fails under Python 2.7 (affected: 1, heat: 6)" [Undecided,New]10:13
vilaspiv: hmm, should ping mgz about it10:14
spivOh, I see the 2.2->dev branch landed.  Good.10:15
awilkinsIs there any software I can exploit to rapidly illustrate branch revision graphs?10:23
bialixqlog10:24
awilkinsEsp. something that produces "management grade" graphics?10:24
awilkinsHmmph.10:24
Glenjaminbzr-gtk adds a graph command iirc10:24
fullermdbzrtools has something that uses graphviz.10:24
Glenjamin^^ thats the one i mean10:24
bialixit does not work well on big graphs10:25
awilkinsHeh, I was kinda hoping for something that does hypothetical ones, but I suppose that's just as much work :-)10:25
Glenjamingraph-ancestry10:25
fullermdOh, well, for hypothetical ones you use ASCII-art   8-}10:25
bialixjam is very good on that10:25
Glenjaminoh i see10:25
awilkinsfullermd, I'm talking about _management grade_ visualization :-)10:25
bialixyou can search the examples in his mails10:25
fullermd4-color glossy ASCII art, then   :p10:26
vilaI heard Gary wasn't bad at generating them too ;-)10:26
awilkinsHeheheheh :-)10:26
fullermdYou could bang up fake stuff to feed into dot just like graph-ancestry does.10:26
Glenjaminvisio / omingraffle / dia i guess10:26
fullermdI'd probably fiddle with xfig if I had to do it.10:26
bialixinkscape10:26
bialixwe'll I10:27
fullermd(I love xfig.  The UI is so bizarre by modern standards that it always makes me crosseyed for the first 10 minutes I use it, but then it snaps right into focus)10:27
bialixwell I'd just draw by hand and scan it later10:27
awilkinsYeah, I've been using Inkscape up till now10:27
bialixawilkins: what is "management grade"?10:28
lifelessbialix: simple :)10:29
fullermdI presume it defines the revenue contribution of each revision.10:29
bialixrotfl10:29
fullermdAlso there need to be little clipart cartoon men pointing at them and smiling.10:29
fullermd(for bonus points, they all spontaneously burst out singing _It's A Small World_ partway through the presentation.  Come to think of it, I'd kinda dig seeing that myself.)10:30
Glenjamindo it in ascii, then apply a 3D filter to it so its at an angle10:30
bialixawilkins: look http://doc.bazaar.canonical.com/migration/en/foreign/bzr-on-svn-projects.html10:31
bialixthere is a lot of sexy pictures10:31
awilkinsbialix, Yes, I always liked those10:31
awilkinsWhat are those, inkscape?10:32
bialixno, some MacOS tool10:32
awilkinsBah.10:33
bialixI know10:33
awilkinsOught to write something that takes ASCII-art graphs and transforms them into SVG10:33
awilkinsWhich you can then stylesheet and export to PNG10:34
fullermdThe people who can do things like that are too busy writing converters that go the other way, making ASCII movies   :p10:34
GlenjaminI always find whenever i try and use a diagramming tool10:34
Glenjaminthat i wish i'd just used paper10:34
awilkinsA tool that generated Hollywood movies from ASCII art would be much more impressive10:35
fullermdIsn't that what Avatar did?10:35
Glenjaminits not something you generally do often enough to be able to do something that looks good quickly10:35
fullermdxfig works well for me once I jerk back into the mental mode to handle the UI.10:36
Glenjaminit has a horrible website10:36
fullermdI didn't even know it had a website, actually...10:37
awilkinsWoo, the recursive SVG file on the SVG page for Wikipedia is really impressive10:37
Glenjaminwhenever i see a site like this i instantly imagine it hasn't been maintained for a decade10:37
fullermdI don't think it's had a release in something like that, no.  But it still works fine.10:37
fullermdHeck, xv hasn't had a release in, what, almost 2 decades?  But I still use it every day.10:37
* fullermd wonders when the last time xbiff was touched was...10:37
Glenjaminawilkins: where's the recursive one?10:38
awilkinsGlenjamin, I figured that the one that shows an SVG file overlaid with the SVG logo was actually describing itself10:39
* awilkins opens the file10:39
awilkinsOk, it's a MITE more complex inside :-(10:40
Glenjaminoh, i thought there was an SVG which included itself and rendered an infinite picture10:41
awilkinsThat would be cool ; on a related note I have a hankering to produce an XSLT stylesheet that renders an annotated schema as a specification document, which includes a pretty-printed copy of the schema within it as an appendix10:42
fullermdIdeally also prettyprinting the XSLT   :p10:45
awilkinsHeh, just have one XML file that is the schema but has the XSLT inline so you can open it in a browser to get a "management grade" spec but also use it for implementation :-)10:46
fullermdBetter, XSL could fall into a hole somewhere for a while 'till people get around to finishing jade...    I mean, not that I'm bitter or annoyed or anything...10:48
Glenjaminjade?10:48
fullermdDSSSL processor.10:48
vilafullermd: Digital Super Slow Subscriber Line ?10:52
vilafullermd: A ZX80 should do no ?10:52
fullermdPbbt   :p10:52
vilaPoor BroadBand Type ?10:53
awilkinsI believe he meant "pttthpt"10:53
vilaawilkins: no no http not thpt10:54
* fullermd hires Bill The Cat to do his IRC'ing for him.10:54
knittlhm. i still don't fully understand a testament10:56
knittlit stores timestamp, parent revs, some text (it says indented, human-readable; but i have no idea what it is used for), and file paths in canonical form10:57
knittlso where do file contents come into play?10:57
knittlbecause obviously, having the same pathnames does not mean it's the exact same file contents10:59
Glenjaminhttp://blogs.gnome.org/jamesh/2007/10/04/signed-revisions-with-bazaar/11:01
Glenjaminthis says that "bzr testament --long" includes hashes of file contents11:02
knittlok. difficult to find bzr docs on gnome sites11:03
Glenjamini googled "bzr testament"11:03
Glenjaminits the top result.11:03
knittlstill, it's a third party observation11:04
knittlhttp://wiki.bazaar.canonical.com/Testament11:04
knittli expect the bazaar wiki to contain a little more information11:04
vilathere are a lot of third parties involved in the bzr community, that's the point of a community me thinks...11:04
vilaknittl: it's a wiki ! Your contributions will be gladly welcome11:05
fullermdWell, that's a near-standing page from a glossary jblack was working up way back in the mists of history.11:05
fullermd(near-standin that is)11:05
knittlvila: my contributions? i really don't grokk bazaar11:05
knittland i don't want to confuse others11:05
awilkinsEven asking questions is a contribution ; gives people an idea of what's important for people11:05
fullermdBut, why ask about testaments in the first place?  They're pretty specific use items.11:06
knittlbecause they come after files, ineventories and revisions11:06
fullermdLast time I heard or thought about them was when I was looking through the command list and said "hey, what's 'testament'?"  ;p11:06
fullermd(I think that wiki page is incorrect too; a testament isn't a type of revision)11:07
Glenjaminonly if you write a list "files, inventories, revisions, testaments"11:07
knittlfullermd: well, that does not help _me_ in any way11:07
knittlGlenjamin: i am11:07
awilkinsWell, it's like a crypto signature11:07
awilkinsSort of11:07
awilkinsIsh11:07
fullermdYes, but why?  A testament is basically just a representation of a revision.11:07
Glenjaminseems an odd list of evaluation criteria11:07
knittlawilkins: i know what they *basically* are, but that's nearly not enough information11:08
awilkinsSo you can say things like "this software was compiled from this revision" and know that you are talking about an exactly particular state, I suppose11:08
knittlit's like saying 'a revision is a specific version of the project'11:08
jelmerknittl: as I understand it a testament is a format-independent mechanism for verifying the contents of a revision11:08
knittlgreat, that's 1 thing a revision is made of11:08
Glenjamindoes that mean you can lookup a revision using a testament's checksum11:09
awilkinsgit just has this property because of the way it works - you can just say "revisions <blah>" where blah is the SHA-1 value and be almost totally certain that you are talking about the same thing11:09
knittlawilkins: git uses annotated tags to sign revisions11:09
jelmerGlenjamin: in theory, sure. I'm not sure what the use of that would be though11:09
awilkinsknittl, because of the way git processes data, the signature is only required to certify the SOURCE of a revision11:10
knittlon an unrelated topic: how does bzr map from revids to revisions? using an index/dictionary file?11:10
knittlawilkins: ehm. i know. i think i really know git well11:10
awilkinsknittl, The SHA-1 hash identifies any revision + it's history + it's content with certitude.11:10
knittlhashes dependent on all contents and ancestor content11:11
awilkinsApologies if I'm teaching you to suck eggs11:11
Glenjaminwhat happens when you have 2^40+1 commits?11:11
fullermdLinus comes to your house and beats you up.11:11
knittlwhy 40? sha1 is 160 bits11:11
jbowtieI see some of my documentation patches have been merged, but the bug status is still "Confirmed" (example: lp:401605)11:12
Glenjaminhrm, dunno why i had 40 in my head11:12
Glenjaminoh, its 40 chars in hex11:12
jbowtieWhat needs to happen before those get bumped to "Fix Committed" status?11:12
awilkinsOne hex char is a nibble11:12
knittl40 could be relevant to collision attacks, but 40 sounds like an awfull small number11:12
fullermdWell, all you REALLY need for a collision is two.  Finding them is the trick...11:13
Glenjamin2^51 is the collision attack number for sha1 according to wikipedia11:13
knittlmy wikipedia tells me 2⁶³11:14
fullermdOf course, most VCS exploits you'd want to do call for preimage attacks rather than just collisions...11:14
awilkinsAnd you'd have to find collisions that were both valid git trees also11:14
knittlyes. but why are we having a conversation about collision attacks on sha1?11:14
fullermdIt's more fun than discussing snails.11:14
vilajbowtie: where did they land ?11:15
knittli'm looking forward to sha311:15
knittlgrøstl ftw11:15
knittl:]11:15
vilajbowtie: I'm releasing today and I'm reviewing all of them, but if they landed recently you can mark them 'Fix Released' with a 2.3b1 milestone11:16
jbowtievila: 401605 was merged into lp:bzr, revision 5202 back in May.11:17
vilajbowtie: we don't use 'Fix Committed' anymore11:17
jbowtievila: Well that would explain it.11:17
vilajbowtie: Are they mentioned in NEWS ? If yes, the milestone where they appear applies11:18
spivjbowtie: http://doc.bazaar.canonical.com/latest/developers/bug-handling.html11:18
Glenjaminoh, while people are around11:18
Glenjamincan anyone suggest a single letter shortcut for revert --no-backup11:19
bialixbzr alias "myrevert"="revert --no-backup"11:20
bialixbzr myrevert11:20
bialixsorry, it's 2 leters11:20
Glenjamingood point11:20
bialixmake up your own!11:20
spivbialix: I'd use 'bzr alias rnb="revert --no-backup"'  ;)11:20
bialixcool! I like what spiv said11:20
fullermdRig up a foot petal!11:20
Glenjaminyeah, i have aliases for most things - dunno why that didn't occur to me11:20
vilaGlenjamin: nope, that's the only case where bzr can lose your data, you have to type it, I will even prefer --no-backup-I-know-it-will-kill-my-cat :D11:20
bialixhehe11:21
Glenjamini do a lot of "merge --uncommitted" followed by revert on the merge source11:21
jbowtieOK, so I've basically been ignoring bugs once a merge proposal is accepted. But they're still sitting there as open - so what do I do about it?11:21
jbowtieBecause otherwise my bug queue is not going to get shorter.11:21
spivjbowtie: mark it as Fix Released, targetted to the milestone of the next release (the one that will include your fix)11:22
spivjbowtie: although I think if the merge proposal includes a NEWS entry with a bug number then around the time release is made the RM will probably notice if the bug status is out of date.11:23
jbowtiespiv: So I should be touching NEWS when I fix bugs; did not realise that.11:23
spivjbowtie: we often ask for NEWS entries when reviewing patches, but we also often just add them for you if that's all that's missing.11:25
spiv(And sometimes we don't have them at all, for sufficiently minor changes or due to forgetfulness)11:25
jbowtiespiv: Hmm, I can't seem to set milestone field. #401605 needs to be updated to target the milestone.11:28
jbowtievila: Sorry - that should be for you - Launchpad is not letting me set the milestone field.11:29
vilajbowtie: that's weird... not in the right team, but which team ?11:31
vilaha, bzr-qa11:32
jbowtievila: You will forgive me if I have no clue...11:32
spivjbowtie: which milestone?11:32
spiv(we can add you to the relevant team as soon as we figure out which one that is, but in the meantime I can set this one for you)11:33
jbowtiespiv: Based on the revision number I would assume whatever's being released next11:33
vilajbowtie: adde you to bzr-qa, try with another bug11:34
vilaadded11:34
spivjbowtie: ok, set to 2.3b111:34
jbowtievila: That seems to have worked, will review my merged bugs and try to figure out which ones made 2.2 and/or 2.3b111:35
vilajbowtie: don't forget to assign the bug to yourself so we can blame you in the future :)11:35
vilajbowtie: thanks for that ! Let me know when you're done or if you need help11:36
jbowtievila: No worries; will tell you bug numbers when I finish so you can check my work.11:37
vilajbowtie: I'll get mail for that, don't worry11:39
jbowtievila: Done, wasn't as many as I thought. Only odd one was #146780 since it was fixed on wiki rather than in codebase.11:43
vilajbowtie: great. So yeas, wiki is instant-fix-released ;)11:44
knittlhow can i get a list of stored testaments for a repository/branch?11:44
jbowtieGreat, only 53 documentation bugs left to fix!11:46
knittli thought revnos do not change inside a branch?11:49
Glenjaminthey don't11:50
Glenjaminbut they can be different for the same revision in a different branch11:50
knittlthen why are my commits now 5410.1.x instead of 5411-5413?11:50
knittli did bzr pull11:50
bialixrevnos can be changed with pull/push --overwrite11:50
knittli did not use overwrite11:50
bialixyou pulled from the branch where is your local branch was merged11:51
knittlWHAT?11:51
bialixso pull makes your local branch the identical to the remote one11:51
Glenjaminpull doesn't just update your branch, it makes your branch a mirror of the remote one11:51
bialixknittl: perhaps you want to look at append_revisions_only settings for branch; it prevented to mainline revno changes11:52
knittlso you tell me revnos do not change in a branch? and then you tell me they do?11:53
Glenjaminno, your branch changed11:53
bialixyes11:53
knittlwhat now‽!11:54
bialixit depends on what you need11:54
Glenjaminbzr help pull11:55
GlenjaminPurpose: Turn this branch into a mirror of another branch.11:55
knittli have my branch. i do a pull (which should not succeed, because i have different revisions)11:55
Glenjaminyou have different revision numbers, or different revisions?11:55
knittli made 3 revisions in my branch11:55
knittlthey got merged11:55
bialixeither you have alias for pull or your local branch was fully merged into another branch11:55
Glenjaminso it has all the revisions11:56
bialixok, the latter11:56
knittlit was. but then, why do my revnos change?11:56
bialixbecause you branch was merged11:56
Glenjamintherefore no data is lost, and your branch is no longer your branch, its a fresh version of the pull location11:56
bialixyour branch11:56
knittli understand that nothing was lost11:56
* bialix shut up for a while11:56
Glenjaminif you want revnos to stay the same in your local branch, use merge - not pull11:57
knittlGlenjamin: it cannot just change my branch to something different? – even if all revisions are there11:57
bialixwhy not?11:57
Glenjaminit can, it does, it even says it will11:57
Glenjaminbecause that is what pull does11:57
knittlwhat happens if i merged? conflicts because revs are in both branches?11:58
bialixno11:58
knittlall revisions from upstream collapsed into a single merge commit?11:58
Glenjaminthe latter11:58
Glenjaminbut its expandable in the log11:58
Glenjaminand even looks pretty in bzr qlog11:59
knittlunknown command qlog11:59
knittlstill, this behavior is – in my eyes – stupid11:59
knittls/stupid/unintuitive/11:59
Glenjamininstall bzr-qt for qlog11:59
bialixit's not bzr-qt12:00
knittlno, i don't need another qt app12:00
bialixit is QBzr12:00
Glenjaminah yes, it seemed wrong as i was typing it but couldn't remember what it was called12:00
Glenjaminits only unintuitive because you used git first, and its pull command means something different12:00
Glenjaminin git, pull just means fetch then merge12:00
bialixin bzr pull means fast-forward merge12:01
knittlit's unintuitive in every imaginable way12:01
knittlfast-forward does not change revnos12:02
Glenjaminyour confusing unintuitive with "different from this other tool"12:02
bialixgit does not have revnos12:02
Glenjaminyou wanna talk about unintuitive, try git checkout == svn revert12:02
knittlthey both do what you'd expect neven if ythey are named differently)12:04
knittland i'm not even complaining that bzr is different from git12:04
Glenjaminanyway, revnos are not as important as you'd think12:04
knittlbut i expect my revnos to stay the same12:04
Glenjaminthen don't use pull12:04
knittlso i can see: bzr log -rXXX # my revision12:04
jbowtieknittl: The revids are stable in bzr - however the revnos are just a friendly representation.12:05
knittleven after i do git pull12:05
Glenjaminbasically, "bzr pull" takes the remote branch, and puts it at your local location12:05
knittlso it's bzr clone?12:06
Glenjaminand in this case the remote branch's history differed from yours12:06
knittlbzr clone --resume12:06
Glenjaminyeah, i guess so12:06
knittlbzr clone --update-and-overwrite-local-branch12:06
Glenjaminwell, only if the actual revisions are not going to be lost12:06
fullermdbzr update-my-out-of-date-mirror-of-that-branch12:07
Glenjaminwhat's do these two branches you have represent?12:07
knittlgrml. i have to accept it. still find it unintuitive12:07
Glenjaminie. which is the mainine, which is a feature branch12:08
knittlwhat's do WHAT?12:08
Glenjaminyou merged your local branch into your remote branch, so that implies that the remote one is the mainline12:08
knittli didn't merge anything. upstream merged12:08
Glenjaminwell somehow the revisions you made in local got into remote12:09
knittlyes, upstream merged them12:09
Glenjaminright, so then upstream has the mainline list of revision numbers12:10
Glenjaminwhich as far as the world-at-large is concerned, is the right revnos12:10
bialixknittl: set append_revisions_only = True in your branch.conf12:10
bialixmgz: ping12:10
mgzboing.12:10
Glenjaminbialix: that would have just stopped him from pulling, no?12:11
bialixjust discovered: python -c "print None <= 0" prints True; is it good?12:11
bialixGlenjamin: yes, stopped from pulling and compalining maybe12:11
fullermdbialix: I imagine you expect that from any duck typing language...12:11
bialixqwa12:11
mgzthat's going away in Python 3.12:12
Glenjamin>>> None == 0 #> False12:12
knittlok, no sense talking against you, for me it stays unintuitive. period.12:12
Glenjamin>>> None >= 0 #> False12:12
bialixheh12:12
Glenjamin>>> None <= 0 #> True12:12
Glenjaminthats odd.12:12
mgzPython 3: TypeError: unorderable types: NoneType() <= int()12:13
mgzit's the way it is in Python 2 so you can have a list of arbitrary objects and sort it without fuss12:13
bialixhmm12:13
bialixok, I see12:14
knittlhow can i display the saved testament of a revision?12:14
spivknittl: there's been some discussion of making append_revisions_only = True the default12:15
fullermdTestaments aren't saved.  They're generated.12:15
knittlso where is the signature stored?12:15
fullermdA testament isn't a thing, it's just a way of displaying a revision, not immorally unequivalent to 'log'.12:15
knittlwhich can be signed12:15
fullermdWell, any text can be signed.  Testaments are just what bzr created as "use this text to sign".12:16
fullermdSignatures were a separate file in knits, AIR.  I imagine they're just another data record in packs.12:16
knittlok12:16
spivI'm not sure if there's an easy way to see the signature via the command line; I can give you the Python incantation if you like.12:17
knittli'm afk now. need to smash something :D12:17
knittlspiv: no way via commandline? oh my…12:17
Glenjaminif it makes you feel any better, i found git really unintuitive cos i was used to bzr/svn semantics for the commands12:17
spivThere just hasn't been much demand to work on UI around signatures, basically.  Relatively few people care about them.12:19
knittlnobody cares about integrity?12:20
bialixwhat is integrity?12:20
fullermdA line of servers from HP, I think.12:20
spivApparently not, from the questions I've seen users ask.12:22
spivAt least, not in that form.12:22
knittlnobody cares about verifying history of a revision?12:22
Glenjaminnot really, i just care that the code in that revision works12:22
spivWell, obviously the bzr team cares, because we implemented the feature to have signatures :)12:22
Glenjaminhow it got there is bonus information for me12:22
knittlspiv: but it cannot be verified from the command line?12:23
Glenjaminon the matter of integrity, i do have some missing revisions with cause some history operations to fail on a bzr repo that used to be an svn repo (and spent a year or so being an svn repo accessed by bzr clients)12:23
spivI vaguely recall a plugin that did that.12:23
fullermdShoot.  Almost nobody even cares enough to run ECC memory; cryptographic signatures are so many steps beyond that...12:23
fullermdYeah, jam wrote a plugin AIR.12:23
Glenjaminbottom of this page http://blogs.gnome.org/jamesh/2007/10/04/signed-revisions-with-bazaar/12:24
vilafullermd: not mentioning running systems without RAID...12:24
knittlwhat if i wanted to display a signature for a revsion(testament)12:24
fullermdvila: Well, then you get into systems with (or without) RAID, but without a FS with hierarchial checksums too...   but I stray.12:24
vilafullermd: hierachical file systems !!! Who needs that ???12:25
fullermdvila: Well, nobody cares about hierarchial namespaces anyway.  I mean, look at DNS.12:26
vilafullermd: pff IP addresses, real men use MACs ;)12:26
knittlyou're confusing two transport layers here12:27
bialixknittl: `bzr testament` -- is not it what you're looking for?12:27
fullermdMacs?  I thought you were using Ubuntu   ;p12:27
knittlbialix: that does not display the signature, only the text form of a testament12:27
fullermdbialix: Testament doesn't display any signatures.  It just gens a testament for the rev.12:27
Glenjaminknittl: there's some code halfway down that page i linked that shows how to display a signature12:27
Glenjaminwhich could be trivially wrapped in a command12:27
bialixare you talking about gpg-signatures?12:28
bialixbecause I don't know what else exists in bzf12:28
knittlGlenjamin: i find it a pity there's no command for that12:28
vilafullermd: you're mixing hardware and software now ;-P12:28
knittli think i'll write a patch for that …12:28
knittlso i can again complain about rev 5432 being 5431.1.1 after pull12:28
fullermdvila: Heck, just wait'll I get warmed up!12:29
bialixknittl: `bzr pull -r5431.1.x . --overwrite`  will restore your previous history12:29
knittlbialix: but will kill upstream revs?12:30
bialixwhat it means "kill"?12:30
knittlthey are gone, aren't they?12:30
bialixyou want your precious revisions back -- you'll get them12:30
Glenjaminif you do that, then merge from upstream12:31
bialixthen merge from upstream, yes12:31
knittlGlenjamin: so, after pull --overwrite upstream revisions are gone and i have to merge (download) them again12:31
bialixknittl: no12:31
knittlthat topic was closed btw12:31
Glenjaminthey're probably cached in the repo12:31
bialixyou don't need to download them12:31
bialixthey're in the repo12:31
spivknittl: the repository won't forget the revisions12:31
bialixrun `bzr heads --dead` after pull12:31
spivknittl: the bzr pull with simply change which revision the branch considers to be its tip12:32
knittlwhatever. got work to do now12:33
spivIf you do another operation later that needs those revisions, they won't be refetched.12:33
mgzlooking at the diff of one of spiv's changes, I see I mispelt my own name in the NEWS file12:49
* maxb puzzles at getting "Repository with UUID 283d02a7-25f6-0310-bc7c-ecb5cbfe19da at svn://anonsvn.kde.org/home/kde contains fewer revisions than cache." from bzr-svn13:18
maxb(non-reproducible)13:18
=== oubiwann is now known as oubiwann-away
=== oubiwann-away is now known as oubiwann
=== Ursinha-afk is now known as Ursinha
maxblifeless: Is there a debian packaging branch for testtools in sid?14:26
knittlraise errors.NoSuchRevision(self, revision_id)14:45
knittlbzrlib.errors.NoSuchRevision: CHKInventoryRepository('file:///home/knittl/bzr/bzr/.bzr/repository/') has no revision pqm@pqm.ubuntu.com-20100917091211-1e9h9nf6bsdjr6bd14:45
knittl$ bzr log -rrevid:pqm@pqm.ubuntu.com-20100917091211-1e9h9nf6bsdjr6bd14:45
knittl------------------------------------------------------------14:45
knittlrevno: 5431 [merge]14:45
knittlso, what's wrong?14:46
Glenjaminknittl: are you trying to output the signature?15:01
Glenjamini wrote a quick command to do that, and got the same nosuchrevision error15:02
Glenjaminif there's no signature, thats the exception that gets thrown15:04
knittlGlenjamin: yes15:05
Glenjaminknittl: https://code.launchpad.net/~glenjamin/+junk/bzr-signature is as far as i got15:10
Glenjaminbut i have no repos with signed revisions15:11
dobeyif i sprout() a branch from an existing bzr branch, and commit to the new branch, why would basis_branch().get_revision_id() on the new branch, return the last revision committed to the new branch, rather than the last revision of the basis branch?15:15
GaryvdMdobey: Maybe you need to unlock, and relock15:19
GaryvdMdobey: Oh sorry - I miss read the question. Please ignore my answer.15:20
dobeyhmm15:40
=== zyga is now known as zyga-food
GaryvdMHi vila. How is it going?16:48
vilaGaryvdM: at pqm pace...16:49
GaryvdMvila: Ah16:49
vilaGaryvdM: 2.0 requests are twice as slow and I didn't order them as I should have16:50
Glenjaminis anyone familiar with the inner workings of QBzr? I was trying to see how to add --diff-options into qdiff the other day and couldn't for the life of me see how it worked16:51
GaryvdMGlenjamin: I can help you in a sec.16:51
=== zyga-food is now known as zyga
Glenjaminmy actual goal is just to be able to say "ignore whitespace"16:51
GaryvdMGlenjamin: so it would be cool if you could specify that from both the command line, and the ui. We are planing to make the qdiff ui simillar to new qannotate ui.16:53
GaryvdMthen we can have all the view options in a menu.16:54
Glenjamini see16:54
GaryvdMGlenjamin: but to start from the command line would be easier.16:54
Glenjaminis there a way to change the qannotate colours?16:54
GaryvdMGlenjamin: The colours are chosen from a hash of the committers name.16:55
Glenjaminheh, my boss gets hot pink16:55
GaryvdMGlenjamin: you would need to change the code to do this.16:55
Glenjaminclever approach to colour selection though16:55
GaryvdMGlenjamin: As the commit gets older, it changes towards white.16:55
Glenjaminis that pretty new? I'm sure i've used qannotate before and its been pastel colours like qdiff16:56
GaryvdMGlenjamin: Those must have been older commits.16:57
GaryvdMGlenjamin: so to add a commandline option to qdiff, you need to start in lib/commands.py17:00
Glenjaminthat bit I can do, but i couldn't see how diffwindow gets its content17:00
Glenjaminor can i just assume it does, and pass the flag through to _get_ext_diff_args17:01
GaryvdMget_ext_diff_args is used when launching a external diff program. You need to change get_diff_window_args.17:02
Glenjamindoes the external diff button only appear if its configured then?17:03
GaryvdMYes17:03
GaryvdMGlenjamin: but you will need to change every get_diff_window_args, as you will need to change what is expected from that method.17:03
GaryvdMGlenjamin: there are 2 in commands.py, and 3 in diff_args.py17:04
knittlwouldn't it make more sense to default to the current revision instead of the last one?17:04
Glenjaminwould it make sense to have it return a dict instead of a tuple?17:05
Glenjaminknittl: the current revision is the last one, i assumed17:05
knittle.g. in cmd_testament -> if revision is None: revision = b.last_revision()17:05
knittlGlenjamin: not if you do bzr update -r old_revision17:05
knittlbut i'm not really knowledgeable of bzr internals, so i could be mistaken17:05
Glenjamini didn't dig into the branch/revision API, i just used an example that worked17:05
Glenjaminif you want to extend it so -r actually works, please do :)17:06
GaryvdMGlenjamin: Yes, a dict makes more sense.17:06
knittlunhashable type list. i think i'm getting closer17:06
knittlhm. that's not my code that's crashing :-/17:07
knittlwoohoo17:07
GlenjaminGaryvdM: so once i've sorted out the arguments, where abouts can i plug in and tell the diff bit to ignore whitespace?17:10
=== beuno is now known as beuno-lunch
=== deryck is now known as deryck[lunch]
GaryvdMGlenjamin: I'm not sure what is the best way to implement this. One way is to modify the text that you pass to the diff, so that all white space is removed. You will need to keep track of what white space you removed, so that you can translate the ranges of the hunks returned for positions with out whitespace to positions with whitespace.17:13
Glenjamini wonder if it almost makes sense to allow the internal diff algorithm to ignore whitespace17:13
Glenjamini was kind of hoping qdiff was a thinner wrapper around diff than it actually is17:14
GaryvdMGlenjamin: It does this at line 377 of diffwindow.py17:14
GaryvdMGlenjamin: yhea - sorry about that. The only thing we use is a SequenceMatcher.17:15
Glenjaminoh i see, this is the actual differencing17:16
GaryvdMYes17:17
Glenjaminok, i follow your suggestion now17:21
Glenjaminsounds fiddly, but doable17:21
Glenjamini might give it a shot this weekend17:21
GaryvdMGoodluck17:21
nprasath002hi i,m just starting to use bazaar. how can a get gui interface for bazaar. what plugin will do that?17:40
dashnprasath002: 'bzr explore' should do it in most recent versions17:40
dashhow did you install it?17:41
nprasath002i use via synaptic package manager17:41
dashok, then that should work.17:41
nprasath002thanks17:41
knittlwhere should i put show-signature and how can i inform bzr of the new command? i thought @display_command would be enough18:02
dobeyanybody can help with my previous question?18:03
dobeyif i sprout() a branch from an existing bzr branch, and commit to the new branch, why would basis_branch().get_revision_id() on the new branch, return the last revision committed to the new branch, rather than the last revision of the basis branch?18:03
GaryvdMdobey: on what object are you calling basis_branch()? I grep bzr.dev for that method, and could not find it.18:04
knittlwhy aren't there utility functions like 'openBranch' or 'getRevisionId'?18:05
knittlseems like if rev is None: rev_id = b.last_revision() else: rev_id = revision[0].as_revision_id(b) is used quite a lot18:05
knittlas is if branch == '.': b = Branch.open_containing(…)…18:05
GaryvdMknittl: are you writing a plugin? if so, put this in the plugins __init__.py:18:07
ddaaknittl: they are static methods, like Branch.open18:07
GaryvdMfrom bzrlib.commands import plugin_cmds18:07
GaryvdMplugin_cmds.register_lazy(name, aliases, module)18:08
knittlGaryvdM: i don't know if it's a plugin18:08
knittlshow-signature18:08
knittlddaa: so? what prevents utility methods? even better suited for calling static methods?18:08
GaryvdMknittl: Are you going to have this command live in bzrlib, or a plugin?18:09
ddaaBecause: python -c 'import this' | grep Namespaces18:09
knittlGaryvdM: right now it is in bzrlib18:09
ddaaalso, it makes it obvious what these functions return18:09
ddaaBranch.open returns a Branch...18:09
GaryvdMknittl: Look at bzrlib/builtins.py18:09
knittlddaa: i don't understand? if rev is None: "default" else: "get id" is used a lot18:10
knittlGaryvdM: i've put it there already18:10
dobeyGaryvdM: a bzr Branch18:10
ddaaknittl: because: python -c 'import this' | grep ambiguity18:11
dobeyGaryvdM: sorry, typo. basis_tree(), not basis_branch()18:11
knittlIn the face of ambiguity, refuse the temptation to guess.18:11
knittlwhat does that tell me? :-/18:12
ddaamaybe I don't understand your problem18:12
knittli think so18:12
knittlmy question is: the code »if branch == '.': b = branch.open_containing(branch)[0] else: b = Branch.open(branch)« is used over and over18:13
=== beuno-lunch is now known as beuno
knittlwhy isn't there a single function which returns the correct »b«?18:13
knittlsame goes for »if revision is None: rev_id = b.last_revision() else: rev_id = revision[0].as_revision_id(b)«18:13
GaryvdMdobey: The basis_tree for a working tree is the tree which the wt is based on. It will be the parent of the revision for the next tree.18:14
knittlGaryvdM: my command class is in builtin.py18:15
knittlhow do i register it for autocompletion?18:15
GaryvdMdobey: It has no relation to the parents branch tip, or common ancestor.18:15
knittli cannot find register_something for the other classes in that file18:15
dobeyGaryvdM: how do i get the last revision from the parent tree that a branch is based on, then?18:15
dobeyi need the revision id or revno of the last revision from the parent tree18:16
knittland should i use sys.stdout.write or self.outf.write?18:16
knittldifferent (existing) commands use one or the other form18:16
GaryvdMdobey: I'm not sure exactly offhand, but you are looking for how to get the common ancestor18:17
knittlcmd_testament uses sys.… and cmd_plugins uses self.…18:17
GaryvdMdobey: From the command line, you could do bzr diff -r ancestor:../trunk/18:17
dobeyGaryvdM: but how do i do that with bzrlib? i don't want a diff, i just want a reference, so i can iter over the revisions since that revision18:19
dobeyGaryvdM: ie, i need to get all authors for all revisions, after the branch from the ancestor18:20
GaryvdMdobey: ok - take a look at the code for bzr missing --mine-only. that will do what you need18:21
knittlshould i use self.outf.write or sys.stdout.write?18:22
knittland how do i register the command for autocompletion?18:22
dobeyGaryvdM: do you know where that code is? i'm having trouble finding it. if it's find_missing() in bzrlib.missing, then i can't really go that route :(18:25
pickscrapeIs anyone aware of a workaround for bug 389674?18:30
ubot5Launchpad bug 389674 in Bazaar "NotImplementedError(_PreviewTree.inventory) when unshelving must create the parent directory (affected: 3, heat: 3)" [Medium,Confirmed] https://launchpad.net/bugs/38967418:30
GaryvdMdobey: why not? If you look in find_missing, you will see that it opens the revision dags of both branches, and finds the revision unique to each branch, but you only need to get the revisions unique to one of the branches.18:35
dobeyGaryvdM: because how do i point at the remote branch if i've only got the local one to look at?18:36
GaryvdMdobey: if you don't have access to the remote branch, you will need to record what it's tip was when you branch it. Bzr does not currently store this.18:38
dobeyfail :(18:39
=== frakturfreak_ is now known as frakturfreak
GaryvdMdobey: What are you trying to do?18:39
dobeyGaryvdM: get all the authors of all revisions in a branch, since it was branched from its ancestor18:40
ovnicrafthi folks i want to configure bzr with my user for pull/push but my laptop user is different from my lp user?18:40
GaryvdMdobey: And it has to work with no connection to the ancestor?18:41
ovnicrafthow i can do this?18:42
GaryvdMovnicraft: You can create a ~/.bazaar/authentication.conf18:43
dobeyGaryvdM: preferably, yes. i might be able to hack it to pass in the other branch, but that makes things amazingly complex, since it might have changes since the child branch was made18:43
GaryvdMknittl: It seem that commands.py scans the builtins module for classes whos names start with "cmd_". Is your command named accordingly?18:45
ovnicraftGaryvdM, can i add th user here: parent_location= bzr+ssh://myuser@bazaar.launchpad.net/%7Eopenerp/openobject-server/trunk/ ?18:46
ovnicraftand get it done18:46
GaryvdMovnicraft: Yes18:46
GaryvdMNight all.18:47
knittlhm, gary is offline18:50
knittlyes, my command is named cmd_show_signature18:50
knittlhttps://code.launchpad.net/~knittl/bzr/show-signature who wants to test?19:07
dobeyabently, jam: ^^ is that true? do i need both branches to be able to determine the revno/revid of the ancestor from which a branch was created?19:12
jamdobey: I'm not sure what you are ^^ at, but if you want to run "ancestor:" you need a branch19:13
=== Ursinha is now known as Ursinha-lunch
jamnote that you can pretty trivially create a branch with "bzr branch --no-tree -r x.y.z . ../ancestor-branch", etc.19:14
jamwith --no-tree and a shared repo, it is rather lightweight.19:14
jamCertaintly the bzrlib internals support more19:14
jamjust hasn't been needed from the commandline19:15
dobeyjam: previous converation with garyvdm. can i do it with just the child, or do i need both branches? i'm doing it from bzrlib, inside tarmac19:15
jamdobey: how do you know what the "ancestor" is?19:16
jamwithout having its branch19:16
jamif you mean "I need the tip pointer of the branch I branched from", no bzr does not store that19:16
jamalso, it is not accurate once you have merged from the ancestor branch19:16
dobeythat's what i'm trying to figure out19:17
jamif I do "bzr branch foo bar; bzr commit -m "foo" foo ; "bzr commit -m "bar" bar; cd bar; bzr merge ../foo; bzr commit -m "both"19:17
jamthen what is the actual answer?19:17
jamwhat happens if foo merges bar 1 time, etc, etc19:17
jamyou really want something like "Graph.find_unique_ancestors()" but you need to have the current tip of the branch you are comparing against19:18
jamIMO19:18
jamdobey: I said that pretty fast, but I can spell it out if you would prefer19:18
dobeywell, if i could get the info from the merge proposal in launchpad, i'd be just as happy.19:18
dobeysince launchpad seems to understand all this just fine, in terms of the merge proposal, though it doesn't seem to exactly expose all the information in the API19:19
jamdobey: well, there are probably 2 things to consider19:20
jam1 the branch you are merging into19:20
jam2 any prerequisite branches19:20
jamI don't know what lpapi exposes19:20
dobeywell let's ignore the prerequisite branches issue for now, as i don't think tarmac handles them currently, anyway19:21
jamdobey: https://code.edge.launchpad.net/~abentley/bzr/annotate-revspec/+merge/3468119:21
jamIt has a "Merge into: <BRANCH_URL>"19:21
jamand a "Prerequisite: <BRANCH_URL>"19:21
pickscrapeAnyone know if it's possible to so something like convert a shelf-* file into a diff so I can apply it by hand?19:21
jamif you grab that branch_url, you can open the branch and use "Branch.last_revision()" to get its tip19:21
knittljam: how can i make a command default to the current checked out revision?19:22
knittlusing last as default is unintuitive19:22
dobeyjam: right, but that assumes that it hasn't changed since the branch proposed for merger19:22
jamknittl: WT.last_revision()19:22
jamvs Branch.last_revision(019:23
jamdobey: "Hasn't changed" ?19:23
jamwhat hasn't changed19:23
jamthe branch? Isn't the point that you should handle if it *does* change?19:23
jamcertainly the Merge Proposal page uses the current tips for those things.19:23
dobeyjam: relying on that has to assume that there are no revisiions in the target branch, that aren't in the source branch19:23
jamdobey: MPs don't assume that19:23
jamwhy are you?19:23
jamIf I have put up a branch for review with 10 changes, and I land 5 of them, what do you want the system to do?19:24
jamStill report all 10?19:24
dobeyi'm not, but i can't get the last revision of the target and then use that as a reference in the source, if that revision isn't in the source19:24
jamdobey: graph = Repository.get_graph(other_repository)19:25
jamwill use "other_repository" as a fall back for revisions it doesn't know about19:25
dobeywhat i would like is for proposal.preview_diff.prerequisite_revision_id to actually give me a value other than 'None' but it doesn't seem to do that19:25
jamdobey: abentley or maybe rockstar are more knowledgeable about the Launchpad side of things (even thumper if he's around)19:25
rockstardobey, don't use Launchpad at all.  Do it all in bzr.19:26
dobeyrockstar: it doesn't seem possible.19:26
rockstarjam, dobey needs to get the LCA between two branches, and then get all the revisions from that LCA to tip in one of the branches.19:27
lifelessmaxb: yes19:28
abentleydobey, is this for a merge proposal that has a prerequisite branch?19:28
maxbwhere? :-)19:28
jamrockstar: certainly. But he wants to get the information about what revisions, etc *from launchpad*19:28
jam(what branch, and what revision in the branch, etc)19:29
dobeyabentley: no, not other than the target19:29
jampickscrape: I'll poke at it for a second, but offhand I don't know of a way to do it19:29
dobeyjam: well i'd like to get the information from bzr, but from what you're all are saying, it isn't stored in bzr19:29
jamthe old shelves stored actually patches, but the new one does not19:29
dobeyfor what it's worth, i don't care about what tip is at all19:29
dobeywhat i want is the revision id at the point when the child branch was created from the parent.19:29
dobeythat is the only piece of information i want/need19:30
pickscrapejam: thanks!19:30
dashyeah the new shelve is nice when it works, and it works more often now19:30
dobeyor perhaps i am oversimplyfing things at the moment, because this seems like it is getting overly complex very easily19:30
dashbut when it breaks it's really broken. :)19:30
abentleydobey, the prerequisite revision_id is the revision_id of the prerequisite branch that was used to generate the diff.  If there was no prerequisite branch, it cannot have a revision_id.19:31
jampickscrape: if you can use python apis, you can look into bzrlib.shelf.Unshelver.from_tree_and_shelf(), or even Unshelver.from_args()19:31
dobeyabentley: by that definition, if there is no prerequisite branch, it cannot have a merge proposal19:32
jamsorry, that would be bzrlib.shelf_ui.Unshelver.from_args19:32
abentleydobey, False.  All that is needed for a merge proposal is a source branch and a target branch.  Prerequisite branches are optional.19:32
dobeyabentley: then the documentation is wrong.19:33
jamdobey: I think you are using "prerequisite" when you don't want it19:33
jamyou want the revision of the merge proposal19:33
abentleydobey, which documentation?19:33
jamabentley: is that exposed from the api?19:33
jamit may just be the Branch, which you then open for Branch.last_revision()?19:33
dobeyabentley: the launchpad api docs19:33
abentleyjam, I don't know what you mean by "revision of the merge proposal".19:33
jamabentley: the revision that is being proposed to be merged into another branch19:34
dobeyhrmm19:34
abentleyjam, we don't propose revisions, we propose branches.19:34
jamabentley: well there is a specific revision that is being shown19:34
knittlwho wants to test: https://code.launchpad.net/~knittl/bzr/show-signature ?19:34
abentleyjam, yes, the source branch last_revision.  It will be updated (for active proposals) if you push the source branch.19:35
jamabentley: dobey basically wants to know what revisions are being proposed to be merged, and it sounds like he needs to open the source and target branches, and then use Graph.find_unique_ancestors(source.last_revision(), [target.last_revision()])19:35
jampickscrape: that will let you open up the shelf, and as long as you don't call .run() it won't try to apply it, and I think you can then query it for the data you want to pull out manually19:35
abentleyjam, (well, if you just want to know which are proposed to be merged, you don't need an LCA)19:36
pickscrapejam: thanks, I'm having a play with that now.19:36
jamabentley: he wants all the authors that have contributed to the current code19:36
jamhow would you determine that ?19:36
abentleyjam, I'd do a set difference of the two tips.19:37
jamabentley: that is what find_unique_ancestors does, only without having to get the full ancestry19:37
jamand to do so, you ... have to walk back to the LCAs :)19:37
abentleyjam, yes, I know.19:38
=== frakturfreak_ is now known as frakturfreak
jamanyway, I don't think I've stated a strict need for an LCA, just to get the tips and use find_unique_ancestors()19:38
jamwhich I think is also what you are saying19:39
jamdobey: does that make sense?19:39
dobeymaybe19:39
dobeymy brain hurts :)19:39
dobeyi guess i just need to have both branches, and do find_unmerged()19:40
abentleyjam, when you said "what revisions are being merged", I thought you meant which tip revisions are being merged, not the ancestry of those tips.19:40
jamdobey: http://paste.ubuntu.com/495461/19:41
jamsome basic overview of what I would do19:42
abentleyIf you meant "which revisions will become part of the ancestry", not "which two revisions are participating in the merge", I get it now.19:42
pickscrapejam: any idea what type the "merger" parameter passed to either write_diff() or show_changes() need to be?19:43
jamabentley: correct19:44
jampickscrape: I would look at the shelf_ui.Unshelver.run() method19:45
abentleydobey, the API documentation doesn't say that the prerequisite branch is non-optional.  In fact, it says there are circumstances where it should be left blank.19:45
jammerger = self.manager.get_unshelver(self.shelf_id).make_merger(None)19:45
jampickscrape: what about "bzr unshelve --preview" ?19:45
jamthat should show the diff for you, right?19:46
jamdoes that also fail?19:46
pickscrapejam: --preview results in the same execption unfortunately19:46
dobeyabentley: yes. but it implies that if left blank, the target is considered the prerequisite, and i would therefore expect the prerequisite_revision_id to be from the target19:46
dobeywhich doesn't seem to be the case19:46
abentleydobey, I didn't mean to imply that the target was the prerequisite in that case.19:46
jamdobey: and if you take my example slightly further, it can handle prerequisite branches by just passing more revision_ids to the find_unique_ancestors() method.19:47
dobeyabentley: perhaps clarify that prerequisite_revision_id will NEVER point to a revid of the target, and is only there if there is a prerequisite other than the target19:48
abentleydobey, the prerequisite is a branch that should be merged into target before you merge the source branch.19:48
jam(I don't think find_unmerged supports that)19:48
pickscrapejam: write_diff and show_changes also result in the same exception being thrown.19:48
abentleydobey, for example if you have two branches, A and B, and you branched B from A.19:48
jampickscrape: so the specific failure is that PreviewTree is not a 100% reproduction of a real tree. But I don't really know what it is trying to do that is failing19:49
jam(I haven't looked closely at the bug)19:49
abentleydobey, You want A's changes to be considered separately from B's changes, so you set A as a prerequisite branch when you propose B for merging.19:49
pickscrapejam: I posted a small reproduction recipe on the bug a while back which could be handy for you.19:49
dobeyabentley: i know what the prerequisite branch feature means. i'm just stating that the api documentation i just looked at, is somewhat unclear and implied there was more of a connection between what target and prerequisite are, in the backend, than there apparently is in actuality19:50
abentleydobey, this is text that was written for the web interface, so it's written with Launchpad users as a target audience rather than API client devs.19:52
dobeyabentley: even if not your intent, the wording tends to denote the possibility that the target can be a prerequisite, and while that field should be left blank in such a case, it does not state that all the other related fields will also be blank19:52
pickscrapejam: I just realised that I've been trying to unshelve while my lightweight checkout was pointing at a different branch to the shelf's original source.20:01
pickscrapeSo in this instance I was actually being silly. However, the last time this happened it was a bit more subtle than that.20:01
jampickscrape: well, shelved content has a required revision_id that it is based upon. It sounds like we don't give a clear error when that revision is not available20:02
jamthat would be a separate bug from the sound of it20:02
knittlanybody wants to test printing signatures?20:03
knittlhttps://code.edge.launchpad.net/~knittl/bzr/show-signature20:03
pickscrapejam: wouldn't attempting to unshelve to a branch with that revision_id not present be roughly similar to merge --uncommitted?20:05
jamknittl: I'll give it a look20:05
jampickscrape: if we can't find the revision *at all* is different than if it just isn't in the ancestry20:05
jam(if your branches have separate repositories)20:05
jamotherwise yes, it should be 'merge --uncommitted'20:05
knittljam: great, thanks20:05
pickscrapejam: ah, well in this case the revision in question will definitely have been in the shared repository.20:06
jampickscrape: then that makes less sense, and my guess is just a bug in an edge case handling20:07
pickscrapejam: should I raise that as a separate bug then, and attempt to write something remotely sensible? :)20:07
pickscrape(as a description)20:07
jampickscrape: if the revision is available, then it is probably the same bug20:09
jambut you're welcome  to update the description and summary if you can make it clear what is going on20:09
pickscrapejam: OK, I'll leave it then20:09
dobeyjam: ok, with your pastebin, i think i finally got something that works, using the graph.20:10
=== Ursinha-lunch is now known as Ursinha
dobeyjam: it seems to work! thanks! :)20:27
jamdobey: happy to hep20:28
jamhelp20:28
jam(not that I don't like hepping, though :)20:28
dobeyheh20:28
=== frakturfreak_ is now known as frakturfreak
nekohayohey there, bzr is quite slow for branching from launchpad (time bzr branch lp:arista = 20 seconds). Is there any way to make it go faster, by using bzr:// or something?20:41
nekohayowhen I want to "sell" launchpad to someone, I obviously get the git comparison (5 seconds to git clone http://github.com/danielgtaylor/arista.git)20:42
nekohayoI would really prefer my project to use bzr20:42
knittlnekohayo: do you know if there is a hg clone as well?20:42
nekohayoknittl, ?20:42
nekohayoa mercurial repo of arista?20:43
knittlnekohayo: nothing to do with your problem, i'm simply interested20:43
knittlyes20:43
nekohayonot that I know of20:43
knittlso bzr and git?20:43
nekohayoyeah, the bzr one is a mirror of the git repo20:44
knittli see. thank you :)20:44
nekohayoso, anyhow, I've never seen bzr branch faster than 20 seconds from launchpad20:45
knittldon't ask me, i don't use bzr :>20:45
glyphnekohayo: 'bzr lp-login'20:45
glyphthat might not make it go faster, but things will certainly be different!20:45
nekohayoI'm alreaddy logged in20:46
nekohayo(or is that command supposed to do something else than just return my login username?)20:46
glyphnekohayo: oh, nevermind then.20:47
=== frakturfreak_ is now known as frakturfreak
glyphnekohayo: without being logged in, it's http://, if you are logged in, it's bzr+ssh20:48
glyphFWIW, it takes 15 seconds for me to get the branch.20:48
* nekohayo is scared to imagine the performance without being logged it, must be about 30-40 secs20:48
glyphmaybe it's better!  who knows.20:49
nekohayofrom my tests here, over HTTP = 20 secs, over bzr+ssh = 9 secs20:49
nekohayoso I'm wondering why LP is still slow20:49
nekohayohmm, lifeless might know something20:55
hallyni did a 'bzr branch lp:qa-regression-testing', made a chance, committed it, and now want to push it to lp:~serge-hallyn/qa-regression-testing/foo.  It's a huge tree, so i want it to just base lp:~serge-hallyn/qa-regression-testing on the main one and upload only the one diff.  Is that possible?21:15
knittlafaik bzr/lb does that automatically21:17
knittl* lp21:17
knittlbut don't take my word for it21:18
hallynknittl: doesn't appear to :)  i gave up after 30 mins of very heavy net traffic21:18
jamhallyn: just pushing to a branch should auto base on the old one, as long as a development focus is set21:18
hallynhow do i set a development focus?21:19
jamknittl: bzr show-signature works for me. 'bzr show-signature -r 4011.1.1 | gpg --verify' works21:20
jam(in your brancH)21:20
jamthough I'm guessing you don't actually validate the testament sha1, which may be a next step21:21
knittljam: awesome :D21:21
knittlno, it's only called 'show-…'21:21
jamknittl: you may want to call it "cat-signature"21:21
jamI think we have cat-revision, etc21:21
knittli think cat is a bad name for that21:21
jamwhich does a similar "dump the text that is stored in the repo"21:21
knittlbecause it's for concat, not for output21:21
jamknittl: while true, we don't use "show-text" or "show-revision"21:22
knittlyes, i understand that21:23
GaryvdMhallyn: Ihttps://help.launchpad.net/Code/QuickStart#line-61  but if lp:project works, it suggests that the dev focus is set.21:32
GaryvdMhallyn: When you push a new branch, it should tell you that it stacked the branch against the dev focus.21:33
knittlbut only after pushing21:34
GaryvdMyes21:34
niemeyerHi there!21:35
niemeyerWe're getting a connection timeout issue when trying to checkout a bazaar branch out of Launchpad in an EC2 cloud-init script21:35
niemeyerWould anyone have any vague guesses on what could possibly be going on?21:36
niemeyerWe're a bit puzzled at the moment because sshing into the machine and run it, it works21:37
niemeyers/run/running21:37
niemeyerapt-get is running right before the bzr switch command, so it's not an actual network error21:38
knittljam: best name would probably be print-signature21:39
knittlalso for all the other cat-*-commands21:39
jamniemeyer: do you have the traceback?21:40
jamif you are checking out an "lp:" thing21:40
jamsometimes that fails because of the xmlrpc request21:40
jamespecially if proxies are involved21:40
niemeyerjam: Yes, we're using lp:21:41
jamniemeyer: some versions of bzr did not handle xmlrpc requests and http proxies (because python itself does not trivially handle it)21:41
niemeyerhazmat has the error message21:41
hazmatbzr: ERROR: Connection error: failed to connect to bazaar.launchpad.net:4155: Connection timed out21:41
jamhazmat: that is trying to connect directly to a "bzr://" url21:42
jamyou need to connect to a "bzr+ssh://" url21:42
niemeyerjam: We're not behing an http proxy though.. it's an EC2 instance21:42
jam4155 is the bzr port21:42
niemeyerUh21:42
hazmatjam, hmm. thanks i'll double check that now21:42
niemeyerhazmat: Aren't we using lp:?21:42
niemeyerjam: Does lp: resolve to bzr: in some cases?21:42
hazmatniemeyer, we are using lp:21:42
knittljam: why should the testament hash verified? that's not the job of a signature21:42
hazmatprobably since we're not authenticated to bzr (no keys) on the ec2 instance21:42
knittlif it's wrong, well, you signed a faulty testament :P21:43
jamniemeyer: lp: should never resolved to bzr:// because Launchpad doesn't expose bzr://21:43
jamif it does, that is a bug in launchpad-code (aka thumper)21:43
niemeyerWhat the heck then :)21:43
niemeyerjam: Yeah, no "bzr:" in our code base, at least21:44
niemeyerIf that's a bug in Launchpad, though, should be easy to fix by using http: explicitly21:45
jamI don't really know why it would be trying to connect directly.21:45
jamI do know that thumper recently landed code to allow "lp:" urls to be resolved inside of ssh21:45
jamso that it can handle private projects, etc21:45
jamso "lp:foo" actually resolves to "bzr+ssh://bazaar.launchpad.net/+branch/foo"21:45
jamrather than ~/foo-group/foo/trunk, etc21:46
niemeyerHmm21:46
jamI don't know if it broke something of yours21:46
niemeyerOk.. we'll try with http:.. let's see21:46
hallynGaryvdM: it did say it was trying stacked, but i don't remember against what, and it certainly wasn't pushing only the diff.21:46
hallynalas, that has to wait, more urgent question:21:47
hallynwhat is the recommended bzr equivalent to 'git rebase -i'?21:47
hallynin other words, remote developer makes 5 commits while offline, meanwhile upstream advances by 10 commits,21:47
knittlwhy not use git in the first place? :>21:47
hallynnow remote developer wants to squash his patches 2-4, and rebase those 3 on top of the upstream branch?21:47
* hallyn facepalms21:48
knittlthat was no sarcasm, that was a real question :)21:48
knittlbut i'd be also interested in the answer to rebasing in bzr21:48
hallyn"we can't", basically21:48
nDuffthere's a 3rd-party rebase plugin21:49
nDuffbut using it is not necessarily a good practice21:49
knittlamending a revision is so uncomfortable right now21:49
niemeyerjam: Yes, http: solved the problem21:49
niemeyerjam: So it looks like some kind of resolution problem with lp: indeed21:49
jamniemeyer: I don't *know* that it is resolving lp:foo => bzr://bazaar.launchpad.net/foo" but it certainly looks like something like that happened21:50
hazmatjam, what's odd is that when we logged into the instance by hand and used bzr switch lp: it did the right thing.. but somehow it didn't do the right thing eraly on21:50
hallynnDuff: so what is good practice?21:50
jammaybe thumper changed something and forgot to have the +ssh21:50
niemeyerjam: Yeah, I have no idea either21:50
niemeyerGlad it's now working, though :-)21:50
hazmatindeed21:50
niemeyerjam: Thanks!21:50
jamhazmat: if you were logged in, maybe it was using different credentials?21:50
hazmat+121:50
niemeyerIt was indeed21:50
hallynnDuff: i would guess: do a local branch into different working dir, work there, and do bzr merge revision-by-revision into the other after a fresh pull?21:50
hazmatjam, its all anonymous work21:50
niemeyerhazmat: I don't think so21:51
niemeyerhazmat: cloud-init must execute as root21:51
niemeyerhazmat: and we executed with sudo21:51
hazmatniemeyer, but that has no bzr/launchpad credentials21:51
niemeyerhazmat: Yeah, just saying it's a different env21:51
niemeyerjkakar: Hi!21:51
hazmattrue21:51
nDuffhallyn, ...to use a workflow that avoids _needing_ rebase-like functionality?21:51
hazmatniemeyer,  hmm.. actually executing by hand i was using sudo.. because of file perms21:51
nDuffhallyn, ...if you're not coming from git, that's not so hard :)21:52
hallynnDuff: well really i'm trying to figure out how to tell someone else, not employed by my employer, how they should proceed with their workflow...21:53
hallyn(in a bzr tree shared with us)21:53
hallynnDuff: so the most basic question:  if he has made 2 commits, and now wants to push, but there are conflicting changes in the upstream, how can he stash his changes away, pull, and then (gotta use the word) rebase his revisions?21:54
nDuffwhy do that at all?21:55
hallynnDuff: alternative?21:55
nDuffwhy not just merge upstream and fix the conflicts?21:55
hallynwell, i think tha'ts what h'es doing now.  it removes the previous commits from upstream and replaces it with one called 'merge'21:55
hallynif i didn't want meaningful revision history, i wouldn't need this at all21:55
nDuffthey're still there21:55
hallynhow do i see them?21:55
* nDuff looks at help for bzr log21:56
nDuffahh, --levels / -n21:56
hallynjinkeys21:56
nDuffso -- you're actually getting _more_ history this way21:58
hallynbut, if the 'merge' wasn't conflicting anyway, why bother 'hiding' this way instead of just picking an order?21:58
nDuffrather than throwing away the info about the context something was originally written in (and disguising bugs introduced during the rebase/merge process), you're keeping it all21:58
nDuffit's a win21:58
hallynhm21:58
hallynnDuff: it definately solves my problem, thanks a bunch21:59
nDuffthere's textual conflicts, and there's logical conflicts21:59
nDuffonly the former can be detected automatically21:59
nDuffso doing an automatic flatten on merge is dangerous21:59
nDuffwell21:59
nDuffthat's not quite true -- the cases where git does an automatic fast-forward are safe21:59
nDuffbut they lose history about when things were actually merged21:59
knittlwhy? history is still the same22:00
knittland dummy-merge commits only clutter history22:00
nDuffnot from the perspective of "what did the shared tree look like at this point in time/"22:00
* hallyn quietly sneaks away from the ensuing battle22:00
knittlthen use git pull --no-ff22:00
knittlor merge --no-ff22:00
nDuffknittl, yes, I'm not saying there aren't workarounds -- it's just something that I've been historically a little wary of as a default behavior.22:01
nDuffknittl, ...I use git for my day job, far more than I use bzr, but that doesn't mean I like every single design choice and default Linus made.22:01
thumperjam: the resolve_lp_path xmlprc call that bzrlib calls to resolve lp: branches ONLY returns http or bzr+ssh, no bare bzr to be found there22:02
knittli still think --no-ff is (most of the times) unnecessery22:02
thumperno idea what was causing the problem22:02
knittl* …ary22:02
nDuffknittl, I don't think you're wrong -- but I do think throwing away information just because it's unnecessary 99% of the time is something to be wary of in the context of a tool whose principal and primary purpose is storing and tracking mission-critical content. At least, I do when I'm playing devil's advocate. :)22:04
jamthumper: I would have assumed so, but something weird is going on, and I new you had touched it a bit recently22:04
thumperjam: yeah :)22:04
knittlnDuff: if nothing changed in my version of the DAG why should i introduce i new node? that's my point of view ^^22:05
jamknittl: if you look at bzr log --short bzr.dev, that is an example of where --no-ff works very well22:05
jamwhich is: features are developed on non-mainline commits, and committed and summarized at merge time22:05
knittli don't care22:05
jamso instead of seeing 100 revisions every time you implemented a feautre22:05
jamyou see a single summary rev22:05
jamwith logical step22:06
jamstepts22:06
jamsomewhat akin to rebasing to clean up your history22:06
knittlno, it only hides the turd22:06
jamanyway, we do support "bzr merge --pull" which you can alias to be the default22:08
jam(bzr merge --pull = ff if you can)22:09
knittlwhatever, i'm not interested in ff vs. non-ff merges22:09
knittljam: why should verification of testament hash happen in cat-signature?22:10
knittlcat-signature should only print the signature (so, print-signature …)22:10
jamknittl: it certainly doesn't have to, but if you actually want to verify that the revision is correct and signed, then I would recommend closing the loop (potentially only as a flag)22:11
knittlif the testament hash is wrong there's another thing wrong22:11
jamcertainly it is "separate but related"22:12
knittlshould happen on testament level22:15
knittldoes an inventory store the executable bit?22:36
knittli guess so, but then why isn't it printed when using bzr inventory -v?22:36
kirklandwhat's the bzr command do bind your local checkout to the network one, so that you don't get out of sync?22:44
dash'bzr bind <url>'22:45
* kirkland just butchered the vocabulary, he's sure22:45
dashapparently not ;)22:45
kirklanddash: hmm, man and bzr help don't seem to know about "bind"22:45
* kirkland did at least look for it22:45
dash'bzr help bind'22:46
dashalso listed under 'bzr help commands'22:46
=== Ursinha is now known as Ursinha-afk

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