[00:30] <igc> morning
[01:05] <spiv> Good morning.
[01:07] <igc> morning spiv
[01:29] <lifeless> spiv: feeling better ?
[01:30] <spiv> lifeless: yes, thankfully.
[01:31] <spiv> I can't guarantee I won't brainfade in the afternoon again... but so far so good, and without cold&flu pills!
[01:37] <cody-somerville> ugh
[01:39] <cody-somerville> I just did a merge of two trees of the same codebase that have no revision ancestry. There are very little differences between the two trees but bzr conflicts on all the files because the year in the copyright statement at the top of the files were all updated.
[01:41] <cody-somerville> will trying a different merge method help or bzr just won't be able to figure this out on its own?
[01:43] <lifeless> you could write/adapt/improve jams copyright plugin
[01:43] <lifeless> spiv: would like to talk gil stuff with you at some point
[01:43] <lifeless> ok, really popping out for these chores/lunch
[01:44] <spiv> lifeless: ok
[03:07] <spiv> We're starting to get on top of the review backlog from the sprint :)
[03:07] <lifeless> \o/
[03:18] <lifeless> losa ping
[03:19] <spm> yo
[03:19] <lifeless> can you check balleny's bzr 2.1 branch
[03:19] <spm> lifeless: sure, in what sense check tho?
[03:19] <lifeless> I think the xmlrpc server fell down went boom just as pqm went to do the 2nd-phase push
[03:19] <spm> ahh. right.
[03:19] <lifeless> so there will be another commit in that branch vs lp
[03:20] <spm> manually push the sucker?
[03:21] <spm> lifeless: https://pastebin.canonical.com/32485/ so yeah, looks to me like '42 missed
[03:21] <lifeless> please sir may I have another
[03:22] <spm> lifeless: Pushed up to revision 4842.
[03:23] <lifeless> thanks a lot
[03:23] <spm> np
[03:23] <lifeless> now I can do -> bzr.dev
[03:23] <lifeless> :)
[03:24] <spm> heh
[03:33] <lifeless> garh, bzr-search not-quite-fixified.
[03:38] <lifeless> spiv: does bzr merge --weave still call NEWS helper ?
[03:43] <cody-somerville> ugh
[03:43] <cody-somerville> lets say I have two branches
[03:43] <cody-somerville> the second branch is a branch of the first branch
[03:44] <cody-somerville> in the second branch, I've moved files using bzr move
[03:44]  * lifeless waits for launchpad
[03:45] <lifeless> 6 ppm
[03:45] <lifeless> :<
[03:45] <cody-somerville> why is that if I make modifications to those files I moved under the original name in the first branch that when I merge the first branch into the second branch I get a text conflict for the original filenames?
[03:45] <spiv> lifeless: I don't recall, I *think* so
[03:46] <lifeless> cody-somerville: you shouldn't
[03:46] <lifeless> cody-somerville: please file a bug
[03:46] <spiv> cody-somerville: in the situation you just described, you shouldn't.  Either there's a bug, or the situation isn't as you described.
[03:46] <cody-somerville> lifeless, I can only assume that maybe I didn't use bzr move when I thought I did?
[03:47] <spiv> You can look at the file-ids
[03:47] <lifeless> have a look at bzr log filename
[03:47] <cody-somerville> how do I do?
[03:47] <lifeless> in branch2
[03:47] <spiv> e.g. "bzr file-id FILENAME"
[03:47] <lifeless> with -v
[03:47] <lifeless> if it shows the rename, you used bzr mv
[03:49] <cody-somerville> sighs
[03:49] <cody-somerville> wasn't moved
[03:50] <cody-somerville> because I merged the first branch into another branch to initial create the 'second branch' and that was a bzr-git import and it shows the files were deleted and then added with new name.
[03:50] <cody-somerville> *initially
[03:51] <cody-somerville> Any way I can give bzr the extra meta-data?
[03:52] <lifeless> no, this is a hole.
[03:53]  * cody-somerville sobs.
[03:54] <lifeless> or rather, not trivially.
[03:54] <lifeless> you can probably rebase, if you hit things hard enough
[03:54] <lifeless> there is a file id mapping feature in that plugin
[03:54] <lifeless> damned if I know how to use it though :()
[03:54] <cody-somerville> I'm trying to manage two series of a codebase
[03:55] <cody-somerville> but upstream decided to create a new git branch (or w/e its called in git) for the new series.
[04:35] <lifeless> jam: bzr in C ? I've got a few libraries you might want
[04:35] <lifeless> jam: that are slowly building up towards that
[04:35] <lifeless> e.g. libvfs
[04:44] <lifeless> anyone want to keep CHK1/CHK2 formats around?
[04:44] <spiv> I wouldn't think so
[04:45] <spiv> There are always old releases if someone does.
[04:48] <lifeless> bleh
[04:48] <lifeless> Ran 24411 tests in 1013.377s
[04:48] <lifeless> FAILED (failures=1, errors=72, known_failure_count=47)
[04:53] <echo-area> hello, I got error "Invalid url supplied to transport" when doing bzr checkout svn+http://url
[04:54] <echo-area> what's the problem?
[04:54] <echo-area> thanks
[04:54] <spiv> echo-area: do you have the bzr-svn plugin installed?  (check the output of 'bzr plugins')
[04:55] <echo-area> spiv: yes, if I do bzr checkout svn+ssh://other-url, I am prompted to input the password.  But I can't, since the subversion repository is not accessible by ssh for me
[04:56] <spiv> echo-area: odd.  pastebin the entire error?
[04:56] <echo-area> ok
[05:02] <echo-area> spiv: http://pastebin.com/khtwepfF
[05:34] <lifeless> back soon
[07:14] <echo-area> does somebody have an explaination to my bzr-svn problem?
[07:17] <spiv> echo-area: I don't, sorry
[07:21] <echo-area> spiv: no problem, thank you
[07:22] <echo-area> does bzr-svn require pycurl?  I found it mentioned here: https://answers.launchpad.net/bzr-svn/+question/11299
[07:22] <lifeless> bzr bzr plugins
[07:22] <lifeless> sorry
[07:22] <lifeless> check the output of 'bzr plugins'
[07:22] <lifeless> I suspect its not loading, and the error will be in bzr.log
[07:22] <echo-area> (to support svn+http)
[07:23] <vila> echo-area: It's not *required* AFAIK, but used if available
[07:23] <echo-area> lifeless: http://pastebin.com/khtwepfF  <--  output of bzr plugins is pasted here
[07:24] <lifeless> vila: bzr-svn uses the svn http core, can't use anything else
[07:24] <lifeless> echo-area: and is svn in the list ?
[07:24] <vila> lifeless: the current run on pqm says (lifeless) Merge 2.1 into 2.0, you meant 2.0 into 2.1 right ?
[07:24] <lifeless> blah 2.1 to trunk
[07:24] <echo-area> lifeless: yes, it is "16.svn 1.0.2"
[07:25] <lifeless> ok
[07:25] <lifeless> check your .bzr.log just in case there is an error there
[07:25] <vila> lifeless: it still uses any available bzr client for some operations (can't remember which but at least OPTION is involved and jelmer asked me to support that directly far too long ago)
[07:26] <lifeless> sure
[07:28] <vila> " blah 2.1 to trunk" cool !
[07:29] <echo-area> I've updated the pastebin content.  An exception is thrown when the plugin tries to connect the server
[07:29] <echo-area> http://pastebin.com/xsj7q0Ca
[07:30] <echo-area> it's here
[07:33] <echo-area> I guess the problem is in subvertpy, let me check
[07:37] <vila> echo-area: try using 'bzr plugins -v' the paths used will displayed and may help you detect a problem in your setup, and as lifeless mentioned, check your .bzr.log ('bzr version' will tell you where it is located))
[07:41] <echo-area> vila: done; the content of .bzr.log reflected the error has been pasted.  Btw, when bzr-svn calls subvertpy functions, is the "svn+" part of url stripped off?  I.e., at line 249 of transport.py of bzr-svn, does the url parameter begin with "http://" or "svn+http://"?
[07:42] <spiv> I'd expect stripped.
[07:42] <spiv> But ICBW.
[07:53] <echo-area> I don't have experience using python before, and I want to change subvertpy's code, so I need help: in this expression _ra.RemoteAccess(url, *args, **kwargs), which field of the definition in the C code of _ra.RemoteAccess is the function gets called?
[07:55] <vila> echo-area: before modifying code, have you tried using -Dtransport as an additional parameter to the command ?
[07:55] <vila> it should output more debug stuff to .bzr.log
[07:56] <echo-area> vila: no, let me try now.  Do you mean bzr co -Dtransport svn+http://...?
[07:56] <vila> yup, it may give you what you are after with this code modification with a bit of luck
[07:59] <echo-area> vila: sadly there's no more output I've not seen.
[08:06] <spiv> echo-area: that Python expression will invoke ra_new in subvertpy/_ra.c (via a little bit of indirection)
[08:09] <echo-area> spiv: yes, and I've located the PyTypeObject "_ra.RemoteAccess" in _ra.c, but that definition does not give me any clue which function to look further
[08:11] <spiv> echo-area: see around line 2071, PyTypeObject RemoteAccess_Type = {
[08:12] <spiv> echo-area: which defines various builtin operations that can be done with a Type object, and also defines the methods and members of that type.
[08:12] <spiv> echo-area: specifically, the constructor for that type roughly corresponds to the tp_new slot (right at the bottom of that struct definition)
[08:13] <spiv> echo-area: and arrays like ra_methods defines the methods instances of that type will have
[08:14] <spiv> echo-area: so _ra.RemoteAccess(...) is calling the _ra.RemoteAccess constructor, which as I said before will mean the ra_new function in that file.
[08:15] <spiv> echo-area: does that help?
[08:15] <echo-area> spiv: yes, that's enough knowledge for me to dig deeper.  Thank you!
[08:16] <spiv> echo-area: great :)
[08:42] <spiv> echo-area: any luck?
[09:56] <echo-area> spiv: no, I was interrupted and am doing other things now.  I expect myself solving this problem before the weekend
[09:56] <echo-area> s/solving/explaining/
[12:59] <Lor> Hi. If I have a directory hierarchy with several branches under it, synchronizable across machines easily with multi-pull or repo-push, is there any way to easily synchronize changes to the actual hierarchy layout?
[12:59] <Lor> Before nested trees are production quality, that is.
[14:11] <Lor> Also, why must the shared repository of a branch always be located in a parent directory?
[14:11] <Lor> Seems like it wouldn't be very complicated to simply record the location of the repository in branch.conf
[14:39] <jjann> Hi. Is there some way to colorize bzr diff output? (similar to what git and hg offer)
[14:49] <bialix> jjann: look at cdiff command from bzrtools
[14:49] <jjann> bialix: that's perfect, thanks
[15:55] <guijemont> jelmer_: vila: ping
[15:57] <guijemont> I have a bzr-gtk branch that implements collapsing with which I am quite happy now
[15:58] <guijemont> should I do a merge request through launchpad?
[15:58] <guijemont> or a bzr send to the ml?
[15:58] <guijemont> or something else?
[16:01] <vila> guijemont: a merge request with a cover lettter explaining if and how you share code with qbzr would be the best
[16:02] <vila> guijemont: did you tested it with a mysql or emacs branch ?
[16:02] <guijemont> vila: my branch still uses ye olde linegraph()
[16:02] <guijemont> hmm, i didn't, good idea
[16:02] <guijemont> I tested it with itself, and with lp:elisa
[16:05] <vila> trying with bigger branches may help unless you're into adding automated tests (which are painfully lacking so far)
[16:10] <guijemont> I think it will make sense to add some automated tests when the code is refactored to use the qbzr graph generation stuff
[16:12] <vila> guijemont: hehe, TDD is about doing it the other way around i.e. write tests first :-)
[16:12] <vila> guijemont: but it's harder to do TDD with an existing code base and no tests
[16:13] <guijemont> vila: yeah, and with a code base that doesn't separate things well
[16:13] <fullermd> Oh, no, it's much easier.  Your changes never break tests   :p
[16:14] <vila> fullermd: you're on the right path young jedi, the next step is to realize that the only that should be written is one that fix a test :)
[16:15] <vila> s/only/& code/ mandatory typo...
[16:15] <cbz> when i access a svn repo with bzr can it track renames?
[16:15] <cbz> as it seems to stop displaying history for a file at the point at which it was renamed
[16:15] <fullermd> Ergo, bzr-gtk is already perfect.  QED   :)
[16:16] <vila> haaaaa, that's why it's so hard to ehance code without tests, I should have think about that sooner :)
[16:26] <vila> wow, time travel again... I see files created in the future... (5mins and 1.5hours)
[16:27] <fullermd> Maybe you're just slow   :p
[16:27] <vila> the really weeird thing is that 'date' displayed value seems correct
[16:28] <guijemont> reminds me of today's smbc
[16:28] <guijemont> (or was it yesterday?)
[16:28] <vila> nope, all on the *same* system, no mounted fs involved (that would be too easy :)
[16:28] <guijemont> yeah, today
[16:29] <guijemont> http://www.smbc-comics.com/comics/20100520.gif
[16:29] <vila> arf, no samba there :)
[16:29] <vila> guijemont: :)
[16:52] <guijemont> hmm, I have a few "maximum recursion depth exceeded"
[16:52] <guijemont> the code looked good when using recursion :/
[16:52] <jelmer_> guijemont: what do you recurse on?
[16:53] <guijemont> don't remember
[16:53] <guijemont> I might do that in more than one place
[16:54] <guijemont> I'll have a look at the backtraces in more detail
[16:55] <guijemont> hmm, actually, the place where I get this is weird
[16:56] <guijemont> i think i need a break before plunging into that
[16:59] <GaryvdM> Hi bialix
[16:59] <GaryvdM> Just landed stable scroll for qannotate \o/
[17:00] <vila> GaryvdM: Really ? Is it really what I think it is ?
[17:01] <GaryvdM> Hi vila, I think it is what you think it is.
[17:01] <vila> GaryvdM: that's awesome !
[17:01] <vila> GaryvdM: you rock :)
[17:01] <mgz> But is it what I think you think he thinks it is?
[17:01] <GaryvdM> lol
[17:03]  * GaryvdM thinks about landing lp:~garyvdm/qbzr/annotate_find. Does it really matter if the ui is inconsistent for a while?
[17:03] <vila> GaryvdM: doesn't matter to me :)
[17:03] <vila> mgz: I think I see what you mean...
[17:03] <vila> boom, maximum recursion depth exceeded in discussion
[17:04] <vila> GaryvdM: what matters though, is that some bindings should be defined there :-P
[17:05] <GaryvdM> vila: I don't understand
[17:06] <vila> return should be bound to next by default
[17:07] <jam> hi vila and GaryvdM
[17:07] <Lor> Is there a recommended way to put multiple branches under a single working directory?
[17:07] <Lor> (With the intention that the working directory is used to switch between the branches)
[17:07] <vila> when I enter text the 'Find:' field, I'd like 'return' to give me the next match without touching my mouse
[17:07] <GaryvdM> vila: ok
[17:08] <GaryvdM> vila: You and Craig both gave me some feed back. I will go through that first.
[17:14] <vila> Lor: I don't use that setup myself, but AIUI, lightweight checkouts and the switch command OR the bzr-colo plugin are different ways to achive that today
[17:15] <Lor> Ah, didn't know about bzr-colo.
[17:15] <Lor> Is it some sort of a hack to simulate nested trees until they are fully supported by the core?
[17:16] <Lor> Ah, no.
[17:16] <Lor> Right.
[17:19] <GaryvdM> Lor: Not nested trees. Rather collocated branches.
[17:19] <GaryvdM> Lor: Like git
[17:19] <Lor> Right, I'm reading the docs now.
[17:19] <Lor> It's just an alternative directory layout convention for lightweight checkouts?
[17:20] <Lor> Does it work with bzr-pipeline?
[17:24] <GaryvdM> Going out for a bit. bbl
[17:29] <cbz> jelmer_: are you there?
[17:41] <Lor> Is there really a performance overhead for storing multiple unrelated projects in the same shared repository?
[17:50] <jelmer_> cbz: hi
[18:00] <cbz> jelmer_: does bzr-svn track renames? it appears that it's history of files i renmamed stops at the point i renamed them
[18:03] <jam> Lor: "bzr init-repo --no-trees project; cd project; bzr init branch1; bzr co --lightweight branch1 work
[18:03] <jam> Lor: from there you can do: 'bzr branch --switch ../branch1 ../branch2"
[18:03] <jam> or
[18:03] <jam> "bzr switch -b branch2"
[18:04] <Lor> I was asking about how to put branches under a _working directory_.
[18:04] <Lor> bzr-colo seems to provide a sensible convention and tools to make its usage easier
[18:05] <jam> Lor: well, you can do:
[18:05] <jam> touch work
[18:05] <jam> cd work
[18:05] <jam> bzr init-repo --no-trees .
[18:05] <jam> bzr init _a_branch
[18:05] <jam> bzr co --lightweight _a_branch .
[18:05] <jam> It is a bit weird to put the branches in the same dir as the working tree
[18:06] <jam> so aside from that, bzr-colo
[18:06] <Lor> Yes, that's one convention.
[18:06] <Lor> But it's a bit funny to have the branch directly under the root of the working directory, since there's then nothing to immediately distinguish between a branch directory and a workingtree subdirectory.
[18:06] <Lor> .bzr/branches seems like a more sensible place to put the branches
[18:07] <Lor> It also seems to work ok with bzr-pipeline.
[18:07] <Lor> So I'm all good.
[18:10] <Lor> Actually, pipeline+colo=loom?
[18:17] <jelmer_> cbz: yes, it can track renames
[18:18] <jelmer_> cbz: but it won't infer renames from copy + delete in svn
[18:18] <jelmer_> cbz: so it will only work for revisions pushed from bzr into svn
[18:18] <cbz> okay
[18:18] <cbz> can't it use whatever information svn uses to work out what has been renamed?
[18:23] <LeoNerd> SVN doesn't store renames.
[18:23] <LeoNerd> SVN stores a revision that deletes a file, but adds a new file by copying history from the old one.
[18:23] <LeoNerd> That isn't quite a "rename"
[18:26] <mgz> ugh, setuptools makes me feel unclean
[18:30] <cbz> but it stores enough meta information for tortoisesvn to work out that a rename/copy has taken place
[18:35] <idnar> the mismatch is that bzr doesn't support copies
[18:37] <cbz> oh
[18:46] <Lor> Suppose I have a network connection available only for a limited while. I want to get new revisions from upstream, but my working directory is currently a mess so I don't want to merge right away. What's the best way to do this?
[18:46] <Lor> The obvious solution is just to branch upstream into a local copy and then merge that local copy into my working branch later on.
[18:47] <Lor> But I'm wondering if there is a way that doesn't require creation of a temporary local branch.
[18:56] <jelmer_> Lor: not that I can think of
[18:57] <Lor> Well, in principle it's possible to do a merge, then revert before committing. This does bring in all the revisions into the local repository. But after the revert there is just pointer to them so it's not trivial to redo the merge.
[18:57] <Lor> just _no_ pointer to them
[18:58] <Lor> But a branch is a cheap thing.
[18:59] <Lor> Actually, one of the reasons why the colocated branch convention is good is that you always get a shared repository so branches are always cheap.
[19:05] <Lor> Incidentally, could someone explain the point of shelves?
[19:06] <Lor> It seems kind of silly that when we have full version control available, a separate system is used to store temporary changes.
[19:06] <TresEquis> Lor: back out a part of the uncommitted changes in the working directory
[19:06] <TresEquis> to make it possible to to more focused commits
[19:06] <TresEquis> e.g., with simple commit messages
[19:07] <Lor> If you want to back out some changes that you want to later bring back, why not commit, then revert those changes, then do what you want, then merge rest of the stuff from the commit?
[19:07] <TresEquis> Because I don't want them in the "public" history yet
[19:07] <Lor> "public"?
[19:07] <Lor> It's your own branch!
[19:07] <TresEquis> but I'm going to push it somewhere public
[19:08] <TresEquis> e.g., if I'm evaluating a patch which supplies both a testcase and a fix
[19:08] <Lor> That seems like a problem with your workflow.
[19:08] <TresEquis> I apply the patch, shelve the fix, and ensure that the testcase fails
[19:08] <TresEquis> (note I haven't committed anything)
[19:08] <TresEquis> then unshelve the fix and commit both together
[19:09] <TresEquis> or if I have made "janitorial" changes to one part of a file while making substantive changes to another part
[19:09] <Lor> I forgot: after the commit, uncommit back to the previous revision but revert the working tree only partly (those parts you don't want to shelve).
[19:09] <TresEquis> I want to commit the two parts separately
[19:09] <Lor> bzr-pipeline seems like the right tool for that.
[19:09] <Lor> (or loom)
[19:10] <TresEquis> no, those are too complex
[19:10] <Lor> Only if you think that a branch is a big thing.
[19:10] <TresEquis> no
[19:10] <TresEquis> I'm done trying to explain how I use it -- I don't need to defend it
[19:13] <Lor> I'm not saying there's necessarily anything wrong with shelves, they just seem orthogonal and redundant.
[19:13] <elmo> aborting commit write group: OSError(24, 'open: Too many open files')
[19:13] <elmo> bzr: ERROR: [Errno 24] open: Too many open files: '.'
[19:13] <elmo> seriously?
[19:16] <Lor> Sorry, _un_-orthogonal.
[19:17] <GaryvdM> elmo: On what os?
[19:17] <elmo> GaryvdM: Ubuntu, Lucid
[19:18] <jam> elmo: I've only seen that when using bzr-svn
[19:18] <jam> the code that actually reads the content does have a try/finally:f.close()
[19:18] <jam> so we shouldn't be leaking from there
[19:19] <elmo> jam: this is straight bzr, managing /etc
[19:19] <elmo> root@carpobrotus:/etc# bzr st | tr -d @ | grep -v "^[a-z]" | grep -v " postgresql/8" | grep -v /hook | awk '{print $1}'| wc -l
[19:19] <elmo> 1268
[19:19] <elmo> ^-- that's the number of files I'm trying to commit
[19:19] <elmo> I'm basically doing bzr ci -m "commit message" $(<the bzr st horror above>)
[19:19] <elmo> (without the wc, obviously)
[19:20] <jam> elmo: hmm... I still haven't seen us have a problem with that, but we can certainly try to investigate
[19:20] <jam> I assume it is perfectly reproducible for you?
[19:20] <jam> and 'bzr --version' is?
[19:20] <elmo> jam: yes, reproducible
[19:20] <elmo> jam: 2.1.1
[19:21] <elmo> 2.1.1-1 to be precise
[19:21] <elmo> I suspect I can reproduce with a dumb testcase and that the trigger is listing files on the command line
[19:21] <elmo> I'm sure I've commited trees with more changes before but I don't often specify the files on the command line
[19:21] <elmo> but I'm guessing
[19:24] <elmo> yeah
[19:25] <elmo> I'll file a bug, it's got a trivial test case
[19:27] <jam> elmo: thanks, I'm trying to reproduce now
[19:27] <elmo> jam: http://paste.ubuntu.com/436872/
[19:29] <jam> elmo: so, I can reproduce something weird with "bzr st `cat big_list.txt`"
[19:30] <elmo> reported as https://bugs.launchpad.net/bzr/+bug/583468
[19:30] <elmo> jamnice
[19:30] <elmo> jam: nice - even
[19:31] <elmo> jam: that looks like a related/similar problem
[19:31] <jam> elmo: seems like it is actually a problem with the command line being too long
[19:31] <jam> and that is getting masked somehow
[19:32] <elmo> jam: I don't think so?
[19:32] <elmo> 'ls *' works, for example
[19:32] <elmo> so 'bzr st *' should too
[19:33] <jam> elmo: now i'm seeing "permission denied"...
[19:43] <jam> elmo: so I'm pretty sure it isn't the commit code, but actually the "what has changed" code that is at fault, still investigating
[19:43] <elmo> jam: ok, thanks for looking.  FWIW, it's not urgent though I do appreciate you looking into it
[19:43] <jam> elmo: Yeah, if you "mv  _readdir_pyx.so _readdir_pyx_old.so" it works
[19:43] <jam> the issue is something in there is opening file descriptors and not closing them
[19:44] <jam> I know we do "open(directory)" so we can do "chdir(old_dir_id)" but we seem to properly (close(old_dir_id))
[19:44] <jam> elmo: any chance you can test on something other than lucid?
[19:44] <elmo> jam: like what?
[19:44] <elmo> something newer?
[19:45] <jam> or older
[19:45] <jam> something different
[19:45] <elmo> sure, I can test hardy trivially
[19:45] <jam> in case it is something like OS not actually releasing handles on open(directory) or a problem with opendir()/closedir() etc
[19:45] <jam> thanks
[19:45] <jam> I've only got a Lucid VM here
[19:46] <jam> so you don't need commit, 'bzr st *' should trigger it just fine
[19:46] <jam> but it probably has to be a bunch of files and not their containing dirs
[19:46] <jam> because the code filters (if you supply dir/ and dir/foo, we only use dir/)
[19:47] <elmo> jam: hardy with 2.0.4 exhibits the same behaviour
[19:47] <jam> elmo: thx
[19:49] <jam> elmo: submitting a bug, hopefully I can track it down
[19:51] <jam> bug #583486
[19:54] <elmo> jam: ah, I guess I should dupe my bug into that then?
[19:54] <elmo> jam: (done)
[20:22] <cr3> is there a way to either revert to a tag or determine the revision corresponding to a tag?
[20:34] <mgz> launchpad-bugs-owner@lists.canonical.com "Your message was rejected" huh?
[20:35] <mgz> that's surely not expected behaviour from submitting a merge proposal, sending me email complaining about it.
[21:17] <Lor> Wait, what? Are plugins allowed to store data into bazaar.conf?
[21:20] <GaryvdM> Lor: yes
[21:21] <Lor> Then it's not really a configuration file?
[21:21] <jpds> cr3: bzr tags ?
[21:21] <cr3> jpds: yep
[21:21] <Lor> (In the unix sense, meaning: managed only by the user, can be set read-only)
[21:21] <jpds> cr3: Err, that was the answer to the latter part of your question.
[21:22] <GaryvdM> Lor: What plugin are you looking at ?
[21:22] <Lor> bzr-bookmark
[21:22] <GaryvdM> Lor: Well, the user *configures* their bookmarks
[21:23] <Lor> Arguably, yes.
[21:23] <luks> bzr itself modifies bazaar.conf
[21:24] <Lor> I'm not saying this is wrong, but it is confusing not to have a clear idea exactly where bzr will touch, and where the user is in control.
[21:24] <luks> I think providing UI for configuration files is nothing special
[21:27] <Lor> hm, when I do bzr co bm:foo, the bound_location gets the _expanded_ bookmark location, instead of just bm:foo
[21:28] <Lor> I was hoping to use bookmarks as a layer of indirection so that if the upstream location moves someplace else, I just need to do a single reconfiguration and everything will keep on working.
[21:29] <lifeless> moin
[21:31] <Lor> (Basically I'm wondering whether I should use bookmark locations as part of something I'm doing, or cook my own thing, even though it would be slightly similar)
[21:35] <Lor> bazaar.conf doesn't support include directives?
[21:36] <Lor> I'd like to use the same configuration on multiple machines, except for some site-specific bits.
[22:15] <jam> elmo: found the bug
[22:15] <jam> when you pass in a path
[22:16] <jam> we open() the current directory so that we can chdir() back to it
[22:16] <jam> but if it is a file and the 'chdir(path)' fails, we were not closing the descriptor
[22:16] <jam> simple one-line fix
[22:16] <lifeless> grah
[22:16] <lifeless> +1
[22:16] <elmo> jam: awesome, ta
[22:16] <jam> lifeless: do you want me to clean up the code a bit, I get some warnings under pyrex. Otherwise I can just do the minimal one-line fix
[22:16] <lifeless> jam: we want to land in 2.0
[22:16] <jam> lifeless: sure
[22:16] <jam> I'll start small :)
[22:17] <lifeless> jam: so - one liner, for SRU niceness. Cleanup in trunk after mergnig forward.
[22:22] <jam> elmo, lifeless: Theres the one-line fix
[22:22] <jam> http://paste.ubuntu.com/436938/
[22:22] <lifeless> yeah, doit
[22:26] <mtaylor> it would be great if I could say bzr push $parent
[22:26] <mtaylor> except without the $parent part
[22:26] <mtaylor> I mean - if it was something good and not $parent
[22:26]  * mtaylor is babbling
[22:27] <mtaylor> bzr push `bzr info | grep parent | awk '{print $3}'`
[22:27] <mtaylor> is what I'm trying to say
[22:28] <jam> mtaylor: bzr push :parent ?
[22:28] <mtaylor> jam: wow. is that a thing?
[22:28] <jam> mtaylor: yes
[22:28] <mtaylor> jam: see... you anticipate my needs before I even know them :)
[22:29] <jam> mtaylor: bzr help location-alias lists 6 shortcuts
[22:29] <TresEquis> borrowing guido's time machine, are we?
[22:29] <mtaylor> woot
[22:50] <AfC> Bazaar for dapper in the PPA doesn't install "bzr: Depends: python-configobj but it is not installable"
[22:50] <AfC> (yes, dapper. I need Bazaar there to get *off* of that system, heh)
[22:54] <AfC> So should I... install Bazaar manually?
[22:55] <jelmer_> AfC: uhm
[22:55] <AfC> jelmer_: that's what I said :)
[22:55] <jelmer_> AfC: Or perhaps just run it unpacked from your home directory?
[22:55] <AfC> jelmer_: as in from tarball?
[22:55] <AfC> [if so, that's kinda what I was thinking, actually; I realize that's not what I said]
[22:55] <jelmer_> AfC: well, unpack the tarball first, but yeah :-)
[22:56] <TresEquis> $ sudo python setup.py install --root=/opt/bazaar
[22:56] <jelmer_> bzr will also work fine without installation though
[22:57] <AfC> Weill it work, or will I need this python-configobj thing manually? too
[22:58] <jelmer_> AfC: no, you won't need to install python-configobj in that case
[22:58] <jelmer_> we just remove that for the debian packages because we'd like to avoid duplication on the system
[22:58] <AfC> jelmer_: if I don't "install" it, should I still `make` (or whatever) to build the C stuff? Presumably!
[22:59] <jelmer_> AfC: it's not necessary but it will help with performance
[23:00] <TresEquis> AfC:  setup.py build_ext --in-place, I think
[23:00] <AfC> this is horrid. Pyrex not in dapper.
[23:01] <jelmer_> AfC: you can use bzr without the extensions, it'll just be slower
[23:01] <jelmer_> is the repository you're trying to use very large?
[23:01] <AfC> jelmer_: 250 MB, 4500 files
[23:02] <jelmer_> so I guess the question is whether it will take more time to install pyrex first or to just use the slower bazaar :-)
[23:02] <AfC> yeah, I'm trying it now
[23:02] <jam> AfC: If you are extracting the tarball, you shouldn't need pyrex, the extensions shoul dbe there
[23:03] <jam> should be
[23:03] <AfC> jam: that's what I thought, but `make` failed with horrible errors
[23:03] <jam> AfC: care to pastebin?
[23:03] <jam> and 'python setup.py build_ext -i' is correct
[23:03] <AfC> just working through it
[23:03] <AfC> hm
[23:03] <AfC> bzrlib/_annotator_pyx.c:4:20: error: Python.h: No such file or directory
[23:03] <AfC> let me guess. a build-dep
[23:04] <jam> AfC: python-dev IIRC
[23:04] <jam> and zlib1g-dev
[23:04] <mgz> you... can just, not build the extensions
[23:04] <jam> I think thats about it
[23:04] <jam> mgz: yes, he can skip it, and it will "work". But for a 250MB repo, he may be quite a bit happier with the extensions built
[23:05] <mgz> hm, yeah, depends on what he means by "get *off* of that system"
[23:05] <mgz> just pushing a branch to somewhere else is generally network-bound
[23:06] <AfC> mgz: of course
[23:07] <AfC> mgz: but in this case I need to capture the changes that have happened out there first
[23:08] <AfC> jam: built ok
[23:08] <AfC> thank you
[23:08] <jam> glad it worked
[23:09] <AfC> and if I'm being rude to this system, just ./setup.py install --root=/usr ?
[23:09] <lifeless> jam: hi
[23:09] <lifeless> dirstate stuff
[23:10] <AfC> or, failing that, what's the option to specify the remote bzr location?
[23:10]  * AfC is RTFM, honest :)
[23:11] <lifeless> bzr help env-variables
[23:11] <lifeless> found via bzr help topics | grep env
[23:11] <donri> Best way to uncommit a pushed commit?
[23:11] <jam> AfC: "INSTALL" says "python setup.py install --home=~"
[23:11] <jelmer_> lifeless: it's not mentioned in the man page, while most of the other variables are
[23:12] <jam> donri: Aside from "bzr uncommit" ?
[23:12] <donri> Duno, is uncommit good enough?
[23:12] <lifeless> jelmer_: it would be nice for the man page to pull it from the help
[23:12] <jam> (and potentially push --overwrite, but I would probably use 'bzr uncommit" on the remote site as well)
[23:12] <jelmer_> lifeless: I agree
[23:12] <jelmer_> lifeless: this is the moment where one of us tells the other to write a patch.
[23:12] <AfC> lifeless: ah, duh, I didn't think of an environment variable. Thanks
[23:12] <jelmer_> :-P
[23:12] <donri> jam: Don't I want to make a new commit that reverses the changes?
[23:12] <jam> donri: depends what you need to do
[23:12] <lifeless> jelmer_: actually, I was going to say file a bug ;)
[23:13] <jam> you *can* just uncommit, and push that around
[23:13] <jam> but people tracking you may get confused
[23:13] <lifeless> donri: if you want to pretend it never happened, uncommit
[23:13] <donri> lifeless: Even if pushed?
[23:13] <lifeless> donri: if other people have it already, commit something that reverses it
[23:13] <donri> I'd like that if someone pulls, they don't have the effects of that commit.
[23:13] <jam> the alternative is: bzr merge -r X..X-1; bzr commit -m "Reverse what happened in X"
[23:13] <donri> Regardless of the log.
[23:13] <jam> well
[23:13] <jam> bzr merge . -r X..X-1
[23:13] <lifeless> donri: how long ago did you push it ?
[23:14] <lifeless> donri: minutes/hours/days ?
[23:14] <donri> I use Bazaar to deploy so the production server pulls from Launchpad
[23:15] <donri> Which is automated, so, yea.
[23:15] <lifeless> so, someone will have it already : you need to commit the reverse change
[23:16] <donri> Thanks, merge worked wonderfully.
[23:18] <AfC> jam, mgz, jelmer_, lifeless: thanks for your help
[23:18] <jam> lifeless: I'll try to respond to your dirstate email tonight or tomorrow, I'm off for now
[23:18] <lifeless> jam: oh, I wasn't prompting for an email
[23:20] <lifeless> if you're back later, we could chat
[23:26] <poolie> hi all
[23:27] <lifeless> hi