/srv/irclogs.ubuntu.com/2009/03/31/#bzr.txt

lifelessvila: ping01:04
vilalifeless: zzz pong zzz01:06
lifelessvila: your patch is wrong :)01:06
lifelessvila: because it decodes a fs output which may not be utf801:06
lifelessvila: which is why we should fix tree.get_symlink_target01:07
vilalifeless: isn't tree a revision tree here ??01:08
lifelessno01:08
=== VSpike_ is now known as VSpike
jelmeryay01:16
jelmerafter more than a year, I finally have a current copy of samba in bzr again01:16
lifelesscool01:21
lifelessspiv: are we getting together?02:19
spivlifeless: not today, I'd be keen to pair tomorrow though.02:45
* spiv is off to lunch02:45
=== ja1 is now known as jam
johnfwhen running a hook I don't suppose the current revno gets put into the environment somewhere?03:07
lifelessjohnf: a shell hook or python hook?03:09
lifelessthe former I dunno, the latter - its available via the api03:09
johnflifeless: shell03:09
johnfyeah I just ran env as a hook and there is nothing there03:10
johnfmight have to do something evil with builddeb pre-export and pre-build hooks using a temporary file03:11
lifelessare they not python hooks?03:11
johnfBasically I want access to the revno inside the build dir03:11
johnfprobably03:12
lifelessAre they fired by builddeb itself?03:12
johnflet me see03:12
lifelessif they are fired by builddeb, use the bzr Hook infrastructure instead03:12
lifelesschange the shell hooks to be hooks in that infrastructure, then you can write your hooks in pythn03:13
johnfbuilddeb has a run_hook method which uses popen so I'm guessing they don't use the hook infrastructure03:13
pjzis it possible that I lost content if I had files in mworking dir when I typed 'bzr rebase' ?03:33
pjzthey seem to be gone03:33
pjzwhich makes me a bit unhappy03:33
thumperwhat is the way to create a new branch in format say 1.9 format using bzrlib?03:36
lifelessthumper: look at builtins.py, cmd_init03:40
=== TheMuso_ is now known as TheMuso
pjzany chance that my content that looks lost is really stored somewhere else?03:43
pjzhow do I list branches?03:44
lifelesspjz: bzr branches [optional url]03:44
lifelesspjz: you may have shelved it03:45
lifelesspjz: or it could be a dead head (bzr heads --dead)03:45
pjzlifeless: ah! bzr heads --dead found it! now... how do I bring it back?03:46
lifelesspjz: you can pull it or merge it, using -r revid:REVISIONID03:48
pjzlifeless: how can I change the parent branch of a checkout?03:54
pjzlifeless: b/c the repo it's in has a bogus parent branch set, so trying to pull -r it tries to pull that bogus parent branch and fails03:54
lifelesspjz: bzr unbind03:56
lifelesspjz: or bzr switch03:56
lifelessunbind stops it being a checkout, but if the parent is deleted you can get around that03:56
lifelessoh03:56
lifelesspjz: "bzr pull . -r revid:REVID"03:56
pjzlifeless: ah! thanks muchly!03:59
pjzlifeless: is there a doc that describes how to use branches of a project on launchpad correctly? Like I registered and created a branch to push to, but got into trouble not knowing how to rebase up once the upstream branch advanced some04:00
lifelesspjz: why would you rebase?04:00
lifelesspjz: with bzr people generally just merge from trunk04:00
pjzlifeless: uh... how else do I movemy work to top of tree?04:00
pjzlifeless: ah, okay04:01
lifelessrebase seems to be a very git thing04:01
lifelessmost other vcs's don't need it anywhere near as much04:01
pjzwell, they do it differently04:02
pjzeverytime you do an 'update' in svn or cvs, that's really a rebase of your working tree onto the trunk04:02
lifelesspjz: you can do 'bzr update' too, when you have a checkout of trunk04:03
lifelessthat pivots your work into a pending merge on the old tip of trunk04:03
pjzlifeless: okay, so anyway, is there a 'usual-workflow' doc of bzr & launchpad somewhere?04:04
pjzlifeless: so what should my initial checkout be of? my branch? or the trunk?04:04
lifelessI don't think there is; there are ones for bzr04:04
lifelessand launchpad just expects any normal use of bzr04:04
pjzlifeless: ah, okay. is there a good bzr workflow doc somewhere then?04:04
lifelessdoc.bazaar-vcs.org has the users guide, reference manual etc04:04
lifelessin short though, its usually04:05
lifelessbzr branch trunk myfeature04:05
lifelesshack and commit in myfeature04:05
Peng_Ehh, is it possible to set "log --levels N" for all commands that show logs, not just "log"?04:05
lifelessif trunk changes, cd myfeature, bzr merge $trunk; bzr commit -m 'merge trunk'04:05
lifelesswhen the feature is done,04:05
lifelesscd trunk; bzr merge $myfeature; bzr commit -m 'myfeature is finished'04:05
lifelesspjz: both cvs and svn can do merges as well as updates btw :)04:06
pjzlifeless: oh, so I have to keep a trunk tree and a branch tree both around?04:06
lifelesspjz: either that or use bzr switch to move a checkout between branches04:06
lifelesswith a checkout its04:07
lifelessbzr branch trunk myfeature; cd $checkout; bzr switch myfeature; hack commit etc; bzr switch trunk; bzr merge myfeature && bzr commit -m 'feature done'04:07
lifelesspjz: if its a small project, just have a couple of trees, if its big like emacs/python etc, you'll want a shared repo setup (bzr init-repo /src/repo --no-trees), which means that making new branches will not setup working trees04:08
lifelesspjz: and then you'd use switch04:08
lifelesspjz: this is a bit of a wart on our UI, and we're discussing at the moment how to fix this while still keeping the things we love (that branches have real url's mainly)04:09
lifelesspjz: does this make sense?04:10
pjzlifeless: mrm, yeah, somewhat04:11
thumper?!? Ignoring request for a stacked branch as repository already exists at the destination location.04:14
thumperit lies04:14
thumperI supplied --stacked-on04:14
lifelessthumper: you're pushing somewhere that has a repo already04:16
thumperlifeless: no I'm not04:16
thumperlifeless: I'm pushing to launchpad04:16
lifelessthumper: no chance that you had a partial push already at that url with a repo and no branch?04:16
thumpernone at all04:17
thumperthe branch didn't exist before04:17
lifelessthen file a bug04:17
pjzlifeless: so you still haven't told me how to set the parent branch of a checkout04:17
thumperlifeless: what does walking content mean when inserting stream?04:18
lifelesspjz: pull --remember04:18
lifelessthumper: its a progess message from the guts04:18
thumperlifeless: handy04:18
pjzlifeless: thanks muchly04:20
pjzlifeless: for all the help04:21
lifelesspjz: my pleasure04:21
pjzlifeless: and I think things will be nicer when you can address branches in the same repo04:21
pjzlifeless: which should be fairly easy - just pick some separator char or path or something04:21
pjzlifeless: so file://foo/bar/baz/.bzr/onebranch means 'in repo file://foo/bar/baz, branch onebranch'04:22
pjzlifeless: b/c the real cool thing about URLs is that they can be virtual :)04:22
lifelesspjz: so, you can already, 'bzr switch' for instances knows to lookup relative to the current branch04:23
lifelesspjz: but yes we need to do something to make this better04:23
pjzlifeless: also once you get this you should be able to do things like add /parent and /push subpaths to the branch to make them addressable04:24
pjzlifeless: er, to the branch URI04:24
lifelesspjz: what do you mean?04:24
pjzlifeless: well so if I have a branch 'feature1' from a trunk 'trunk', and 'feature1' has a subbranch called 'bugfix1', I could maybe merge it all the way to the trunk by just doing a merge with feature1/parent instead of having to remember trunk's URL04:26
lifelessso at the moment04:26
lifelessif I have three branches04:26
lifeless /trunk, /feature1, /bugfix104:27
lifelessand a checkout of bugfix104:27
lifelessI can do04:27
lifeless'bzr switch trunk'04:27
lifelessto go direct to trunk without remembering the url04:27
lifelessrepositories are just storage to bzr, we don't need to make them more than that to get nicer paths04:28
lifelesswhat it needs though is the core performance stuff we're working on for 2.0 finished04:28
lifelessthen I and others can spend some serious time on UI04:28
pjzlifeless: how do you list what branches are in a repo?04:29
lifelessbzr branches04:29
lifelesswhich looks at .04:29
lifelessunless you give it a url04:29
pjzlifeless: wow, I get a blank line when I run that04:29
pjzlifeless: so I have no branches?04:29
pjzor one with an empty name?04:29
lifelessone with an empty name I'd say04:29
lifelessas it defaults to looking in . :)04:30
pjzlifeless:  so I've got a branch named '', a parent branch of http://trunk and a push-branch of lp:mybranch04:31
pjzlifeless: aaand a submit-branch of the old absolute path to ., that changed when I renamed what .. calls .04:32
pjzany way I can update the submit path?04:35
pjzer, submit branch04:36
lifelessbzr submit branch-to-submit-against --remember04:36
lifelesserm04:36
lifelesss/submit/send04:36
pjzlifeless: any way to do it without actually doing a send?05:09
lifelesspjz: you can edit the config setting directly05:10
lifelessits the submit_branch setting (and see bzr help configuration for details on the configuration stuf)05:11
cody-somervillewow06:08
cody-somervillebzr just caused me a lot of data loss06:08
lifelessorly?06:08
cody-somervilleI was trying to get bzr to recognize that I had moved some directories around06:09
cody-somervilleas I had moved a ton of directories in the cwd into a new, unversioned directory called desktop-guide06:09
cody-somervilleI did bzr --after libs/ desktop-guide/06:09
cody-somervilleand then when I went to try to move something else into desktop-guide, it told me desktop-guide was already versioned06:09
cody-somervilleso I did bzr status and saw that bzr had moved libs to desktop-guide06:10
cody-somervillenot desktop-guide/libs/06:10
cody-somervilleso I did bzr revert libs/ to undo that06:10
cody-somervilleand so bzr deleted desktop-guide and brought back libs <g>06:10
cody-somervillenot quite what I wanted at all06:10
lifelessthat is what you asked it to do06:10
lifelessbzr revert is not 'undo the last command'06:10
lifelessits 'put things back to the way they were in the last commit'06:11
cody-somervilleRight06:11
cody-somervilleI thought it would bring back libs/06:11
cody-somervillenot delete desktop-guide06:11
cody-somervilleI understand why it did06:11
lifelessit should ahve created backup files06:12
lifelessand they are probably in libs06:12
cody-somervilleoh weird06:13
cody-somervilleIts like it merged the two directories together06:13
lifelessnight all06:44
vilahi all07:22
cody-somervilleWhen will bzr work with python2.6?07:23
gourhi, what's going on with bzr lately (considering both gnome and python 'missed' it)?07:24
cody-somervillenvm07:26
cody-somervilleI had hardy ppa enabled and not jaunty07:26
cody-somervillegour, to answer your question, I heard they were working on a revolutionary new storage engine or something that is super fast and takes up very little disk space07:26
gourcody-somerville: i must say that i played a lot with bzr (after moving from darcs), but have tendency to go back seeing (too) many format options in bzr not being able to settle on something :-(07:28
cody-somervillegour, why? It doesn't really affect you or me.07:28
RAOFcody-somerville: That'd be brisbane-core, which, if I understand it correctly, will allow the devs to fix all the bugs I care about, and implement (almost) all the features I care about.07:29
cody-somervilleindeed07:30
gourcody-somerville: well, it does not impress one - storage format is one of the important issues for VCS07:30
gourcody-somerville: and in the meantime most major players will migrate....and it will be extremely difficult to get 'em back07:31
cody-somervillegour, Right and bazaar is continuing to innovate in that area providing you and me with improved performance and more features transparently07:32
RAOFTo a certain extent, as long as bzr-git works, I don't much care.07:37
cody-somervilleSo what features are you interested in RAOF?07:38
RAOFSo, I'd like, in no particular order: push to not push a minimum of 1Mb of data, at a rate < 10K/sec (roundtripping to .uk!).  'bzr externals' type support.  Pull to nearly saturate downstream bandwith (less roundtrippin' to UK!)07:42
RAOFSome other random stuff that I can't remember right now, too.07:42
Peng_RAOF: What version of bzr do you run? There were push & pull improvements in 1.12 or 1.13.08:12
Peng_(or both?)08:12
RAOFPeng_: 1.13; Jaunty default.08:24
igchi vila08:26
igcvila: I'm seeing 2 test failures running 'bzr selftest groupcompress' in brisbane-core08:27
igcvila: do you know if anyone is working on fixing those?08:27
vilaigc: there is a python version of gc that should land soon, what failures are you seeing ?08:28
igc test_insert_record_stream_existing_keys08:28
vilaigc: by the way, I just fixed 3 more failures in test_commit_with_revision_id_record_iter_changes08:29
igconce for groupcompress and once for groupcompress-graph08:29
vilaha yes, those ones, no, nobody is on it yet AFAIK08:30
enquestI'm following http://bazaar-vcs.org/BazaarForWebDevs09:00
enquestthis line does not work python setup.py build_ext -i09:00
enquestthere is not setup file created when you get the branch bzr branch https://launchpad.net/bzr-push-and-update bzr_push_and_update09:00
vilaenquest: forget it, that's a typo, this is not needed09:02
enquestmaybe somebody wants to change it http://bazaar-vcs.org/BazaarForWebDevs09:03
enquestthxs09:04
vilaenquest: hit refresh :)09:05
enquest:)09:05
vilaand the command should really be: bzr branch https://launchpad.net/bzr-push-and-update push_and_update09:05
vilanote: no leading 'bzr_' for the plugin directory name09:05
=== thekorn_ is now known as thekorn
ronnyyo09:46
ronnyis there any command that will tell me what history i'll get if i pull/merge with a remote?09:46
KinnisonWhat you will get?09:47
Kinnisonthe 'missing' command might be what you're after09:47
Kinnisontype 'bzr help missing' and take a look at the usage09:47
vilaigc: ping09:50
igchi vila09:50
ronnyhmm09:51
igcvila: I've got to run sorry - dinner09:51
igcbbl09:51
vilaigc: there is a thred in bazaar@lists.canonical.com about these failures:  VF.insert_record_stream() with duplicates in stream09:51
vilaigc: so jam is indeed aware of the problem and already working on possible solutions, sorry I didn't make the link sooner09:52
ronnyoh dammit09:52
ronnyit doent tell me about all changes, but only the last merge09:52
vilaronny: bzr missing09:52
ronnyvila: yes, exactly that one ...09:53
ronnyonly shoes the latest merge in the remote, not all of the changes09:53
vilaronny: hmm, bzr version ?09:54
ronny1.13.109:54
vilaby alll the changes you mean merged revisions ?09:56
ronnyi want to see all revs09:56
ronnynot just merges09:56
vilabzr pull -v should still show all merged revisions :-/ igc is working on log and changed some defaults, you may be seeing a side-effect here09:58
vilaronny: if you got the the revision range you're interested into (from missing) you can still do:09:58
vilabzr log <remote_branch_url> -r <revision_range> --levels 009:59
lifelessronny: bzr missing --include-merges10:19
ronnylifeless: the description of that in the help is DAMN confusing and missleading10:26
ronny"--include-merges      Show merged revisions." - my first tought about that was "hu? it shows the merges already"10:26
fullermdThat sounds like mtn-thinking carryover.10:28
vilaronny: how would you make the distinction between the merging revision and the merged revisions ?10:30
=== thekorn_ is now known as thekorn
vilaronny: is 'Show all revisions in addition to the mainline ones.' clearer ?10:34
ronnyvila: yes, that would be very good11:11
ronnyfullermd: well, mtn was my first dvcs11:11
ronny(and the first vcs i could actually use nicely, cause svn is a clusterfuck)11:11
fullermdI'm not saying it's bad, just that mtn --no-merges and bzr --include-merges talk about completely different things...11:15
fullermdEmergent both, kinda.11:15
Theuni1owd11:36
Theuni1Here is a question that might be a bit more general than just Bazaar. But I'm wondering: in a central environment (company) it sounds strange that DVCS can't manage multiple branches that belong to the same project and make sure that a developer never can delete history: pushes always seem to be just mere file system accesses so I as a developer can also just go ahead and delete that branch and any history of it.11:38
Theuni1Is there a practice in Bazaar to avoid this?11:38
Theuni1I'm also suspicious that LP does part of that job, but that's a no-go as it's not open source.11:39
SamBwhat? never throw branches that didn't work out??11:41
SamBif you have to worry about that happening, I think you need to pay your people more ;-P11:42
Edulixhi11:45
Peng_Theuni1: You can totally nuke stuff on Launchpad.11:45
Edulixso I do bzr pull, and it downlads a new revision. without messing with the revno, how to do a bzr diff between the last revision and current one?11:45
Edulixbzr diff -1.. or something like that?11:46
LeoNerdTheuni1: It sounds like you're worrying about intentional deletes from, say, an audit perspective; rather than accidental ones during normal workflow11:46
Peng_Edulix: bzr di -c -1?11:46
Peng_Edulix: That shows what changes were introduced by revision -1 (aka the most recent revision).11:46
EdulixPeng_:  thanks11:48
bob2Theuni1: ask on the list11:48
spivTheuni1: you can always deny developers direct write access to the central branches, and make them go via a gatekeeper tool like PQM (https://launchpad.net/pqm).  That's probably overkill, and with DVCS it will always be possible for a dev to make a non-central branch that you don't even know exists.11:57
njpatelHey, is there something like svn:externals for bzr?12:46
james_wnjpatel: not yet12:46
james_wwell, there is, but not production quality12:46
james_whopefully in a month or two that will change as Aaron is working on it12:47
njpateljames_w: hey! I thought as much :)12:47
njpatelcool, it would be pretty useful12:47
vilaigc: back ?12:47
=== thekorn_ is now known as thekorn
spivlifeless: fresh comment on http://pybites.blogspot.com/2009/03/unittest-now-with-test-skipping-finally.html btw12:54
igcvila: hi12:55
vilaigc: groupcompress has evolved quite a bit with the introduction of the python implementation, I'm about to push it to bcc12:55
vilabbc even12:57
igcvila: can you merge my code cleanups easily?12:57
vilaI don't think so12:57
vilaigc: let me try12:58
igcvila: thank-you12:58
vilaigc: :-/ conflicts all over the place as I fear12:59
vilaThe main part you modified has been split into implementation specific classes and some of your points were already addressed, the conflicts are a total mess13:00
igcvila: it shouldn't be too hard, though messy, to apply the changes by hand13:03
igcvila: most of them are assert -> AssertionError13:03
igcand some variable renaming & docstring corrections13:04
vilaI'm about to start again on the assertions13:04
igcvila: I guess I can apply them tomorrow by hand13:05
igcbut I'd appreciate any you knock off tonight13:05
vilaigc: I think it ill be eaiser for you to see what still applies tommorow, I'll try to see what I can do until then13:06
igcvila:np13:07
Theuni1spiv: pqm seems to be overkill indeed, as handling *many* small projects with it seems to have too much overhead.13:08
Theuni1bob2: I probably will.13:08
Theuni1spiv: Actually I kinda also worry about accidental deletes. Not so much toolwise (although bzr push did at some point screw up branches on LP having to delete them) but more from the perspektive that e.g. in Subversion creating or deleting a branch is a managed operation under SCM perspective.13:09
Theuni1Which allows me to get notified when new branches get created destroyed. One of the purposes of DVCS obviously is not having to do that, but I think it might be a worthwhile scenario to support if wanted.13:09
spivTheuni1: if you require that all access is via a smart server, you could do that.13:10
Theuni1spiv: interesting. that was one of the answers i hoped for. i find the documentation of the smart server a bit lacking. ;)13:10
Theuni1I'll digg deeper into the smart server then.13:10
spivTheuni1: well, except that there's no way to delete branches via the smart server yet (or with the "bzr" command in general)13:11
Theuni1I'm fine with that for now. :)13:11
spivTheuni1: but if/when the command does, the smart server should export a hook point you can use to find out about13:11
Theuni1Can the smart server export multiple branches of multiple shared repositories?13:11
spivThe basic tool you probably want is the "post_change_branch_tip" hook.13:11
spivYes, it just serves a filesystem.13:12
Theuni1Even more interesting.13:12
Theuni1I wonder whether I'm blind or the docs are evading me.13:12
spiv(Or a bzr transport, in fact, you could write your own virtual fs...)13:12
Theuni1I'm happy not to write too much tool-stuff myself. ;)13:12
spivSome caveats: the smart server still allows arbitrary file-level operations that won't trigger any hooks, so someone could still delete stuff and what have you by scripting with bzrlib.13:13
Theuni1I didn't quite get the ending of that sentence.13:13
spiv(Although we're getting closer to being able to turn that off; most of the operations are now done through higher-level network RPCs rather than file RPCs)13:13
Theuni1spiv: Exactly those higher-level RPCs is what I'm looking for.13:14
spivWell, you don't really want to be dealing with RPCs, you want to use the hooks.13:14
spivpost_change_branch_tip is the one you want.13:14
Theuni1Right.13:14
Theuni1But you need to make your own abstraction over the file RPCs to achieve that ;)13:14
spivAlso, you want to set append_revisions_only in your branches' branch.conf probably13:14
spivThe caveat about the file RPCs is just to say that it isn't watertight yet.13:15
spivIt will be.13:15
Theuni1Would the smart server be able to enforce that for all branches it handles?13:15
* spiv -> gone13:15
Theuni1spiv: thanks a lot!13:15
Theuni1Even if there's stuff in the future, I'm happy to hear about the direction you're going.\13:15
Theuni1I'll look into the smart server.13:15
=== abentley1 is now known as abentley
=== thekorn_ is now known as thekorn
=== jelmer is now known as Guest67595
=== Guest67595 is now known as jelmer
jelmermoin14:33
=== ja1 is now known as jam
ivangarciahi guys, I'm having a problem when pushing the code of my project14:55
ivangarciai got this error14:55
ivangarciabzr launchpad-login chaos.proton14:55
ivangarciabzr: ERROR: Connection error: curl connection error (SSL certificate problem, verify that the CA cert is OK. Details:14:55
ivangarciaerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed)14:55
ivangarciaon https://launchpad.net/%7Echaos.proton/%2Bsshkeys14:55
ivangarciaany help ?14:55
james_wit looks like you need to make curl aware of the CA certificate14:56
vilaivangarcia: try installing ca-certificates >14:56
ivangarciahmm, I have slackware, is there a package for it?14:58
vilaivangarcia: I don't know, but then you'd better search what ssl implementation curl is using and whether or not there is such a thing as CA certificates installed system wide15:04
ivangarciathks vila15:05
vilaivangarcia: if you don't care about certificate validation, you can also just use the urllib based http implementation instead of the pycurl one15:05
vilaivangarcia: if you find the certificates but can't make curl/pycurl find them, you may want to look into bzrlib/transport/http/ca_bundle.py which gives some hints (mostly used on windows, but should apply in your case too)15:11
vilaivangarcia: roughly, you make the env variable CURL_CA_BUNDLE points to the appropriate ca-bundle.crt file (*finding* that file is left as an exercise ;-)15:12
jamvila: did you spend time working on resolving Ian's cleanup patch? Or should I go ahead and do that?15:23
vilajam: I'm doing it as I replace the assertions, go fix InterDiffering ;-)15:24
jelmervila: Submitted a fix for 256612 >-)15:26
jelmerbug 256612 I mean15:26
ubottuLaunchpad bug 256612 in bzr "should prompt for usernames during HTTP Basic/Digest auth" [High,In progress] https://launchpad.net/bugs/25661215:26
vilajelmer: will look into it15:31
jelmervila: thanks15:38
jamvila: do you have a quick list of the test that is failing because of "inter-differing"?15:38
jamI think I have a fix, and just don't want to wait for everything to finish15:38
vilajam: -s bt.per_repository.test_fetch.TestFetchSameRepository.test_fetch_to_knit3 (for the 2 errors)15:41
vilajam: -s test_fetch.Test1To2Fetch.test_two_fetch_changed_root -s test_fetch.TestFetch.test_fetch_incompatible (for the 2 failures)15:42
jamvila: the "test_fetch_to_knit3" has been fixed, I'll work on the other15:57
vilajam: yeah :)15:57
jelmerigc: are you at PyCon?16:09
mwhudsonjelmer: no16:14
jamvila: the other two tests now pass16:20
jamSo I've fixed the 4 cases above16:20
jamany others?16:20
igcjelmer: Brisbane and about to go to sleep :-)16:21
jamigc: it is what, 5am there?16:22
jamah, I guess only 1:30am16:22
vilajam: let me see... 4err, 3fail - 2err -2fail -2err, that leaves only the asserts :)16:24
jelmerigc: ahh :-)16:24
igcjam: 1.24 :-)16:25
* jelmer isn't used to seeing Australians on IRC around dinner time :-)16:26
vilajelmer: dinner at 17h26 ? :-)16:26
igcjam: trying to put the eol issue to bed. It just refuses to die because every man and their dog has an opinion :-)16:26
jamigc: at least their cats leave you alone :)16:26
igcsmall mercies16:26
jelmervila: traditionally dinner time in .nl is around 616:27
jamigc: for what its worth.... I think your final "native" and "native:crlf" for people that really need it is a decent proposal.16:27
jelmervila: not that I ever eat before 8 :-)16:27
jamI'm not 100% sure that the content filtering stack is 100% right, but it is probably good enough for what we want16:27
jam(I think I would rather register a handler for the property name (eol) and then have it passed the value, and it returns the actual filters at that time)16:28
jambut hey, you wrote it :)16:28
jamI didn't16:28
igcanyhow, I just need lifeless to not block releasing a 1.14 format and to get a majority consensus on eol naming and it's done and dusted16:28
igcjam: there is a fallback method that does exactly that: value -> stack16:28
jamof course, I can throw a big wrench, should it be called "eol" :)16:28
igcthanks to jelmer bugging me about it16:29
jamigc: yeah, but it is a bit cludgy versus doing that from the beginning16:29
igcjam: you get both - dictionary lookup + lookup function - and can use whatever makes the most sense16:29
igcjam: and it's internal-ish16:30
igcgetting UI consensus is the harder issue it seems16:30
phinzeis there a way to prevent users from committing changes directly to certain files in a branch16:30
jamigc: its internal ish, but hard to change for compatibility reasons16:31
igcanyhow, time for bed16:31
phinzeand only letting them be changed by merges?16:31
igcnight all16:31
jamphinze: no16:31
jamwhat is your use case ?16:31
* phinze is having trouble in dev group with constant mistakes of people committing changes to a shared library too far downstream16:31
jamphinze: so the issue is that in a distributed system, you don't really have any control over individuals machines ...16:32
jamProviding a way to help people realize they didn't actually want to modify something16:32
jamis something we would be interested in16:32
jambut ultimately, the point of distrbuted VCS is that people get to do what they want16:33
phinzeright, but when they push to a shared location we can yell at them16:33
phinzethe hooks are there in order to examine changed files pre-commit and conditionally reject, no?16:33
jelmerjam: was there a conclusion about whether subtrees (even in disabled form perhaps) were going to make it into the bbc format?16:35
vilajelmer: both patches reviewed16:36
vilajam: try -s bt.interrepository_implementations16:37
vilajam: 14 errs and counting :)16:37
jelmervila: thanks, much appreciated16:37
jamjelmer: the serializer will support subtrees16:39
jamthe "supports_subtrees" flag will probably be set to False16:39
jamvila: are those new, or ones we just didn't see before?16:40
vilanew they all say 'KnitPackRepository' object has no attribute 'supports_tree_reference' so probably related to your last fixes16:40
vilajam: also -s test_fetch.Test1To2Fetch.test_fetch_ghosts errors with KnitPackRepository('file:///tmp/testbzr-lKx3YV.tmp/bzrlib.tests.test_fetch.Test1To2Fetch.test_fetch_ghosts/work/tree/.bzr/repository/') has no revision ('ghost-parent',)16:43
jelmerjam: neat16:43
vadi2Hi. It seems the 64bit package for intrepid from the ppa is not installable, there is an error: http://paste.pocoo.org/show/110454/16:45
phinzejam: so re above, conceptually are the pieces there for me to tie together to have a pre-commit hook on a certain shared branch that checked modified files and rejects commits if protected files are modified and the commit is not a merge?16:51
phinzenot a merge from a certain branch even16:52
jamvila: yeah, I had a typo in there "target.supports..." rather than "target._format.supports"17:13
jamweird that the other tests started passing17:13
vilagrr, C-w is cut damn it, not close window, or vice-versa...17:17
jamvila: yeah, I ran into that with ^L, which is refresh in a lot of windows, but is "clear the screen" in Pidgin17:17
jamI had the problem because there was something about Vim + Ubuntu that was causing it to not draw all characters all the time17:18
jamso ^L was needed to actually show the local content17:18
jamanyway, 3915 should fix those intertree test failures17:18
vilaI have less problems under OSX :)17:19
vilaI mean, I *still* have the problem with M-w and clower-w but M-w is copy :)17:19
vilas/clower/clover|apple|whatever/17:19
vilajam: and no more asserts17:21
jamvila: so intertree all pass here17:21
vilajam: I'll push as soon as the test pass17:21
jamsorry interrepo17:21
vilajam: I pulled, full test suite running17:22
vilajam: and also running in the branch I started for the asserts, I'll appreciate if you could have a look at them for typos or better descriptions once I merge them in bbc17:23
vilaso virtually we have a bbc passing tests :)17:24
jamah, virtual test suites :)17:28
rryanHi -- (I hope it's ok to ask bzr questions in here) I'm working on Mixxx, and we use Launchpad. We're migrating to using bzr from svn on sourceforge.17:30
rryanWe have a release branch that all our developers are working on, but when any of us do merge/commit/push to both pull in changes from upstream and push local changes to the LP release branch, the history view on LP replaces the merged log entries with the 'merged' message from the developer that did the merge. How can I prevent this?17:31
KinnisonThe branch you pushed had the merged message as its commit17:32
Kinnisonthat's expected17:32
KinnisonIt's only if you drill into that revision that you'd see the individual commits17:32
KinnisonIf you want to see what the merge actually merged, then get your developers to write more useful merge change messages :-)17:34
Kinnisonconsider https://code.launchpad.net/~aranha/aranha/mainline (one of my personal projects)17:34
Kinnisonall the commits are merges17:34
Kinnisonbecause I work on branches, and a robot merges that branch onto mainline17:34
rryanKinnison : yea I see that -- when I push, its like I replace the remote branch's history with the history with respect to my branch.17:35
Kinnisonindeed17:35
vilajam: you still fail the -s test_fetch.Test1To2Fetch.test_fetch_ghosts17:35
KinnisonI strongly recommend the use of a robot-controlled mainline17:35
KinnisonI think launchpad may even be able to help with that17:35
rryanKinnison : when I use git, for example, the remote HEAD shows its history with respect to itself. And when I push to it, it shows all of the local commits I made, and a 'merging from upstream' message, but since the merge from upstream was already in upstream, it keeps those log messages in the history as they occured.17:36
Kinnisonrryan: the history of what you merged is still present, it's just not rendered by default17:36
rryanKinnison : I know, I see that I can drill down to the merged branch to see the previous commits. What I'm wondering is, can I use bzr in such a way that it won't take other people's commits out of the main branch history?17:37
luksrryan: there is really no technical difference, it's just a display issue17:38
Kinnisonalways merge into the mainline, don't merge the mainline into you?17:38
KinnisonSo have your mainline branch, then have a feature branch you work on17:38
Kinnisonthen you pull your mainline, merge your feature, and push your mainline17:38
Kinnisonthat way you don't disturb the mainline history17:39
rryanKinnison : Ah... now I see why that is happening. Thanks a lot for your help17:39
rryanI'll switch to using it that way17:39
KinnisonOOI, any launchpadders here right now?17:40
* Kinnison is wondering how to upgrade a branch which is a mirror17:40
vilajam: assert cleanup pushed as 391617:40
jamvila: /cheer, I'm fixing up that test, I understand why it is failing17:40
vilajam: yeah :) Thanks, you make my day end nicely17:42
vilajam: I may pass around later, but no promise...17:42
jamrryan: there is a flag "append_revisions_only" that you may be interested in.17:44
jamYou can set "append_revisions_only = True" in branch.conf17:44
jamand then the bzr client will refuse unless you merge to mainline first17:45
jam(it will refuse the 'push')17:45
beunomwhudson, ^^17:45
beunohow do you upgrade branches that are mirrored?17:45
jambeuno: upgrade the source branch17:45
jamthe mirror script auto-detects17:45
mwhudsonright17:45
rryanjam : I see -- thanks17:45
jamand wipes and starts over17:45
beunoah17:46
Peng_Very bandwidth-efficient. :P17:46
jamPeng_: especially when you upgrade the repository for 100 shared branches...17:46
Peng_jam: Auto-stacking is a big help.17:46
jamwhich then takes enough bandwidth that lp times out trying to mirror 1 of them :)17:46
mwhudsonwell17:46
vilawhen in doubt... use more bandwidth ?17:46
Kinnisonjam: noted, thanks17:47
* Kinnison won't upgrade the source repo until his new colo box is in place17:47
Kinnisonso a few weeks of annoying messages so far17:47
Kinnisonand a few weeks left :-(17:47
KinnisonThanks17:47
Peng_How gigantic is the repo? It's not a big deal.17:48
KinnisonOh this is not big17:48
Kinnisonbut I can't upgrade the source repo until I can upgrade bzr on the colo box (which is using packaged bzr so I have to do the OS upgrde, which means the new machine really)17:48
jamKinnison: so any more LP will stack mirrored branches, so it isn't as big of an issue17:48
Kinnisonjam: nod.17:48
jamhowever, that wasn't the case 1-2 years ago when I upgraded my repo17:49
jamfrom knits => packs IIRC17:49
bialixjelmer: ping, have a question about rebase17:49
jamand that caused LP to timeout on mirroring all of my branches17:49
Kinnisonaye, I'm still on knits in this repo17:49
Peng_It won't stack them if they're in a pre-1.6 format (both the repo and branches).17:49
KinnisonIs it now possible to branch with a horizon then? (talking of stacking)17:50
bialixjam: hi17:50
jamhi bialix17:50
jamI just met Andrew17:51
bialixjam, jelmer: can you suggest something about error http://paste.ubuntu.com/141559/17:51
bialixjam: :-)17:51
jamI don't really know about the rebase plugin17:51
bialixjam: but errors come from bzrlib17:51
jamit sounds like it is setting "kwargs={'author':XXX} and author=YYY"17:51
bialixrebase try to write original author with --author option17:52
bialixmy problem occurs when I'm trying to rebase the same branch several times17:52
bialixjam: I'll try to look for the kwargs, as you said.17:53
bialixjam: are you still at PyCon?17:53
jambialix: yep17:54
bialix:-)17:54
jamvila: ok, that fetch test is now fixed, committing once the subset tests finish18:03
vadi2It seems the 64bit package for intrepid from the ppa is not installable, there is an error: http://paste.pocoo.org/show/110454/18:05
Peng_So, who wants a really trivial patch to a couple error messages in brisbane-core? :D18:16
NfNitLoopAwww.  Just saw the news that Python is going with Hg. :/18:27
NfNitLoopaccording to the post, "few (except Canonical employees) seem to like Bzr."18:27
NfNitLoop!?18:27
NfNitLoopDoes Bzr have an image problem I'm unaware of? :)18:27
LeoNerdI dunno.. I tend to pick tools on their merits, not their popularity18:28
NfNitLoopYeah, I agree.18:28
NfNitLoop(though buy-in can't be completely dismissed in a DSCM.)18:28
Peng_LeoNerd: Popularity is a factor. Popular tools are more likely to be improved and maintained.18:29
Peng_LeoNerd: And people will write better converters to new, better VCSes. :D18:30
jelmerwait, mercurial is a VCS? I thought it was just the name of one of Bazaars repository formats ;-)18:30
Peng_Ouch.18:30
jelmer(Although I guess this is a good reason to improve bzr-hg a bit more..)18:32
vilajam:  @bbc ./bzr selftest -x '(?i)loom' ==> OK (known_failures=14)18:33
* vila goes back cooking18:33
Peng_vila: Congrats.18:33
* vila pass to jam ;-)18:34
jelmerniice18:37
bialixjelmer?18:44
Peng_He was here 10 minutes ago, fwiw18:44
jelmerbialix: hi18:44
bialixhi jelmer18:44
bialixdid you saw my pastebin about 40 min ago about rebase error?18:45
bialixmay be you can suggest something how to workaround it18:46
bialixjelmer: http://paste.ubuntu.com/141559/18:46
bialixI've tried to rebase the same branch several times, because I want to throw away some revisions18:46
jelmerbialix: I've pushed a change that I think should fix it18:50
jelmerbialix: also, removing revisions from a branch isn't really the purpose of rebase18:51
bialixcan I run rebase-continue, or should I start my rebase again from the original branch?18:51
jelmerrebase-continue should work18:51
bialixjelmer: but rebase do the right thing18:51
bialixI mean it can remove revisions18:51
bialixbtw, jelmer, while I'm here. To rebase one revision e.g. N I should use syntax -r N..N+118:52
bialixi.e. your plugin don't use last number18:52
bialixis it intended?18:52
bialixwhen I need to rebase tail of the branch I have to use -r N..18:53
bialixit's not obvious from rebase doc18:53
bialixjelmer: I found very neat usage for rebase to perform cherrypicking with history18:56
bialixIIUC, I've got almost the same result as git cherrypicking does18:56
jelmerbialix: different from "bzr merge -c" ? as that's all that rebase does, basically18:57
bialixyep ,different from merge -c18:58
bialixI've started heavily using daggy fixes18:58
bialixand rebase in help here18:58
bialixit seems your fix helps, and rebase-continue going forward19:00
bialixjelmer: big thanks19:00
bialixjelmer: you save my day, many many many thanks. rebase is great tool to remove revisions, it does the right thing!19:03
bialixeven if you don't plan to use it this way19:03
bialix:-)19:03
jelmerbialix: how is rebase behaving different from "bzr merge -c" though?19:04
jelmerbialix: as "bzr merge -c" is basically what it's doing under the hood19:04
bialixrebase allows me to keep the log messages19:04
bialixsometimes I'm cherrypicking several revisions in a row19:04
jelmerah, ok19:05
bialixrebase helps because it does the boring job: transplate revisions meta-data19:05
bialixit's a huge gain for me19:05
bialixin the past I've often copy-pasted log messages when I've committed cherrypick. Now I can use rebase19:06
bialixit's incredible19:06
jelmercool :-)19:08
bialixrebase --onto rocks :-)19:10
bialixbtw, what was main reason for --onto in first place?19:11
jelmerbialix: being able to rebase onto a revision not the last revision on your current branch19:13
bialixyou mean upstream branch, I guess19:14
jelmeryeah19:18
bialixjelmer, I can write small recipe how I do cherrypick with rebase. Actually I will write it for my Russian bzr blog. I can translate it if you like to put it somewhere into rebase cookbock19:22
jelmerbialix: I'd rather not encourage people to use rebase that way19:24
jelmerbialix: instead, bzr replay should be used (but can't handle conflicts yet)19:24
bialixhmm,19:25
bialixreplay missing --onto19:25
bialixwhat the intended usage of replay?19:25
bialixand where it different from rebase?19:26
jelmerbialix: replay is intended for exactly that - replaying specific ranges of revisions on top of a different parent revision19:28
jelmerbialix: rebase is intended to replay the extra revisions your local branch has on top of an upstream branch19:28
bialixif I need to move range of revisions back in the history19:29
bialixfor me both rebase . --onto and replay do the same19:30
bialixI need to play with replay, never used it before19:31
bialixrebase . --onto == does not require additional branch19:31
jelmerjam: ping21:13
jamhey jelmer21:13
jelmerjam: hi21:13
jelmerjam: So, I'm looking at adding a new Revision serializer21:14
jelmerjam: So that we can get rid of the _escape_commit_message hack in bzr-{git,svn,hg}21:14
jamjelmer: basically, it probably just needs to be something on bzrlib.chk_serializer.pack_revision21:15
jelmerjam: Should this just be a matter of adding write_revision() / write_revision_string() / read_revision() / read_revision_string() onto CHK_Serializer ?21:15
jamor something along those lines21:15
jamjelmer: probably, though I would probably make it a class independent21:15
jamand test it directly21:15
jamand then hang it onto CHK_Serializer21:15
jelmerjam: CHK_Serializer base classes from something in xml_serializer, is that historical, or is there actually still XML involved?21:15
jamultimately, we'll probably have to watch out for some of the 'fetch' code21:15
jamwhich may not be casting all the way up to Revision objects21:15
jamjelmer: we still *can* go to xml, and we do in some odd circumstances that we would eventually like to get rid of21:16
jamcertainly we still use the Revision xml21:16
jamsince we don't have another format yet :)21:16
jelmerjam: Right, but there's nothing fundamentally depending on the fact that a Serializer would use XML for revisions?21:16
jamjelmer: there might be code that doesn't realize the formats can be different, but there *shouldn't*21:16
jelmerjam: I haven't looked at the internals of CHK inventories yet, what sort of encoding do they use?21:17
jelmeror is there some place where I could read about that?21:17
jambzrlib.inventory.CHKInventory.to_lines() might be what you are looking for21:18
jamif not there21:18
jambzrlib.chk_map.py21:18
jamin general, null terminated strings21:18
jelmerthanks21:18
jamCHKInventory._entry_to_bytes is the serialization of individual InventoryEntries21:18
jelmer(I'm asking since it seems to make sense to use something similar)21:18
jamsure21:18
jamwe did get to the point of using '\n' termination21:19
jamto be easier on the eyes/line-based deltas21:19
jambut for what you are doing, I think null-based strings would be reasonable21:19
jamjelmer: oh, and I might recommend grouping content that is likely-to-change separate from content that is 'likely-to-be-the-same'21:20
jambut I can think about that once you've done some work21:20
jelmerI don't think there would be a lot in revision data21:20
jelmerthat stays the same21:21
jelmerperhaps the committer / revision properties (with "author" and "nick")21:21
jelmerI would expect the revision id to change pretty much 100% of the time :-)21:21
jelmerparent ids and commit message also change fairly often I would imagine21:21
jelmervila: ping21:34
BasicOSXLP hates me today: Timeout error  (Error ID: OOPS-1186H2211)21:41
ubottuhttps://devpad.canonical.com/~jamesh/oops.cgi/1186H221121:41
thumperBasicOSX: this should be fixed with the rollout22:11
thumperBasicOSX: it is still slowish to do the revision count query22:11
thumperBasicOSX: for the release after this we are rejigging the internals to use a special cache for the counts22:12
thumperBasicOSX: which should kill the timeouts on this page for once and for all22:12
BasicOSXI liked that LP just hated be :-P22:12
BasicOSX%s/be/me/g22:12
thumperBasicOSX: I could add some special hate code if you like if you tell me your lp-id22:14
thumperBasicOSX: although it might not get past review :P22:14
BasicOSX>8-)22:14
awmcclainHi all... is there a way for me to remerge? I merged in some changes on a file I've been editing and accidentally saved over the changes. I don't want to revert my changes since I'd lose my edits.22:34
mwhudsonrockstar: https://code.edge.launchpad.net/~mwhudson/loggerhead/js-cleanup/+merge/508722:34
mwhudsonawmcclain: there's a 'remerge command' which might do what you want22:34
awmcclainmwhudson: Is that new since 1.9?22:34
mwhudsonawmcclain: no, it's ancient22:35
awmcclainGreat. THank you!22:35
awmcclainOh, also, since we got into a huge hassle with this this morning... what's the best method of undo-ing a bzr add?22:35
rockstarawmcclain, bzr revert?22:35
mwhudsonor bzr rm --keep22:36
awmcclainrockstar: Doesn't revert remove the file, though?22:36
mwhudsoni'm pretty sure reverting an addition doesn't remove the file22:36
rockstarawmcclain, it only works if you haven't committed though.  In that case, do what mwhudson says.22:37
alevineis there any way to set a parent location as permanent...so if I do bzr push without any options it always pushes to that location?22:46
mwhudsonalevine: --remember22:47
mwhudsonalevine: but the default location for push is the push location, not the parent location22:48
alevinemwhudson, thanks. what is the parent location?22:48
mwhudsonalevine: the default for pull/merge22:48
alevinethanks22:49
awmcclainEven though sometimes I hate it, I have to say, I love, love, love bzr.22:49
igcmorning23:00
jelmer'moin Ian23:01
lifelesshi igc23:07
igchi lifeless, jelmer23:08
igcbbl23:48

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