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

dOxxxhey poolie00:06
dOxxxI'm contemplating getting tagged versions of pyqt and sip from their mercurial repo instea.00:06
dOxxxexcept of course they only have sip in the repo and not pyqt itself00:07
dOxxx /facepalm00:07
jamthumper: just passing by, I may be around in about 3-4 hours, though00:21
thumperjam: can we chat tomorrow?00:21
jamthumper: sure00:21
thumperjam: I'd like to talk about your thoughts on branch revisions :)00:21
jamsure00:21
thumperjam: as in the LP table00:21
jamthough what time?00:21
thumpercan you do 22:00 UTC?00:21
thumperor perhaps half an your earlier?00:21
jam5pm is usually when I stop, extra important tomorrow because my wife is out of town00:21
jam22:00 = 5pm00:22
thumperah00:22
jam02:00 or so might be better00:22
jam21:30 would work00:22
jamgotta go00:22
thumperok00:22
spivGood morning.00:59
dOxxxhowdy spiv01:07
spivHey dOxxx, haven't noticed you around for a while.  Probably you've just been awake in more sensible timezones ;)01:21
dOxxxspiv: I'm not normally on IRC :)01:21
dOxxxI'm doing the Mac installers right now and vila suggested we talk about them on IRC01:22
dOxxxbut I guess his timezone is not compatible01:22
spivHe's in Europe, typically he'll be online in about 5.5 hours from now.01:36
dOxxxspiv: Hmmm... awkward.01:38
pooliehi spiv01:52
dleeWhen I'm about to try something I think might be a bad idea that could be hard to reverse, I tend to copy .bzr somewhere so I can restore it if I make a mess.  Is it safe to do that for a branch under a shared repo, without also copying/restoring the shared repo itself?03:25
dleeI sorta have this 6 meg .bzr branch under a 3 gig shared repo. :)03:26
spivIt's safe to do that.03:28
dleeReally good news for this project!03:29
dashdlee: but you can also use bzr revert and bzr uncommit :)03:34
spivdash: well, assuming the operation being tried is a commit, or a pull that adds one new mainline revision (with the old tip as the lefthand parent).03:38
dleeLearning how to manage a multiperson bzr workflow at the far end of a large svn repo... lots of syncing that confuses me if I make a wrong step.03:48
=== Ursinha is now known as Ursinha-afk
pooliethanks for the ascii mode patch spiv05:14
ovnicrafthi folks i am searching something like this http://bit.ly/aF2hqw anyone knows about?05:15
ovnicraftplugin for diff with Ooo files05:15
pooliei think you want 'bzr diff --using "oodiff -u"'05:16
pooliethen you might want to define a bzr command alias to run that05:16
ovnicraftin another hand i want to know is tortoisebzr will be support on linux?05:21
ovnicraftpoolie, i dont know why initially linux is not supported05:22
ovnicraftpoolie, this is great https://edge.launchpad.net/bzr-oodif05:23
poolieovnicraft: tbzr is very windows-specific05:39
pooliethere's some bzr nautilus integration05:39
pooliei think in bzr-gtk05:39
pooliebut 'bzr explorer' is a better option there05:39
ovnicraftbtw is not too important i  can live with stdout05:39
ovnicraftbut i am really interested in bzr-oodiff05:40
ovnicraftand great foudn it05:40
ovnicraftfound*05:40
=== mnepton is now known as mneptok
jbowtieWe have file-specific merge hooks; do we not have file-specific diff hooks?05:50
jbowtieI'm thinking I might propose a blueprint for handling diff and merge of various free software "binary" formats.05:52
pooliegood idea05:53
spiv+105:55
jbowtieThen you hire me so I actually have time to implement it, right?  ;)05:56
* jbowtie did not put subtlety on his CV05:58
fullermdSubtlety?  I think I heard of that once...05:59
vilahi all !07:19
fullermdAgain?  Didn't you just say that yesterday?07:33
vilayup, mummy told me I should do that every time I meet people, so they smile just a bit more everyday :-D07:34
fullermdRemember, it takes more muscles to frown than it does to smile.  But it doesn't take ANY muscles to just sit there with a dumb look on your face!07:35
vilaYeah, but it doesn't make you richer whereas smiles are supposed to make everybody richer... The trick is to find a way to get some of *their* richness there...07:49
pooliehi there vila08:06
vilapoolie: hey !08:07
pooliehi there08:31
GungaDinis there a way to uncommit a list of commit and reapply them at the end of the history ?08:35
spivUncommit only works on commits from the end of history.  But perhaps you are looking for rebase, from the bzr-rewrite plugin?08:36
maxbAlthough, that'll only work if the list of commits is a side-chain in the revision graph08:37
maxbThere's no way to splice commits out without rewriting everything that comes after the change08:37
GungaDinwe've made a mistake: we have branch B1 and branch B2 - both were branched of V1 & V2 (different branches, corresponding to different versions of the codebase). B2 was merged into B1 and updates of V1 are merged through to B1 every now and then...08:38
maxbouch08:38
GungaDinnow that we want to merged B1 into something else we get a criss cross merge...08:38
GungaDinand it's a mess.08:38
GungaDinthe thing is that the updates from V1 are in mutually exclusive directories to the rest of the commits.08:39
poolieyou want rewrite then08:39
GungaDinwhat will that do?08:40
pooliethat will let you hoist out the good bits of your history, leaving behind the stuff you shouldn't have merged08:40
GungaDinand what will happen with the bits of the history I take out?08:41
pooliebzr-rewrite produces a new branch, and in that branch they will never have been merged08:42
vilaspiv: here we are http://babune.ladeuil.net:24842/view/selftest-all-platforms/job/selftest-jaunty/lastFailedBuild/testReport/junit/bzrlib.tests.test_transport/TestSSHConnections/test_bzr_connect_to_bzr_ssh/08:48
GungaDinhow do I enable these plugins?08:48
spivvila: huh, it wants me to login...08:50
spivIs that new?08:50
vilaargh08:50
spivGungaDin: if installing from source, typically by placing them into (or symlinking them into) ~/.bazaar/plugins/, or else by installing it as a system-wide Python package.08:52
vilaspiv: yes, new, I'm trying to allow some users to run jobs and ... that seems to have restricted anonymous access :-/08:53
spivvila: :(08:53
vilaspiv: since you will be part of these users, you may as well create a login until I fix the problem08:53
spivOk08:54
spivvila: I don't suppose Hudson has OpenID support? ;)08:54
fullermdI read that as "since you will be part of the problem, [...] until I fix these users"    :p08:54
vilaspiv: hehe, I haven't see that (nor searched either ;)08:54
vilaspiv: fortunately I have all relevant config files under bzr as yesterday evening *I* couldn't login anymore at one point...08:55
vilaand I had to revert to a working config08:55
vilaone click and boom :-/08:56
GungaDininstalled bzrtools on my fedora.. but bzr rebase isn't accepted08:56
spivWow, apparently I got the first two captchas wrong.08:56
fullermdvila: Doesn't that infringe some Amazon patent?   :p08:56
vilafullermd: you think I can sue Amazon for damages ?08:56
fullermdGungaDin: It's not part of bzrtools...  look for 'bzr-rewrite'08:56
spivGungaDin: bzrtools is a different plugin.08:56
spivGungaDin: the plugin you want is called 'bzr-rewrite'08:56
fullermdvila: I think it's the other way around...  they sue you for doing something with one click.08:57
spivvila: "spiv is missing the Read permission"08:57
spivvila: for the front page08:57
spiv(and the log in question)08:57
vilatry again ?08:59
spivOk, I can view them now.09:00
vilaand try again without login too, it seems to be fixed (I just love when I fix things without knowing why...)09:00
spivvila: that's a really intruiging log09:00
spivvila: bah, I don't want to have to re-enter my password :P09:01
vilanvm, I tried from another host, seems good09:01
spivIt appears to allow anon read access.09:02
vilathat's the idea09:02
vilaspiv: a possible explanation can be: the client try to use the socket before the hand-shake with the server has been done09:12
vilaspiv: jam fixed a similar issue with the sftp test server09:12
vilaspiv: most of the time the hand-shake happens quickly enough but it sometimes takes a bit more time09:13
vilaspiv: did this match ?09:13
GungaDinis it possbile to find where a criss cross originates?09:14
spivvila: the log implies otherwise, but of course in the presence of threads the impression of sequential events it gives is likely to be a lie....09:15
spivGungaDin: a visualisation tool like 'bzr qlog' or 'bzr viz' ('qbzr' or 'bzr-gtk' plugins, respectively), may help.09:15
GungaDinthere are tons of commits...09:15
spivI suppose there should be an option to get merge to report which revisions were involved.09:15
* spiv -> dinner09:16
=== ddaa1 is now known as ddaa
=== spike_ is now known as spikeWRK
=== zyga is now known as zyga-airport
lifelessvila: I have a thought for you about this coding style thing.11:02
lifelessvila: Two thoughts.11:02
vilalifeless: I'm sure about that and I'm happy you share them :)11:03
lifelessvila: firstly, I think you may be proposing a *surrogate* metric. That is it itself doesn't indicate anything good or bad, but perhaps its often correlated with actual good/bad things.11:03
vilalifeless: I don't want to start a holy war but I suspect there are more problems than it appears behind this subject and I'd rellay like to understand them11:03
lifelessI don't like surrogate metrics because they are *follow* they don't *lead*.11:04
lifelessFixing the metric doesn't make things good.11:04
lifelessit took me a while to understand this, (and when I did I did a big about face on my opinions in coding standards)11:05
lifelessSecondly, I wonder if you've taken the time to deeply listen to what Andrew Martin and I are saying about how we find code more readable when done clearly on a case by case basis rather than being strongly-mandated.11:06
lifelessI feel like you're brushing us off a bit.11:06
vilaha, sorry about that, certainly not my intent11:07
lifelessno worries11:08
lifelesslike I say, just a couple of thoughts.11:08
lifelessThe one about surrogates is the key one.11:08
vilaI came to this proposal mostly by applying it previously on the assumption that they were an agreement and specifically to address bugs in the first place11:08
Glenjaminwhen you say coding standards, do you mean something like PEP8?11:09
vilaand I still feel there is a relative vagueness about how we handle the overall bzrlib namespace and I'm still not comfortable about that11:09
lifelessyes; bzr builds its standards on pep811:09
lifelessvila: I don't know quite what you mean there11:13
vilaas poolie commented, my intent was to *discuss* the policy and I expect to at least understand why people agree with it in certain cases but not others11:13
lifelessvila: Well, do you understand why I don't agree with it *at all* ?11:13
vilano11:13
vila'warning' for example, I never know which one we're calling11:14
lifelessI think you're specifying something best left unspecified.11:14
vilathat won't help talk about it :)11:15
vilanames spaces are an important concept, how to use it is worth discussing no ?11:15
lifelessvila: we already do.11:16
vila'from module import *' while allowed is not the best example of use11:16
lifelessvila: we could a little more in terms of where we put htings.11:16
lifelessvila: but you're not really talking about namespaces, more about scopes.11:17
lifelessvila: I dunno, the rules you're proposing would drive me batty.11:17
vilayes, name spaces are all about defining scopes to partition the global name space11:17
vilalifeless: hehe, right, some aliasing related bugs indeed drove me nuts ;)11:18
vilanot to mention the spurious failures ending with illegal use of scope replacer...11:19
vilalifeless: I realize the proposed rules put a small burden on the writer, but the write *knows* clearly when he use a symbol from which module it comes, and *this* information is not passed to the reader, I think that's the crux of my concern11:20
lifelessvila: what concerns me is:11:21
lifeless - the reduction in flexability11:21
lifeless - the reduction in readability11:21
lifeless - the reduction in performance [small but exists]11:21
vilaI don't understand how this reduce flexibility11:22
vilaha ! Finally someone mentions the performance ;)11:22
lifelesswhen you say 'do it X way', you exclude all 'non-X' ways11:22
lifelessthats less flexible.11:23
neajerm, i'm sorry to show my oar in, but could someone help me with a simple 'bzr init' ?11:23
neajjean@klippie:~/tmp$ mkdir screnum ; cd screnum ; bzr init11:23
neajbzr: ERROR: '/home/jean' is not a working copy11:23
lifelessneaj: interesting11:23
lifelessneaj: `which bzr` ?11:23
neajlooking in .bzr.log, the traceback dies on File "/usr/lib/python2.6/dist-packages/bzrlib/plugins/svn/format.py", line 196, in _open11:24
lifelessneaj: oh11:24
neajwhat's it messing about with svn for?11:24
neajthis is bzr on ubuntu 10.0411:24
lifelessyou can do 'bzr --no-plugins init' to avoid that; please do file a bug on https://launchpad.net/bzr-svn11:24
neajwill do :-)11:25
vilalifeless: well, one way or another you refer to a symbol. There are only two ways (excluding the ones we don't use and we don't use a lot of alias)11:25
lifelessneaj: you have bzr-svn, the bzr svn integration layer installed.11:25
neajhehe, that dies with bzr: ERROR: No repository present: "file:///home/jean/tmp/screnum/11:25
lifelessneaj: your previous failure left you with half-a-dir11:26
neajyes, i want to make local branches of svn repos also11:26
neajah OK, i'll clean up and restart11:26
lifelessvila: sure, but when you specify you're making a global assertion...globals are bad ;)11:26
neajCreated a standalone tree (format: 2a)  <-- yay, thank you very much11:26
lifelessneaj: my pleasure11:26
vilalifeless: 'from module import symbol' is more global than 'module.symbol' at the module (the one doing the import ;)  level11:28
lifelessremoving the authors choice is more global than that11:28
lifelessso you need a very strong justification to do that.11:28
vilalifeless: does it fly both ways ? Can *I* use module.symbol because I find it more readable ?11:29
Glenjaminthe rule you're suggesting is to disallow from module import symbol?11:29
lifelessvila: I need to sleep; If its still going around tomorrow, I might ask you to argue my case, and see if that helps.11:29
vilalifeless: ok11:30
lifelessvila: If its clearer sure; mass patches forcing it one way or the other would just be noise and regarded as such, I think, reading martins comment ('flip flop..')11:30
vilaGlenjamin: yes, see https://code.edge.launchpad.net/~vila/bzr/imports/+merge/36324 comments welcome (whatever your opinion is of course)11:31
GlenjaminI can see the justification, but knee-jerk is that its a bit restrictive11:31
vilalifeless: sure11:31
vilalifeless, Glenjamin : I thought I made this clear with: "Moving from the ``from <module> import symbol`` style is a work in progress, submissions should avoid using it for new code but should not either includes huge cleanups that obscure the purpose of the  proposal. When in doubt, use the ``<module>.symbol`` without modifying the ``from <module> import symbol`` part.11:34
lifelessvila: you need consensus that it *is* a work in progress.11:35
lifelessvila: that is sorely lacking.11:35
* lifeless goes to bed. Gnight.11:35
GlenjaminI;m unlikely to start doing any major hacking bzr, but my inclination would be that this is more guideline than rule territory.11:36
neajLooks like it's a regression: https://bugs.launchpad.net/bzr-svn/+bug/18214011:37
ubot5`Launchpad bug 182140 in Bazaar Subversion Plugin "bzr-svn interferes with bzr operation (affected: 1, heat: 10)" [Undecided,Fix released]11:37
Glenjaminneaj, can you get the bzr and bzr-svn version from "bzr version" and "bzr plugins"11:38
neajposted on the issue11:38
Glenjaminif you try adding the bzr ppa, you can get newer versions of both.11:39
Glenjaminwhich will probably let you use it, although not really fix the underlying problem11:39
neajit was fixed on 0.4.9 but it's biting me on 1.0.2, so i don't think new-ness is the problem.11:39
Glenjaminis it possible to bind a branch to two locations?11:55
Glenjamini'm using colo (which does lightweight checkouts), but I want the branches mirrored onto my central server11:55
Glenjaminpresumably a lightweight checkout of a bound branch doesn't propagate commits up11:59
jbowtieWhat is the scenario where I'd actually use bzr add --file-ids-from?12:04
Glenjaminhelp provides an example, sounds pretty obscure12:07
Glenjamin"This option is rarely needed but can be useful when adding the same logical file into two branches that will be merged later (without showing the two different adds as a conflict). It is also useful when merging another project into a subdirectory of this one."12:07
jbowtieIt is obscure, I'm trying to find a more useful way to say that in order to fix #50508612:10
Glenjaminbug 505085 (making myself a link)12:11
ubot5`Launchpad bug 505085 in gnome-settings-daemon (Ubuntu) "gnome-settings-daemon extensive disk usage (affected: 11, heat: 62)" [Undecided,Confirmed] https://launchpad.net/bugs/50508512:11
jbowtieNo, bug 50508612:11
ubot5`Launchpad bug 505086 in Bazaar "[doc] bzr add help mentions but doesn't explain file ids (affected: 1, heat: 0)" [Low,Confirmed] https://launchpad.net/bugs/50508612:11
Glenjaminoh, whoops12:11
Glenjaminoh right, i see12:12
Glenjaminsomething like --same-files-as=TREE12:13
jbowtieI need to sleep on it, I'll have another look at it in the morning.12:21
knittlwhat is the last number in a bzr file_id?12:28
knittlfilename-timestamp-random-X12:28
knittlwhat's X?12:28
Glenjaminlooks like an incrementing number to me12:29
knittlGlenjamin: incrementing when?12:30
Glenjaminat a guess, when the file changes.12:30
maxbknittl: technically, the whole fileid is an opaque string12:30
knittland why? using those 16 byte randomness + timestamp make it pretty unique12:30
knittlGlenjamin: that would mean the file id changes all the time12:31
knittlmaxb: yes, but that string has to be generated first12:31
maxbknittl: imagine committing 5 files called README.txt in the same commit12:31
Glenjamini was about to say that, looking at my inventory i have file_ids of an entirely different format12:31
maxbin different directories12:31
Glenjaminit's probably just an enumerator per-commit then.12:32
spivIt's a guaranteed (within reasonable limits of probability) unique ID.12:32
knittlso start_bzr.bat in bzr.dev exists 9 times?12:32
spivThe exact way it is generated is unimportant for basically every use I can think of.12:32
* maxb points to bzrlib.generate_ids.gen_file_id if you REALLY care12:32
maxbBut you really shouldn't care12:33
knittli do care, otherwise i wouldn't ask12:33
spivIt is implemented a) to meet that constraint, b) in a way that is reasonable performant and convenient to implement.12:33
spivBut design-wise the details don't matter.12:33
knittlmaxb: ok, i.ll look at that function12:33
spivknittl: why?12:33
knittlspiv: because i do. i'm not writing code to work with bzr file ids12:34
Glenjaminfor example, bzr-svn imported file_ids appear to be svn-revno@random:full_path12:34
knittli simply need to know. is that so much to ask?12:34
maxbknittl: Not at all, but we want to make sure you don't mistakenly build semantics on top of something that has none12:34
spivknittl: Well, it's just that it frankly sounds like a waste of your time12:34
maxbGlenjamin: s/random/svn-repository-uuid/12:35
Glenjaminyeah, i just got that :)12:35
knittlspiv: writing a thesis is not wasting my time12:35
Glenjaminwhen i noticed they were all the same12:35
spivknittl: ah!12:35
spivknittl: what are you writing a thesis on, if you don't mind saying?12:35
Glenjaminall week you've been asking obscure questions, you could have said why!12:35
knittlmaxb: i don't … but i'm describing bzr's internals and defaults12:35
knittlspiv: dvcs12:35
knittlGlenjamin: well, the answers should be the same regardless of my reasons?12:36
Glenjaminyes, but the willingness to provide answers is higher if the answerer understands the justification12:36
knittl12:36
spivnittl: Just DVCS in general?  I wouldn't have thought the exact details of our default file-id generation in current versions of bzr aren't really very interesting for a thesis...12:36
maxbAlso, the answerer can tailor the answer to the purpose being asked12:36
spivBut it's possible I'm missing some aspect of it that you find particularly interesting.12:37
knittlspiv: dvcs (bzr git hg), inner workings, storage model, object model, storage formats, performance12:37
knittlso it matters a lot how bzr generates ids12:37
Glenjamini'm intrigued as to what comparison metric you can apply to something like the file ids12:37
spivRight: I'm saying these details aren't relevant to any of those things you just listed, unless "inner workings" encompasses arbitrary implementation details.12:38
knittlGlenjamin: nothing to compare with file ids, but it's good to know12:38
spivOr at least, that I'd be surprised to find they are.12:38
knittlspiv: i simply do that, it's important for me and my paper. ok?12:39
spivIn terms of storage model, these are restrictions on what forms a valid ID (for files, and revisions).12:39
spivs/these/there/12:39
Glenjaminknittl: if you haven't already seen it, http://video2010.scottishrubyconference.com/show_video/11/0 is an excellent presentation on git's workings12:39
spive.g. it's a valid UTF-8 string12:39
knittlGlenjamin: git and hg chapters have been finished a long time12:40
maxbIt sounds to me like knittl is following the "Understand (almost) everything, then write about the interesting bits" approach12:40
knittlplease don't tell me how to write _my_ paper12:41
spivknittl: I don't mean to tell you how to write your paper12:41
knittlanswer my questions that i have – and might sound weird to you – and everything will be fine12:41
maxbknittl: Easy there, we're just interested12:42
spivknittl: I do hope I'm able to give you some guidance on what I, as one of the developers, consider to be the key design aspects vs. uninteresting implementation details, though.12:42
knittlmaxb: the impression i have is different, i only get told what not to do with bzr and what is unimportant12:42
spivknittl: which is not to say I'll be 100% right :)12:43
knittli'm mostly interested in implementation details12:43
spivknittl: also, you ought to be aware that you're the first person to be asking these questions for the sake of it.  We're much more used to helping people *do* things with our tool and code12:43
knittlanyways. if the last number in a default file id is incrementing, why is it 9 for start_bzr.bat?12:43
spivknittl: so naturally our reactions so far have been oriented towards that12:44
knittlspiv: i thought i was clear, everytime i asked something, that i'm interested in it, because i'm interested, and not because i want to build tools on top of bazaar or write extensions to it12:44
maxbknittl: When someone asks about details which are deliberately unspecified, there is a natural caution to make sure they are not attempting to interpret semantics that don't exist. Once you explain that your reasons, that caution is allayed.12:44
knittlok12:45
spivI'd expect it increments for every file added in a single 'bzr add' call (in the default implementation), because that is the simplest way to implement it to meet the constraints.12:45
knittlsounds better than the last weeks12:45
spivknittl: so far everyone, even you, that has asked questions, has wanted to achieve *something*, not just asking to understand for the sake of it :)12:45
spivknittl: I'm glad to know your goal, it will help me answer your questions better I think.12:46
maxbThe design interesting bit about file-ids is simply: (something derived from file basename) + (something unique)12:46
knittli want to achieve understanding12:46
maxbActually, now I'm curious. Why do we put something derived from the file basename in there?12:46
spivknittl: understanding in a specific context, though.12:47
knittlmaxb: yes. filename in lowercase ascii, 20 chars, first period removed. timestamp in YYYYMMDDhhmmss. random 16 byte string. X12:47
spivknittl: I can debate these semantics with your endlessly if you like, or you can trust me that I have much better idea of where your questions are coming from now.12:47
spivknittl: just like you want us to trust you ;)12:47
knittlspiv: ok. bzr add file1 file2 file3. bzr commit will create: file1-time-random-1, file2-time-random-2, file3-time-random-3?12:47
spivknittl: bzr add creates the file IDs, not commit.12:48
maxbknittl: probably. I don't care. Why do you?12:48
knittlspiv: ok. so bzr 'un-add' removes them again? or leaves them as stale ids?12:48
fullermdmaxb: I'd imagine because it's easy to grab, somewhat unique, and just-because-it's-opaque-doesn't-mean-it-can't-look-good.12:48
spivknittl: How to put this?  If they're never committed, then they're never committed.12:49
knittlspiv: yes, but they are created on add (at least the string)12:49
maxbfullermd: A debugging aid. That makes sense. I vaguely recall something about it helping sort like content into groupcompress blocks also?12:49
spivknittl: and recorded in the working tree metadata12:49
knittlok12:50
spivJust like renames via 'bzr mv', or merge revisions from 'bzr merge', etc.12:50
knittlyeah. dirstate (same name as hg)12:51
knittli'll write and come back12:51
knittli hope you remember the reason for my questions :D12:51
spivmaxb: actually, IIRC the file-id being based on basename only isn't especially good for groupcompress, or something like that.12:51
spivknittl: don't worry, you've been quite memorable :)12:51
knittlspiv: haha.12:52
spivHappy writing!12:52
knittlspiv: on an unrelated note, what about my cat-signature branch?12:52
knittlstill no tests12:52
spivknittl: is there a merge proposal or bug for it?12:52
knittlcouldn't wrapp my mind about it, because i need to access bzr.dev to have something to test regressing against12:53
spivknittl: it seems like a reasonable addition (as a hidden command)12:53
spivknittl: ah, no12:53
Glenjaminthe justification in the docstring for gen_file_id seems to be based on the assumption that the file_id will be used in the filesystem12:53
knittlno bug, and no proposal yet12:53
spivknittl: tests shouldn't assume that bzr.dev exists, it's perfectly possible to create the test data you need in the test12:53
fullermdGlenjamin: They were, in knit and earlier formats, where each file had its own [set of] file[s] in the repo.12:54
knittlspiv: well, the test would need to create a new revision, sign that revision (with a key which is then stored within the test), then cat it, then verify it12:54
Glenjaminmakes sense12:54
spivknittl: that's more than necessary12:54
spivknittl: you just need a test that shows cat-revision outputs the signature content for the specified revision12:55
spivknittl: there's no need for the test to generate that signature on the fly first, it can be pre-canned12:55
knittlspiv: yes. but to get the contents i'm just calling my code12:55
knittlor what do you mean?12:55
spivI'm sure the existing tests for signatures should already have examples12:55
knittlcouldn't find any signature tests, maybe i was looking in the wrong places12:56
Glenjaminyou only need to prove that if you store some text as a signature, that cat-signature outputs it12:56
spivknittl: I mean: use the bzrlib APIs to create a precise signature record in the database12:56
spivknittl: and then assert that cat-signature emits exact output (with that content)12:56
spivYou don't need to generate the signature during the test execution, it can be a literal, predefined string in the test code.12:57
spivConsider what you are trying to test:12:57
knittlhm, i'll look. brb12:57
spiv * not that bzr can generate signatures12:57
spiv * not that bzr can generate revisions12:57
spiv * but that cat-signature will retrieve and display whatever content it finds for a revision12:58
spiv(we do of course want those other things to be tested, but that's the job of other, already written, parts of the test suite)12:59
spiv(overly broad tests obscure intent and make tests slower than necessary, among other drawbacks)13:00
* spiv -> zzz13:01
jmlwhat do the cool kids use for bzr / emacs integration these days?13:06
knittlhow can i run a bzr command inside a test?13:13
Kinnisonjml: I use a shell :-)13:13
jmlThat doesn't count.13:15
KinnisonBah13:15
jmlAlthough I'm sure you are one cool kid, that's not integration.13:15
* Kinnison treats his entire desktop environment as the integration layer :-)13:15
jmlAt least not for my purposes.13:15
spivknittl: http://doc.bazaar.canonical.com/latest/developers/testing.html13:19
knittlspiv: go to bed :P13:19
neajis there a standard way of selectively committing chunks from a file?13:20
maxbinteractive shelve to first remove what you don't want to commit13:22
jmlthere ought to be an interactive commit option though13:22
jmlparticularly since there's an interactive merge13:22
neajmaxb: thanks!13:24
fullermdSomebody wrote a 'record' plugin once that did that I think.  Dunno if it really worked, or still does.13:25
jmlit ought to be in bzr if shelf is.13:26
maxbThe term 'record' is woefully overused13:30
maxbI wish loom called its command record-loom at least13:30
fullermdI imagine it was chosen to call out to 'darcs record'13:31
fullermd(since that does the same interactive type stuff)13:31
jml"bzr commit -i". There, I've solved the naming problem.13:31
=== Ursinha-afk is now known as Ursinha
knittlcan someone help me write that blackbox test?14:06
knittlplease :)14:06
jammorning all15:07
jamknittl: what test?15:07
knittlhi jam15:07
knittltests for cat-signature15:07
knittli can create one for cat-signature -r0 easily (no output xD)15:08
Glenjaminis it useful for me to say i think it should be called show-signature ?15:08
jamknittl: you can look for bzrlib/tests/blackbox/test_cat.py and copy that file to test_cat_signature.py15:08
knittlGlenjamin: hahaha15:08
knittljam: i believe i copied cat_revision15:08
jamknittl: same thing, sounds fine15:09
jamdo you have the code somewhere you want me to look at?15:09
jambasically it would be something like:15:09
jamjust a sec15:09
knittlGlenjamin: https://code.launchpad.net/~knittl/bzr/cat-signature look at the history (r5432 and r5433)15:09
knittljam: well, i need a signature to validate against15:09
jamthere would be two ways to do it, IMO, one is to use the "run_script" method15:09
knittli think jam told me to name it "cat-signature" :]15:09
jamknittl: you need a signature, but it doesn't have to be valid or gpg signed :)15:09
Glenjaminknittl: you'll need to track down the commit code which signs, and see how it adds the signature to the revision15:10
knittlmy best name would be print-signature, because it prints to the terminal15:10
Glenjaminand just do the last bit15:10
jamknittl: I think an alias is reasonable, but it is more consistent to call it cat-sig15:10
Glenjaminis cat-revision new?15:10
knittljam: not signed? hm, ok15:10
jamknittl: there are a couple of options here, let me look at the gpg code for a sec15:11
knittljam: i use run_script to test "test_cat_signature_no_signature"15:11
knittljam: ok15:11
knittlappreciate it15:11
jamknittl: if you wanted to exercise more of the stack, you could set the config var "gpg_signing_command" to something custom, and then we should grab that and use it to "sign" the revision on commit.15:12
jamhowever, it may be easier to just force it15:12
knittlbegin pseudo-signed content?15:12
knittl(test_re_sign.py)15:13
jamknittl: right that is probably the easiest way, just fudge the signing strategy, and assert the content matches what you want15:13
jamthen you don't have to worry about having gpg on the test machine, etc.15:14
knittlok, i'll try15:14
knittljam: yes, that was my real problem :D15:14
knittlnot having gpg or having the same key everywhere15:14
jamknittl: so in a test, you can use the monkey-patch command, then add "branch.get_config().set_user_option('create_signatures', 'always')"15:15
jamand then "tree.commit()" should generate a signature15:15
jamwhich you can check with "tree.branch.repository.get_signature_text()"15:15
knittljam: i also want to test the output for 'no signature' (empty output15:15
Glenjaminimo you shouldn't worry about the signing process at all - you should just directly add some signature content to a revision15:15
jamknittl: sure, commit 1 without setting create-sig and once with15:15
knittlisn't there an option to commit?15:16
knittlBzrDir.create_standalone_workingtree('.').commit(…)15:17
jamknittl: not directly, only via config var15:17
knittlok15:17
knittlhrm. i created two revisions, but cat-signature is empty for revid:B as well (the signed one)15:21
knittlfirst, set_user_option(always) then monkey_patch_gpg, then wt.commit15:21
Glenjaminhow confident are you that the test is broken, and the command isn't?15:25
knittl100 %15:27
Glenjaminknittl: i'd do away with the gpg bit, since your command doesn't do anything with it. just use repository.add_signature_text(revision_id, signature)15:28
knittlha! it's working :)15:28
knittlhttp://paste2.org/p/100014115:32
Glenjaminhrm15:34
Glenjaminyou're testing that a command which calls get_signature_text returns the value of get_signature_text15:35
knittlyes. i said that in the beginning15:35
knittltell me how i can test that command without calling get_signature_text15:36
Glenjaminyou have to explicitly set the signature content15:36
jamknittl: the revision-id is known, the signing strategy is known, just put the content into the output15:36
Glenjaminusing repository.add_signature_text15:36
jam--- BEGIN PSUEDO-...15:36
Glenjaminor that15:36
knittlok, just a min15:36
jamknittl: I do agree with Glenjamin that 'add_signature_text' exercises less of the stack, and makes it more focused on what you want to be testing, namely cat-revision.15:39
jamHowever, a few more thoughts:15:39
jam1) the return code from 'cat-signature -r NO-SIG' should probably be nonzero15:39
knittlsha1 changes everytime15:39
knittlhow can i set the return-code?15:39
jamknittl: all right, because the testament changes15:39
knittlhaha, just found another bug15:39
jamknittl: in cmd_cat_signature.run() return an integer15:39
knittlgotta fux that15:39
knittl* fix15:40
Glenjaminwrite the testcase which reproduces it first :p15:40
knittlGlenjamin: the bug?15:40
knittleasy: bzr cat-revision -r015:40
knittljam: return 1? or are there constants like EXIT_FAILURE?15:41
jamknittl: I would honestly consider that passing -r0 is a BzrCommandError('invalid revision supplied')15:41
jamreturn 1 is ok15:41
jamwe use 3 for unhandled exception, I don't remember exactly where it is documented.15:41
jambut it isn't with constants15:41
knittljam: if it is bzrcommanderror, then my last bugfix was wrong15:42
Glenjamincat-revision has an unhandled exception with -r0 :)15:43
knittlGlenjamin: yes, i'm going to fix that15:43
jamGlenjamin: -r0 => revision_id = None15:43
knittlafter having this test figured out15:43
jamwhich is often not handled all that well :)15:43
jam(though maybe it is revision_id= 'null:' ?)15:43
Glenjaminso takes_options = ["revision"] decodes into a revision_id?15:44
knittlentries(self): if self.root is not None: descend(self.root, u'')15:44
knittlis how i fixed the last bug for -r015:44
jamGlenjamin: it decodes into a RevisionSpec which can then be decoded further by applying it to a branch15:47
jamI don't remember if 0 is special cased or not15:47
knittlno, it's not15:48
knittlwt.branch.repository.add_signature_text('B', 'dummy signature')15:48
knittlAttributeError: 'NoneType' object has no attribute 'add_bytes_record'15:49
knittli guess it takes a signature object, not a string?15:49
jamknittl: you'll need a wt.branch.repository.lock_write(), and wt.branch.repository.start_write_group() before you can call add_signature_text()15:49
jamand some othe bits15:50
cheaterhi15:50
knittloh.15:50
jam(commit_write_group())15:50
cheateri am thinking of using bzr15:50
cheaterhow difficult is it to migrate from cvs?15:50
jamcheater: difficulty is generally expressed in how hard you swear at cvs :)15:50
dashcheater: no more difficult than anything else, probably15:50
Glenjamincheater: in terms of technical setup, or usability?15:51
cheaterlet's consider both options15:51
jamit depends on what kind of fidelity you want from the conversion given that CVS's understanding of history is not particularly accurate across the whole project15:51
Glenjaminwell, bazaar's commandset is pretty much understandable to anyone who's used svn (and thus cvs). I haven't really encountered many instances where commands have the same name and do something surprising15:52
cheaterwhat sort of different "fidelity" can i get jam?15:52
cheaterGlenjamin: ok15:52
cheaterso that's 'usability' i guess15:52
cheaterwe're not integrating cvs with anything15:52
cheaterwhich is good because that falls away15:52
jamcheater: If you have used cvs in a 'basic' capacity, probably pretty good. The problem is that cvs is a bit limited, so people add a lot of hacks on top of it (like copying ,v files, etc)15:52
knittljam: isn't there something more complete to add signature text?15:52
cheaterwhat are ,v files?15:53
cheaterbut yes15:53
Glenjaminknittl: that's the highest up command which doesn't use gpg15:53
cheateri cannot guarrantee it but i don't think they were using any cvs hacks at ALL15:53
cheaterjust the usual stuff, branches, and merges15:53
cheaterthat's all tbh15:53
jamknittl: take a peak at cmd_re_sign, there is 'repository.sign_revision()' passing in a signing strategy, but it still requires a write lock and a write group to write into15:54
jamcheater: ,v is the data storage of cvs15:54
jamfoo.c,v is the history of the 'foo.c' file15:54
cheaterno, i'm almost certain they were not doing that.15:54
jamstored on the cvs server15:54
jamcheater: (it also depends if you want ongoing conversion, or one time conversion, or...)15:54
jamthe short answer is that you can look into15:55
Glenjaminsign_revision calls store_revision_signature which calls add_signature_text15:55
cheaterone time conversion15:55
jamcvs2bzr my_project my_project.fi; bzr fast-import my_project.fi, though there is more documentation than that available15:55
cheatermhm15:55
Glenjamindo you intend to replace the company's central repository with something bazaar based?15:55
cheaterwill it be best to convert straight from cvs to bzr?15:56
cheateror say from cvs to svn to bzr?15:56
jamcheater: http://cvs2svn.tigris.org/cvs2bzr.html15:56
maxbcheater: The cvs2svn project (of which I'm a commiter) also supports targetting bzr. It is mature and many people have stared at its output, so the fidelity should be good15:56
jambasically, the code that was used to go cvs => svn was then updated to target bzr15:56
knittlthis test is complicated -.-15:56
cheaterok15:57
fullermdYou don't have to paint very far outside (or even outside) the lines in CVS to make some very tricky to deduce/convert history.  Only way to know, really, is to try.15:57
maxbI have two recommendations: 1) Use the tip of trunk of cvs2svn/bzr. 2) Use bzr qlog to examine the results15:58
fullermdThere was a whole lotta headscratching in Postgres in their just-completed CVS->git conversion.15:58
cheatercan it take very long to do that?15:58
cheatermaxb: i don't know what "use the tip of the trunk" means15:58
Glenjamindepends how big your history is :)15:58
cheaterabout 10 years15:59
cheaterbut the code in itself is only about 500 000 lines now15:59
cheateri am guessing that shouldn't take much longer than 2-3 hours?16:01
fullermdThe number of revisions (which will be guesswork short of trying it) or the size of the repo would be good ballparking figures.16:01
cheateri can tell you the size of the checkout16:02
cheaternot sure if i have access to the repo16:02
cheaternot sure how to get the "number of revisions" either16:02
knittlAttributeError: 'TestCatSignature' object has no attribute 'add_cleanup' <- what's this?16:02
fullermd10 years old...   a commit a day?  A hundred commits a day?16:02
cheater1-2 commits16:02
cheaterit's really mostly been 1-3 devs16:03
cheaterfluctuating in size16:03
fullermdOK, so that's only a few thousand revs.16:03
cheaterthe team was fluctuating in size, that is. the devs were fluctuating in size, too, though :D16:03
Glenjaminknittl: somewhere along the line something is trying to add a cleanup callback16:03
knittlGlenjamin: yes, i did16:03
knittltrying to add that write lock stuff16:03
Glenjaminah16:04
Glenjamini assume you copied it from a command16:04
Glenjaminwhich has add_cleanup, the testcases probably have an equivalent16:04
knittlyep16:04
fullermdIf it takes 2 seconds per rev to convert, you can convert 3600 revs in 2 hours.  On a reasonably sized tree, that's probably an upper bound (and I wouldn't be shocked if it were a VERY upper bound) on the time/rev.16:05
=== deryck is now known as deryck[lunch]
fullermdSeems to me the last tree I converted was pretty small, maybe 3, 400 revs, and took something like a minute?16:06
knittlGlenjamin: it's passing the tests, but i'm unsure if the way i lock the repository is the right one16:07
knittlsimply doing b.repository.lock_write(); b.repository.start_write_group()16:07
knittlhrm. is write_group just a very bad name for 'transaction'?16:08
knittljam, Glenjamin: http://paste2.org/p/100018216:09
knittlhm. can probably remove the gpg lie16:09
knittl* line16:09
knittlhow can i test exitcode?16:10
Glenjaminknittl: the commend on line 32 is now incorrect. if you add the lock stuff into the try: and put an ensure: block which releases the lock16:10
knittlwhat's ensure?16:11
Glenjaminsorry, ruby16:11
Glenjaminrescue16:11
knittlwell 'signed' = 'has a (dummy) signature'16:11
Glenjaminno, finally16:11
Glenjamini mean a finally block.16:11
knittlwhat's the else: block for try/except?16:12
Glenjaminelse is "run this if there's no exceptions"16:12
cheaterknittl: so what do you think, how much should that take to convert?16:12
cheaterknittl: just ballpark :)16:12
cheatererm16:13
knittlGlenjamin: so, i could just put it after the thing that throws the exception? (for that oneliner)16:13
cheater*fullermd :))16:13
cheatersorry!16:13
knittlcheater: don't know, i don't use bazaar16:13
cheater(wow, it IS hot in this office today)16:13
cheaterknittl: heheh yeah16:13
fullermdcheater: Well, hard to say without more numbers on the size.  But I'd guess you'd have headroom at hours.16:13
knittlcheater: no, i'm serious – i don't use bazaar for my own personal work16:13
fullermdI'd just grab it and try an initial run to see.16:14
fullermdAssume it'll be a throwaway, so you don't need to worry too much about getting trunk cvs2bzr and tweaking configs and all that, just a first blush to see how long it takes and how well it converts.16:14
knittlGlenjamin: i can only create a writegroup after locking the repo. so i'd have two nested try blocks?16:15
knittlGlenjamin: also, else: makes no sense for me. if i don't run into an exception, it could simply be the last statement inside try?16:15
Glenjaminknittl: http://paste2.org/p/100018816:16
Glenjaminthe else block isn't subject to the except16:16
knittlGlenjamin: to what then?16:16
knittland hm. start_write group is outside of try in cmd_revsign16:16
Glenjaminhrm16:17
Glenjaminthey're probably right16:17
Glenjaminbut the finally is the bit you need16:17
Glenjamini don't do much python stuff16:17
knittlworks either way (inside or outside)16:17
knittlGlenjamin: can you try explaining the else: part?16:17
Odd_Blokeknittl: Are you looking for a specific explanation, or just information about try, except, else?16:19
Glenjaminits for statements which shouldn't be caught by the except, but should happen before finally16:19
Glenjamin(had to read the bit in the manual a few times to get it myself)16:19
knittlOdd_Bloke: just found it in the docs. exceptions from else: will not be caught16:19
knittlok, i think the tests are finally passing16:20
knittl(again xD)16:20
knittlhow can i test exit status?16:21
knittli'd just use $? but i guess that's not the pythonic way xD16:23
Glenjamini think you can do something with 2> in the script runner thingy16:24
Glenjaminor you might have to use the blackbox command runner thing16:24
knittlrun_bzr16:24
knittlah. found an assignment16:24
knittlout,err = self.run_bzr16:24
knittlbut i'd like to also check output16:28
knittlideas?16:30
knittl(without running the command twice)16:30
Glenjaminpresumably there are some existing tests which do this?16:30
knittlah, i'm stupid. run_bzr returns output16:31
knittlwhich should be empty16:31
Odd_Blokeknittl: Yeah, it'll be in 'out'.16:31
knittlhmm. output does not match16:36
knittlbut when i call it from the command line it returns with 116:36
knittlwhat?16:37
knittloooh, run_bzr asserts against 016:37
knittlcan i circumvent that?16:37
knittlretcode…16:40
knittlfinallyx16:45
knittls/x/ …/16:45
knittlhttp://paste2.org/p/100022116:46
knittlhttps://code.launchpad.net/~knittl/bzr/cat-signature more comments?16:54
=== deryck[lunch] is now known as deryck
jamknittl: things should be indented 4 spaces (no tabs)17:01
knittl4?17:01
jamand it should be "retcode=1" not "retcode = 1"17:01
knittlok17:01
jamknittl: everything else in bzrlib is 4 spaces17:02
knittlcat_signature was not …17:02
jamknittl: ... because you wrote it?17:03
knittlprobably ^^17:03
jam(it should be fixed)17:03
knittlin the next series17:04
jamanyway the test seems ok17:04
knittlpushed a new version (--overwrite)17:05
knittl5 commits in total17:06
=== Ursinha is now known as Ursinha-lunch
knittljam: should i make a merge proposal?17:14
jamknittl: yep17:15
knittlwho wants to fix -r0? or should i go on and fix its symptoms?17:16
knittlhm. cat_revision raises an exception … which in turn makes bzr crash17:19
knittlehm17:24
=== beuno is now known as beuno-lunch
vilajam: ping, any news about the windows installer ?18:35
=== maxb changed the topic of #bzr to: Bazaar version control | try https://answers.launchpad.net/bzr for more help | http://irclogs.ubuntu.com/ | Patch pilot: spiv | Release Manager: vila | bzr 2.2.0 is officially out | bzr-2.0.6, 2.1.3, 2.2.1 and 2.3b1 need installers, aTdHvAaNnKcSe ! | work on bzr: http://webapps.ubuntu.com/employment/canonical_BSE/
maxb(just tidying some dodgy spacing)18:39
=== beuno-lunch is now known as beuno
vilamaxb: what is missing for the plugins you listed in your mail ?18:44
maxbThat list was generated purely based on the deb Depends criteria. *Assuming* that was correct, they need a new release compatible with bzr 2.318:45
vilamaxb: ok18:46
vilaWe haven't bumped the minimum API for 2.3 though, so that may not be needed18:47
maxbWhen will we know whether 2.3 will contain a bzrlib api bump?18:48
vilamaxb: well, when it happens ;) But as far as 2.3b1 is concerned, it won't18:49
maxbMaybe we should rebuild the packages just marking them as working with 2.3, and hope18:50
vilamaxb: yup, that's also what betas are for here, generally the API problems are encountered by people running from source18:51
jamvila: Gary was working on it, but I haven't heard since19:11
jamvila: why do we need the test suite to run as root ? (Versus just having selftest say "sorry fool, no running as root")19:11
vilajam: because that's how the buildds works ?19:11
vilajam: bug #64401519:12
ubot5`Launchpad bug 644015 in bzr (Ubuntu) "bzr package build should run the test suite (affected: 1, heat: 8)" [Undecided,Confirmed] https://launchpad.net/bugs/64401519:12
vilajam: was there any pending problem (last you heard) ?19:14
jamvila: you mean running as root? Just that it is usually a bad thing to do. but I've approved your patch19:16
knittljam: i already fixed the 4 spaces problem19:17
jamknittl: well, you hadn't pushed that up yet, or LP hasn't seen it19:17
knittli have pushed19:17
jambut with the minor tweaks, i think its ready19:17
knittlbut i only realized after merge-proposal19:17
vilajam: yes, running as root, this makes sense to build packages... especially when you need to installl dependencies19:17
knittlalso, why empty lines? i tried to mimic code from other functions19:18
jamvila: sudo works pretty well to install dependencies, without running arbitrary code as root. I'm not saying I'm going to change what their doing19:18
jamknittl: most have the style I specified, if they don't, it is a bug19:18
jam s/bug/should be fixed/19:18
knittlhttp://bazaar.launchpad.net/~knittl/bzr/cat-signature/revision/5438 here's the whitespace fix. but i'll add some newlines and push again19:19
jamknittl: it is just our style guide, we're pretty consistent on it, though you may have found some exceptions19:19
vilajam: sure, I was a bit scared about the test failures at one point as implying lock would not work anymore but the tests were only testing weird setup errors19:19
vilajam: sudo query for the password, this should run unattended19:20
jamvila: you can set up sudo to not require it. Anyway, I'm not saying we should fix the buildd code. If it is the way it is, then it is the way it is.19:20
jambuildds run as vms that get wiped per install anyway19:21
jam(and yes, if you have auto sudo upcast it could still do arbitrary things, but you can limit what it has access to)19:21
knittljam: pushed19:23
dOxxxgood afternoon...19:26
viladOxxx: Hey !19:29
dOxxxvila: heya. working from home so I'm not firewalled from IRC ;)19:30
viladOxxx: I tested the mac installer19:30
dOxxxvila: thanks :)19:30
vilaonly slight tests as I did it on a mac where I barely have an account but I ran bzr explorer, branch bzr, run qlog19:31
dOxxxvila: I think that's probably good enough. Any problems (that I can fix) should be pretty obvious.19:32
dOxxxvila: I was wondering if we could try building the installer on your 10.5 Mac?19:32
viladOxxx: just a sec, booting it19:33
viladOxxx: ok, where do I start ? I have a running setup for bzr from source (including gcc/pyrex but no paramiko)19:35
vilaweird, why don't I have paramiko... >-/19:35
dOxxxvila: you'll need the Qt Cocoa framework, Packages app and MacTex installed.19:36
viladOxxx: hmpf19:36
dOxxxvila: MacTex is a monster19:36
viladOxxx: is this documented somewhere ?19:37
viladOxxx: well, it was years ago ;) Or was it OzTeX ?19:37
dOxxxthe project page for the installers https://launchpad.net/bzr-mac-installers has a brief rundown19:37
dOxxxthe README in the actual installer project has links19:38
dOxxxI should update the project blurb...19:38
dOxxxso, start off with "bzr branch lp:bzr-mac-installers/2.2"19:38
viladone with branching19:41
dOxxxhave a look at the README in there, it should have the URLs you can download the dependencies from19:42
dOxxxalthough I think I have subsequently switched to Qt 4.6.3...19:43
dOxxxso use http://get.qt.nokia.com/qt/source/qt-mac-cocoa-opensource-4.6.3.dmg instead19:43
viladOxxx: still pyrex-0.9.8.5 ?19:44
vilathere is a maxtex2010, should I stick with 2009 ?19:45
vilamactex19:45
=== Ursinha-lunch is now known as Ursinha
dOxxxvila: As far as I know newer pyrex versions interacted badly with bzr. Try the MacTex2010, it probably won't break...19:46
dOxxxvila: if there is a newer pyrex that is known to work with bzr, then use that.19:47
dOxxxjust let me know what the version is so I can update the doc :)19:47
viladOxxx: I'm updating the README as I download ;)19:47
dOxxxok cool :)19:47
vilafetch-externals is unrelated right ?19:47
vilaouch, still 1h47 to download qt :-/19:48
dOxxxyeah, those dependencies are nasty19:52
dOxxxfetch-externals downloads all the plugins and packages that are compiled during the install19:52
dOxxxso once you have qt, mactex, packages, etc. installed, you run "python fetch-externals.py -p" to download the specific versions of plugins and packages the config requires19:53
dOxxxthen "python build.py" will compile everything into local build directories and then builds the installer package and disk image19:53
viladOxxx: I have a python-2.6 here, but I can't remember if it's the default version or the default provided one ?19:54
dOxxxpython 2.5 is the default for 10.519:54
viladOxxx: and that's it ? I just have to sign/upload the result ?19:54
dOxxxyes19:54
viladOxxx: great19:54
dOxxxit takes a while to compile, which is mostly pyqt's fault.19:55
dOxxxit's about 30m on my wife's macbook pro19:55
viladOxxx: ouch the macbook air will suffer19:55
dOxxxwell, it's newer than mine so maybe, maybe not19:56
viladOxxx: will paramiko be taken into account by fetch-externals ?19:57
dOxxxyes19:58
dOxxxconfig.py lists all the stuff it downloads19:58
dOxxxbeware, config.py is a UTF-8 file with non-US characters in it (Japanese and Russion doc file names) so be careful if you edit19:59
viladOxxx: ok, seems fine here20:00
viladOxxx: how do you install pyrex ?20:00
dOxxxpyrex needs to be installed by you for the system default python20:01
dobeyanyone have any idea, why if i commit 3 revisions to a branch, trying to fetch revno 3 would fail?20:02
dobeyhttp://pastebin.ubuntu.com/499279/20:02
fullermdHow are you trying to do that fetch?20:03
viladOxxx: done20:03
fullermdI suspect you're calling an API that isn't expecting a revno.20:04
vadi2How can I search across -all- revisions of a text file that is tracked by bzr?20:04
dOxxxvila: I guess you're still downloading Qt and MacTex?20:04
dobeyfullermd: merge()20:05
vilad0still dowloading qt, installing MaxTeX20:05
vilameh20:05
viladOxxx: still dowloading qt, installing MaxTeX20:05
viladOxxx: ghaa, approaching disk space limits...20:06
vilaquick quick what can I kill20:06
dobeyfullermd: or more specifically WorkingTree.merge_from_branch() it seems20:07
dobeyfullermd: i'm trying to write unit tests for a part of tarmac that is untested with unit tests, but which does work with live branches (as i've been using it for many months now)20:08
fullermddobey: Well, I'm not authority on the API.  I just suspect you're at far too low a level for it to accept revno's.  You'll probably need to manually parse that to a revid (or maybe a revision object of some sort?  I have no idea...)20:09
dOxxxvila: yeah sorry about that. tex is stupid big.20:09
viladobey: if you're writing tests you can force the revids, easier to reuse then20:10
dobeyfullermd: nah, it accepts revnos. because that's what we've been passing in, with the live runs20:10
dOxxxvila: I just remembered another dependency that I forgot to add to the README... Sphinx. :P20:10
viladOxxx: hehe, yeah, I blame *you* for TeX size :-D20:10
dOxxxvila: ;_;20:10
viladOxxx: sphinx... which version ?20:10
viladOxxx: 1.0.4 ?20:12
viladOxxx: 1.0.4 installing.... grabbing docutils, jinja, kitchen sink and pygments20:16
dOxxxvila: apparently I had 0.6.4 installed20:17
viladOxxx: hmm, will see20:17
dOxxxI don't have a download tarball so I must have used easy_install20:18
viladOxxx: for 2.5 ?20:19
vilaI have it for 2.6 but not for 2.5 here...20:19
viladOxxx: still 43 minutes to go for qt20:21
viladOxxx: this is so last century dl speed ;)20:21
dOxxxhaha20:22
dOxxxis easy_install a 2.6 thing?20:22
viladOxxx: could be, I vaguely remember having upgraded to 2.6 for it20:25
viladOxxx: have you built the 2.3b1 installer ?20:28
viladOxxx: well, I mean, is there any difference for the 2.3b1/10.5 installer20:29
dOxxxvila: yes, I'll upload now. also have the 2.1.3 installer done.20:29
viladOxxx: cool20:30
dOxxx2.3b1 I build using tip versions of all the plugins20:31
dOxxxhmm upload is making remote desktop to work computer somewhat laggy :P20:32
dOxxxvila: 2.3b1 and 2.1.3 uploaded20:39
viladOxxx: excellent20:40
dOxxxvila: release pages updated. formatting is a little wonky though, I don't grok the wiki formatting language yet20:41
viladOxxx: don't worry, 1) the content is more important, 2) I can fix it later20:42
jmlguys20:42
jmlcan you please implement a visual AST-based diff for bzr?20:42
jmlthat'd be great, thanks.20:42
jmlbye.20:42
dobeyoh bzrlib, she is a harsh mistress20:44
viladOxxx: but once it's uploaded, just mention it in the 'DONE' section instead of the 'IN PROGRESS' one20:44
viladOxxx: look at the 2.2.1 page, I've updated it20:45
viladOxxx: I even broke the formatting :)20:45
viladOxxx: fixed :)20:45
dobeylifeless: can you see anything obviously meaningful in http://pastebin.ubuntu.com/499279/ as to why bzrlib would tell me that revision 3 doesn't exist, when it was just committed?20:49
dOxxxvila: well I've put it in the in progress section because the 10.5 installers aren't done yet but I suppose I could separate them20:50
dOxxxvila: I'll update the other pages20:50
viladOxxx: yup, that's what I did for 2.2.120:50
viladOxxx: thanks20:50
lifelessdobey: not without context20:50
lifelessdobey: you might, for instance, have a read locked repo already which won't see new info until you refresh/unlock-readlock it20:51
dobeyhmm20:52
dOxxxvila: release pages updated20:54
viladOxxx: perfect20:56
dobeylifeless: hm, is_locked() is saying it's not locked20:56
viladOxxx: installing Qt...21:12
dOxxxvila: woot woot21:15
viladOxxx: fetch-externals: no module named bzrlib ;)21:17
dOxxxhmm... I suppose I should mention that it requires bzr installed too? :)21:17
vilaany version ?21:17
dOxxxyeah whatever works to fetch the branches required21:17
vilak21:18
dOxxxI started originally with 2.021:18
viladOxxx: seems ok with trunk :)21:20
viladOxxx: you should use doc.bazaar.canonical.com instead of doc.bazaar-vcs.org though21:21
dOxxxwhere?21:22
viladOxxx: dunno, saw the urls pass in the output21:24
viladOxxx: for the pdfs ?21:24
dOxxxvila: oh, yeah, if you're using the -d option on fetch-externals.py, you don't need to since they're now built using sphinx. I need to remove that option from fetch-externals.21:25
viladOxxx: no urgency but if the redirection is ever broken in the future21:25
viladOxxx: hehe, I'm fllowing the README :)21:25
vilafollowing21:26
dOxxxvila: good on you sir. it is I who is the forgetful slacker that has not updated it.21:26
viladOxxx: hehe, don' t worry, any more hints before I run build.py ?21:26
dOxxxvila: my only exuse is that sphinx support was the thing I was experimenting with most recently, so it isn't "final"21:26
dOxxxum...21:26
dOxxxso, you have the Packages app installed?21:27
viladOxxx: yes21:27
dOxxxthen I think you're good to go.21:28
viladOxxx: MacTeX, qt, sphinx, pyrex21:28
vilafire21:28
viladOxxx: I should say that I'm impressed, things have gone pretty smoothly (bar qt download ;)21:29
vilasphinx runnign21:30
vilahmm, errors and warnings there :-/21:31
dOxxxdang21:31
vilaweird, this doesn't seem to stop it21:31
dOxxx>_>b21:32
vilaha, may be new with sphinx-1.0.4...21:32
dOxxxI honestly don't recall if there are errors and warnings during the sphinx phase when I build it using 0.6.4. I just start it and then go do something else for 30 minutes, come back, curse at the error that occurred after 5 minutes, fix it, rinse repeat.21:33
viladOxxx: is says build succeeded21:34
vilaha, pdflatex not found :-(21:34
viladOxxx: do I need something in my PATH for MacTeX ?21:35
viladOxxx: /usr/texbin ?21:37
viladOxxx: works better21:39
viladOxxx: don't forget that we haven't yet officially switched to sphinx, so report any bugs you encounter there21:39
viladOxxx: hihi Overfull \hbox, I had almost forgotten that one :)21:41
viladOxxx: compiling SIP, what's that ? :D21:41
viladOxxx: pyqt now21:42
dobeyhow can i make lp:foo point at file:///blah/blah/blah/tmpdir-bzrblahblah/branch instead of giving me the 'invalid protocol' error, through bzrlib?21:43
dOxxxdOxxx: hmm... I think I did encounter some path issue with finding pdflatex21:50
dOxxxerr right talking to myself again21:50
dOxxxvila: Hopefully I can change the build script to deal with the path issue21:50
dOxxxvila: looks like I made symlinks in /usr/local/bin. I hadn't noticed /usr/texbin. That's a much better solution. :)21:51
viladOxxx: pure luck ;)21:52
viladOxxx: it's mentioned in the What is Installed.pdf for MacTeX... err no, I *mistyped* /usr/tex instead of /usr/local/tex  and found it ;)21:54
* vila kills one more chicken21:54
DanielCordeiroHi, I'm having a little problem with bzr and I would like your help. :) *Sometimes* I'm getting an "bzr: ERROR: [Errno 5] Input/output error" that doesn't allow me to do even basic operations such as "status".21:57
dashare you using nfs?21:57
DanielCordeiroYes.21:57
dashwell, that's why21:57
DanielCordeiro:(21:57
DanielCordeiroIt is supposed to not work when using NFS?21:57
dashi think it's _supposed_ to work, but it doesn't21:58
DanielCordeiro:)21:58
DanielCordeiroIt is strange. I always used bzr in a NFS filesystem and never had any problem.21:59
dOxxxvila: are you fixing this in build.py or should I?21:59
viladOxxx: please do, it's still running here, I just did export PATH=$PATH:/usr/texbin and mentioned it in the README22:00
DanielCordeiroIs this problem documented anywhere or is there any workaround?22:01
dOxxxok22:01
dashthere's a bug open for it22:01
DanielCordeiroI have submitted a bug report also, I will update it and tell that I'm using NFS. :P22:02
dashhttps://bugs.launchpad.net/bzr/+bug/13738722:02
ubot5`Launchpad bug 137387 in Bazaar "close or truncate of os-locked file gives EIO on some NFSv4 servers (dup-of: 98836)" [Low,Incomplete]22:02
ubot5`Launchpad bug 98836 in Bazaar "[MASTER] "OS locks must die" - dirstate file write locks exclude readers and limit portability (affected: 12, heat: 156)" [High,Confirmed]22:02
dOxxxvila: btw, the way I've been trying to manage the branches for the installer is that tool changes, like fixing this pdflatex thing are usually made on trunk and merged to the different branches, and changes to the config.py for a particular version are made on the corresponding branch.22:02
dOxxxvila: although that does usually have some trouble with conflicts merging from trunk due to its own config.py changes22:03
viladOxxx: that seems to be the good workflow... but you can also try to do such a fix in the lowest branch and merge up instead, that should create *less* conflicts22:07
viladOxxx: kind of daggyfix, you fix the bug at its first occurrence (the oldest branch)22:07
viladOxxx: bzr should then recognize some changes as already taken into account and merge only the new ones22:08
dOxxxvila: how do I avoid the branch config.py changes merging into trunk's?22:09
DanielCordeiroThanks for the link to the bug report, dash.22:09
knittlknitpack != format 2a?22:10
fullermdCorrect.22:10
viladOxxx: you can't at the first merge, but the subsequent merges should respect what you decided at the first merge22:10
knittlk, thanks22:11
knittldoes anybody have an bzr-svn project at hand?22:11
knittloh wait. i have myself22:11
knittl:d22:11
viladOxxx: should I expect the same amount of time to create the other installers or are there some components reused ?22:16
dOxxxvila: there is no re-use of components between branches of the installer except what you installed by hand22:18
viladOxxx: ok, makes sense, was just trying to estimate if I will be able to build another one before falling asleep...22:19
dOxxxvila: so if you want to build 2.3b1, you'll need to get the 2.3 branch and do the fetch-externals & build thing again22:19
dOxxxvila: theoretically, you should be able to "python fetch-externals.py -p && python build.py" in the branch and let it run22:20
viladOxxx: yup22:20
viladOxxx: qt just finished compiling22:20
dOxxxvila: ooh ouch22:20
vilahu ho compile error in subvertpy22:21
dOxxxvila: yeah I get errors and warnings from sphinx too22:21
dOxxxvila: hmmm22:21
dOxxxvila: then I guess that subvertpy 0.7.3.1 still doesn't include the correct fix.22:21
viladOxxx: meh, but you were able to compile it for 10.6 right ?22:22
dOxxxyes, it's specifically a problem with svn 1.5 that's installed on OSX 10.522:22
vilahttp://paste.ubuntu.com/49934122:23
dOxxxvila: try changing the subvertpy block in config.py to this: http://pastebin.com/dmkxtfNe22:24
viladOxxx: I didn't install svn at all should I ?22:24
dOxxxoh hmm22:24
dOxxxno22:24
dOxxxit's already installed22:24
dOxxxthat's a different error22:24
dOxxxfrom what I recall22:24
dOxxxtry using the config block I pasted above22:24
dOxxxthat uses the specific revision that jelmer fixed the bug in for me22:24
dOxxxthere may be other changes since then which are included in 0.7.3.1 that are breaking it22:25
dOxxxyou'll need to use "python fetch-externals.py -p" after you've changed the config22:25
vilaok, done, I had to ctrl-C the build, any problem with at ?22:26
dOxxxnope22:26
vilak22:26
dOxxxjust run build.py again22:26
dOxxxit used to start from scratch but that was such a pain in the ass, I made it preserve the build results and added an explicit clean command22:27
vilait seems to re-run a lot of sphinx related stuff though ;)22:28
vilabut as long as it doesn't recompile qt, I'll be happy :)22:29
viladOxxx: hmm, back to fetch-externals, I previously missed the 'branch' part (manual copy/paste doesn't work well ;-/)22:32
dOxxxvila: did fetch-externals not give you an error message the first time?22:33
viladOxxx: it says: revno mismatch in subvertpy, expected 2219 but was 10322:33
viladOxxx: no it didn't22:33
dOxxxvila: uh, add the -u option to fetch-externals.22:33
dOxxxvila: fetch-externals could do with some smarts about when and what it needs to update/download. :(22:33
vilaargh, not a branch %2bBranch, blah blah, propably need an already resolved url22:34
dOxxxthat used to work, I don't know what it doesn't anymore22:34
dOxxxI think lp:subvertpy used to redirect to jelmer's repo on samba.org but not anymore22:35
dOxxxI ran into the same problem yesterday and I had to use the samba http URL directly22:35
viladOxxx: or a lp bug22:35
dOxxxvila: I've updated lp:bzr-mac-installers/trunk to add /usr/texbin to the PATH in build.py so that sphinx can find pdflatex. I'm going to merge it across to the other branches now.22:37
viladOxxx: works with the http@samba url22:38
dOxxxk22:38
Crshman_How can I tell who made what change in a bzr diff?22:42
dashCrshman_: 'bzr blame'22:43
Crshman_what about removed lines that are no longer in the file?22:43
viladOxxx: woohoo build succeeded !22:46
dOxxxvila: awesome!22:46
viladOxxx: congrats for all your hard work !22:46
dOxxxvila: but now does the installed product work? ;)22:47
vilatrying22:47
dOxxxvila: btw I've merged the pdflatex PATH fix into 2.2 and 2.3 branches, the 2.1 branch is somewhat out of date so there's a lot more to merge. I'm somewhat reluctant to do that now until we decide that we need an installer for 2.122:48
viladOxxx: I'm fine with no installers for 2.1.3 and 2.0.6 but I thought you already did one ?22:49
dOxxxyeah, it uses the downloaded pdf docs22:49
* maxb wonders whether we *really* need a special postinst script in our PPA packages to tidy up after broken bzr-beta-ppa packages in the 1.6rc era22:49
maxbpoolie: You around? ^^^22:49
viladOxxx: by the way, it would be nice if we can create some shortcut to launch bzr-explorer *without* needing access to Terminal...22:51
dOxxxvila: it would. that needs a .app bundle, and I think there's a bug on the bzr-mac-installers lp project with one that somebody assembled. I just haven't investigated any further to see what's necessary to integrate it into the installer build.22:53
vilamaxb: I don't think we still need them except for very old releases for people doing a very late upgrade ???22:53
dOxxxvila: I think it also suffers from a problem where there might be password prompts in the console when using bzr-explorer but that wouldn't be visible with a .app bundle22:54
viladOxxx: I don't think so, the only remaining case that I can think of is related to ssh on windows but that shouldn't be a problem on OSX, the provided ssh agent (wait it *is* provided right ?) works quite well for me22:55
viladOxxx: I had to switch to a different user to test, *my* setup can't use the just-installed bzr without to much tweaks22:56
viladOxxx: works22:58
dOxxxvila: it works? woohoo!22:58
maxbvila: The key thing here is that the bug was only in 1.6beta packages ever, so presumably only ever from the bzr-beta-ppa22:58
vilamaxb: then shoot22:59
viladOxxx: so I should rename the img and sign it right ?23:02
viladOxxx: or is there a script for that ?23:02
dOxxxno script for that. rename it to include "OSX-10.5" in the name like I've done for the 10.6 images23:06
dOxxxthen gpg -ba to sign it23:06
viladOxxx: I need so start my Ubuntu vm for that :-) :-/23:07
vilaor copy it elsewhere instead23:07
dOxxxvila: ah bummer23:07
dOxxxvila: I plan to make the build produce the correct dmg filename according to the OS version23:08
dOxxxvila: however I don't think I can help you with the signing problem :)23:08
viladone :)23:08
poolie_hello vila!23:08
vilapoolie_: hey !23:08
poolie_you're up late23:08
vilapoolie_: no no, you don't have to go back to sleep :)23:08
poolie_:)23:09
vilapoolie_: yeah, helping dOxxx building the OSX 10.5 installers23:09
dOxxxwith vila able to build the 10.5 installers, we can probably get them done pretty soon after the source release, barring any problems with plugin versions.23:11
viladOxxx: uploading23:12
maxb*right*, finally finished unpicking the status of the ppa hardy branch23:13
vilamaxb: targeting the bzr-beta-ppa right ?23:15
vilamaxb: will there be a point that we can reuse for the 2.0.6 SRU ?23:15
viladOxxx: pushed a branch with my tweaks, do you want a merge proposal or will you just pick the rights bits ?23:17
dOxxxvila: ehh I'll just merge it myself, what's the branch name?23:17
knittlis there something like an inventory_id?23:17
viladOxxx: lp:~vila/bzr-mac-installers/tweaks-for-10.523:18
dOxxxand that was for 2.2?23:18
viladOxxx: yes23:18
dOxxxk23:18
viladOxxx: sry, I jsut realized I should have specified that in the branch name, on the other hand... there is some history in this branch anyway :-D23:18
dOxxxvila: yeah no worries. I'll also merge the appropriate stuff into the 2.3 branch too so that you can build that without futzing.23:19
viladOxxx: so, for the 2.3 branch, f-e -d -u ?23:19
dOxxxfor 2.3 you shouldn't need the -d option, it will just build docs using sphinx23:19
viladOxxx: oh, ok, I should wait then ?23:19
dOxxxyeah go to bed, we can finish this tomorrow :)23:19
vilaerrr, I meant -p -u23:19
vilayeah, babune just started eating all the PC CPU anyway ;)23:20
dOxxxnomnomnom?23:20
vilaperfmeter for the 4procs/8threads close to 100% yeah, nomnom :)23:21
dOxxxhaha23:23
viladOxxx: one last thing: config.py is really nice, what would be even nicer is a way to output some summary of which versions are used for all the compoenents23:24
viladOxxx: bzr plugins won't be as precise as what you allow there23:24
viladOxxx: I don't have a clear definition of what I want but something that will allow us to quickly check/compare the various releases across the platforms23:25
dOxxxvila: I think I understand. I'll give it some though.23:25
dOxxxthought*23:25
viladOxxx: cool, thanks23:25
vilapoolie_: before I quit23:26
poolie_sure23:27
vilapoolie_: I fixed some more bugs on the SRU paths, but I still haven't nominated the bugs (see my mail)23:27
poolie_that's great, thanks23:27
knittlhttp://wiki.bazaar.canonical.com/BazaarFormats this page is long outdated, rigtht? no format2a …23:28
vilapoolie_: if  you could shepard the SRU a bit (at least the maverick one, I think we have more time for the others), that would be nice23:28
poolie_knittl, probably, deletede23:34
poolie_vila, ok, sure23:34
poolie_i'll do the nominations today23:34
poolie_thanks for pushing on the bugs23:34
poolie_thanks too for posting about the namespace convention23:34
vilapoolie_: great thanks, see my mail, the urls are there ;)23:34
knittlpoolie_: deleting does not do any good23:35
vilapoolie_: well, not the easiest subject to start open my mouth it seems, rest assured that my intentions were friendly and accept my apologies if I hurted anyone23:35
knittli've followed many dead links inside the wiki and only got mad at it23:35
poolie_i deleted it23:35
poolie_:(23:35
poolie_vila, i don't think anyone is hurt23:36
poolie_i hope you're not23:36
poolie_knittl, in general i'd rather have docs in the docs tree23:36
poolie_if there are broken links let's clear them up, either in the wiki or by pointing to docs23:36
poolie_vila, we're just trying to find the best solution together23:37
knittlpoolie_: well, that sounds like adding a hint to visit some other site might be a good idea23:37
knittlnot to confuse users23:38
poolie_knittl, where were you looking to end up on this page23:38
poolie_hi sidnei23:38
sidneihi!23:38
knittlpoolie_: i don't know, found it somewhere, maybe in the wiki, maybe on google23:38
knittlwas still in my bookmarks23:38
=== sidnei is now known as sidnei-dinner
fullermdMmph.  Is there a good reason 'tags' doesn't accept a branch as an arg?23:40
knittlthat wiki reads like legacy information anyways23:40
poolie_as i say we're mostly putting docs in to doc.bazaar.canonical.com23:40
poolie_the wiki could do with a good scrub to remove old information23:41
knittlput a banner on top of every page: this wiki is outdated, please see docs.blah for current docs23:42
poolie_hm, good idea23:46
poolie_there are a few pages that are meant to live in the wiki23:46
fullermdUrg.  If the pages are really outdated, they otter just be deleted, not enheadered...23:47
poolie_right23:48
knittlit's lost information though. no historic record23:49
knittli don't know where to look for past formats now23:49
poolie_well, i think they'll still be documented in the in-tree docs23:49
poolie_the docs for our previous releases are available on the doc web site23:49
poolie_and the wiki is presumably in webarchive.org if you really want to see what we said about formats 2 years ago23:50
fullermdAnd the wiki still stores the history anyway, neh?23:50
knittlfullermd: not if the page was deleted23:51
knittland i'm going to bed now. good night!23:51
fullermdReally?23:51
* fullermd adds another to his list of reasons wikis are bogus...23:51
fullermdWiki: Just like a VCS, but dumber!23:52
mwhudsonwikkid!!!23:52
mkanatISTR some people making a wiki based on a VCS.23:52
mkanatWould be possible if your VCS was fast enough.23:52
knittlfullermd: yes, it's pretty much like a CVS ,v file. if you delete it, history is gone too23:53
fullermdWell, sure, but you don't delete RCS files (unless you intend to have that effect), you just Attic'ize 'em.23:54
cheater99hi23:58
cheater99i am thinking about using bzr or git or hg for my new project23:58
cheater99what should i be using?23:58
cheater99also: why is bzr better than git?23:58
dashbzr. duh.23:58
fullermdbzr.  Or git.  Or hg.23:58
mkanatcheater99: There are some things that I like about bzr more than git.23:59
dashcheater99: less crazy UI, more flexible, actually updates svn mergeinfo when interacting with svn :)23:59
mkanatcheater99: I like the fact that it explicitly supports directory and file renames.23:59
mkanatcheater99: Also, I like the fact that it works well on Windows and is easy to install there.23:59

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