/srv/irclogs.ubuntu.com/2009/05/08/#bzr.txt

awmcclainpoolie: Ahhh... that's it. I merged to trunk, found a significant bug, shelved the barnch for a while. I must not have reverted that merge in trunk.00:01
awmcclainOh, what a headache.00:01
poolieawmcclain: so um00:03
poolietry doing something like this:00:03
poolierun log on the feature branch, to find the revisions with changes you want to keep00:03
pooliethen do a cherrypick merge of them into trunk00:03
pooliethis should bring the files back into existance00:03
awmcclainthen merge back into feature branch?00:04
awmcclainOr, what if I create a new feature branch, and just cherrypick merge from my old branch into that?00:04
pooliespiv: alive?00:05
pooliespiv: did you already fix a dupe of bug 356699 perhaps?00:05
ubottuLaunchpad bug 356699 in bzr "not stacking when source branch doesn't support stacking, even though it states it will do" [Undecided,New] https://launchpad.net/bugs/35669900:05
poolieawmcclain: oh sorry you're trying to merge trunk in, i see00:06
pooliehow about00:06
pooliemerge trunk, then do00:06
poolie'bzr merge -r 10..20 .'00:06
poolieie replay those changes from this branch00:06
awmcclainoh, smart.00:06
awmcclainwhere 10 is the feature revision where trunk and feature diverge, and 20 is the feature revision just before i merge trunk back in00:07
kenichi_hello, a dev here just committed a change to a branch, somehow it included a remove and add of the same file, even though his 'bzr st' and 'bzr diff' before commit didn't show this change, and he claims he didn't touch that file.00:10
kenichi_now a checkout of that branch fails with "bzr: ERROR: Revision {.......} not present in "....."00:11
pooliekenichi_: using plain bzr or bzr-svn?00:11
kenichi_i didn't set up this branch, but i believe the trunk it came from was initially set up with bzr-svn00:12
spivpoolie: I'm alive, I don't remember fixing that bug, although anything is possible...00:19
* spiv quickly checks the recent changes00:19
poolieit just sounded like something you changed00:21
spivlifeless has touched that code recently as part of cutting out more roundtrips from push.00:22
kenichi_poolie: does bzr-svn cause  this?  is there somewhere you could point me to read up on issues like this?00:22
spivHe may have accidentally fixed that at the same time, I'm not sure.00:23
pooliekenichi_: i've seen some bug reports similar to this, i don't know specifically what's happening sorry00:23
pooliejelmer might, or you can ask on the bazaar list00:23
kenichi_ok, thanks00:23
jelmerkenichi_: what's the bug # exactly?00:27
kenichi_jelmer: i haven't filed a bug report, just the abridged paste above.00:28
jelmerkenichi_: It's hard to say anything specifically related to the error class, can you perhaps pastebin the traceback?00:29
kenichi_jelmer: i'm not actually getting a traceback, just the error, and a non-working checkout.  is there a arg i can pass to get more info?  (tried -v)00:32
kenichi_jelmer: here's as much info as i have to give http://pastebin.com/d176d4a4900:38
lifelesspoolie: we have bugs remaining in autostacking00:48
lifelesspoolie: its possible I fixed the most recently opened one, but I haven't explicitly checked00:49
lifelessspiv: how goes the ghost inventory tests?01:13
igcmorning all01:21
AmanicAmorning01:24
lifelesshi igc01:26
igchi lifeless01:27
vxnickhi guys - is there any way I can remove a "pending merge", as it's not showing up in my repository viewer for some reason :S01:28
lifelessvxnick: bzr revert01:28
lifelessvxnick: a pending merge is one that has been done to your working tree but not committed to the repository01:28
vxnicklifeless: I see, thanks01:28
vxnicklifeless: any way I can "undo" that revert? I didn't realise it'd remove everything I've just done :)01:29
lifelessvxnick: uhm heh. It will have backed up to files with ~ in their name anything you had edited01:30
igcpoolie: fyi, my top tasks today are admin-related: hr, expenses, etc. I'll then try to get an email out re branch specific rules status & options going forward01:30
poolieigc, thanks01:30
pooliethanks for the user documentation01:30
lifelessvxnick: things changed by the merge that you had not edited are recoverable by repeating the merge01:30
pooliemine are too, specifically expenses, report and reviews01:30
vxnicklifeless: sorry to bother you - how can I merge these back?01:31
lifelessvxnick: can you rephrase, I don't quite follow the question01:32
vxnicklifeless: well, I've reverted as you suggested - I see the ~ files; how do I put my changes back into the main files? Not sure how else to explain it I'm afraid01:32
lifelessvxnick: first, repeat the merge01:33
vxnicklifeless: bzr merge?01:33
lifelessyeah, however you did it before01:33
vxnicklifeless: well I didn't do it specifically last time; it just kinda happened :P01:34
vxnickI'll give it a go01:34
vxnickargh01:35
lifelessok, so once you've got the merge done, you can copy the ~ files back over01:35
vxnickno idea01:35
lifelessok01:35
lifelesswhat commands had you run leading up to this01:35
vxnickright - initially I made a single-file commit; I then went on to work on some other files, and committed those as a newer revision. This stated that it would merge r127 (the single commit) into r12801:36
vxnickthe problem then being that r127 doesn't show up in my repo viewer01:36
vxnickso I have since uncommited back to r12601:36
vxnickthen reverted as you suggested01:36
lifelessinteresting01:37
vxnickin a bad way? :P01:37
lifelessI'm trying to imagine why you would get told a merge is happening when you haven't apparently being doing merges01:38
lifelessis this a checkout of a branch other people commit to as well?01:38
vxnickI'm using bzr as a centralised system in this case01:38
vxnickjust myself01:38
vxnickit made me bzr update before I could commit r127 (the single file)01:38
lifelessok!01:38
lifelessbzr update is a form of merge01:38
vxnickI see01:38
lifelessok01:39
lifelessnow, 127 is probably 126.1.1 now, because of the merge01:39
lifelessbut because you uncommitted its all rather invisible01:39
vxnickright01:39
lifelesshave you got bzrtools installed? there is a command in there 'bzr heads' that may be useful01:39
vxnickI believe so - I'll run it...01:40
lifelessbzr heads --dead01:40
vxnickjust going to install it01:40
vxnickI appreciate your help btw :)01:40
lifelessanytime01:40
vxnickbah bzrtools isn't working for me01:43
vxnickprobably because it's not compatible bzr 1.5 by the looks of it01:45
lifelessyou'd need bzrtools 1.501:45
vxnickah yes, just trying it01:45
vxnicklifeless: unknown command "head"01:47
lifelessheads01:47
lifelessits a plural ;)01:47
vxnickreturns nothing01:47
lifelessbzr heads --dead ?01:47
vxnickyeah a load of stuff01:47
vxnickanything in particular I'm looking for?01:47
lifelesswell, it will let us undo the uncommit, if you want to01:48
lifelessI'm not quite sure what the best way out of this is01:48
vxnickhmm01:48
lifelessanything you have committed is recoverable01:48
vxnickso a revert only affects my working copy, not the repo?01:49
lifelessand the backup files will contain any edits you'd made and not committed01:49
lifelessright01:49
igcpoolie: if you get a chance, I'd like you feedback on the user doc as well, though that can wait til early next week01:49
vxnickso if I wanted to, I could delete my working copy and do a fresh checkout?01:49
lifelessa revert puts your local tree back to the state of the branch01:49
lifelessit gets rid of edits and of pending merges01:49
vxnickI see01:49
vxnicknot quite sure where to go from here to be honest01:50
lifelessso, whats your current state? if I understand correctly you have01:51
lifeless - some stuff you uncommitted01:51
lifeless - some stuff we reverted01:51
lifelesswhat would you like to have?01:51
vxnickultimately, I'd like to separate this merged r127 so I can commit it seperate to r128; but short-term I'd like to get back to where I was, which was without reverting :P01:52
vxnickbefore reverting, even01:52
lifelessso before reverting you had the content of the thing you'd uncommitted01:52
vxnicklet me just have a quick scroll up01:52
lifelessI'm just gonig to reboot; I'll be back in a few minutes01:54
AmanicAI keep on getting the following with bzr.dev (even after trying make clean; make  and I don't see old bzrlibs lying around in my pythonpath)01:54
AmanicAbzr: ERROR: The API for "<module 'bzrlib' from '/stuph/projects/bzr/bzr.repo/bzr.dev/bzrlib/__init__.pyc'>" is not compatible with "(1, 14, 0)". It supports versions "(1, 15, 0)" to "(1, 15, 0)".01:54
vxnicklifeless: thanks for letting me know01:54
AmanicA(andrew) Bump api_minimum_version to 0.15.0 because of the removal of02:01
AmanicA        InstallFailed.02:01
AmanicA^^^ that seems to be the culprit (pqm@pqm.ubuntu.com-20090504033314-7mfh3y311028dk2m)02:01
lifelessback02:03
vxnickhi02:03
vxnickright, I've checked my history02:03
vxnickI uncommitted 128 and 127, so I'm currently at 12602:04
lifelessok02:04
lifelessyou should be able to just 'bzrpull -r revid:<whatever128was> .'02:04
vxnickand all my changed files are at r12602:04
vxnickI'll give that a try02:04
lifeless(and bzr heads can give you the revid for what you had at 128)02:05
vxnickit doesn't unfrotunately02:05
vxnickheads --dead doesn't anyway02:05
lifelessthats odd02:05
lifelesswell it will be in your  ~/.bzr.log02:05
vxnickcan I grep for 128 in that log?02:06
vxnickit's pretty packed02:06
lifelessyah02:06
lifelessor at least  less, then /12802:06
lifelessyou're looking for a revid, which looks like email-date-random02:07
vxnickrighto02:07
vxnickI've grep'ed for 20090508 and have one result, which I'm presuming is 12802:08
AmanicAanyways, I'm surprised that nobody else is getting that problem, must be on my setup then.   have to sleep now. goodnight.02:08
lifelessAmanicA: are you running nightlies?02:08
AmanicA:)02:08
AmanicA3am02:09
lifelessAmanicA: if you're running bzr.dev or a nightly package, you will get skew like this from time to time02:09
AmanicAnot sure what nighties are02:09
AmanicAah02:09
AmanicAno bzr.dev02:09
lifelessit means a plugin (e.g. bzrtools, or bzr-svn) hasn't updated.02:09
AmanicAok thx. I thought so but it seemed to be in __init__.pyc so I thought it a core issue02:10
vxnicklifeless: is the revid the full me@domain-datetime-random string?02:10
vxnickor just part of it02:10
lifelessthe full thing02:10
vxnickthanks02:10
lifelessto give it to the ui, prefix it with revid:02:10
vxnicktrying now02:11
lifelessAmanicA: __init__ has 1,15,0, whatever is asking is asking for 1,14,002:11
AmanicAbut that may just be wher bzr complains02:11
vxnicklifeless: do I need the < > around it?02:11
AmanicAok thx02:11
lifelessvxnick: no02:11
lifelessfor instances, revid:pqm@pqm.ubuntu.com-20090504033314-7mfh3y311028dk2m02:12
vxnickbah, gotta install bzrpull too by the looks of it :)02:12
lifelessvxnick: 'bzr pull ...'02:12
lifelessvxnick: you missing a space: )02:12
vxnickwoops02:12
vxnickI was copying you literally02:12
lifeless*I* missed a space ;)02:13
AmanicAlifeless: thanks a lot for responging, I thought I was losing it for a while. Would have been nice if it said what wanted the new version, will look into it another night. anyways goodnight.02:14
vxnicklifeless: I think you may possibly be a genius :)02:14
vxnicklifeless: it says I'm on r128 now so I just need to resolve some conflicts02:14
lifelessvxnick: ok, cool02:14
vxnickare the .moved files the newer ones (r128) or the r126 ones?02:14
lifelessolder I would expect02:16
vxnickmany thanks for your help - I'll try to do it from here :)02:16
vxnickreally appreciate it02:16
lifelessigc: responding to your doc is on my todo as well02:21
lifelesshowever today is already quite full :)02:21
lifelessspiv: reping, see above02:21
vxnickI'm afraid I need some help merging these .moved files :(02:23
vxnicknot really sure how to do it02:23
lifelesswell02:24
lifelessthe easiest way is just to mv them over the non .moved files; if the non .moved files are unchanged (don't show up in bzr st or bzr diff)02:24
lifelessthen you can do 'bzr diff' and see the difference02:24
vxnickI also have these ~1~ files left02:25
lifelesssimilar/same process for them02:25
vxnickthese .moved files look identical - you're saying delete them basically?02:26
vxnickor delete the originals02:26
lifelessif they are identical delete them02:28
vxnickquestion - are they conflicting because they're identical? bzr auto-resolves conflicts usually doesn't it?02:28
lifelessthey're conflicting because they were existing files where bzr wanted to put files02:29
vxnickgotcha02:29
lifelessbzr resolve can be used to tell bzr that you have resolved a conflict02:29
vxnickthanks02:29
vxnickok, I've removed the duplicates however bzr resolve is still showing the conflicts02:33
vxnickmy mistake02:33
vxnickI didn't do --all02:33
vxnicklifeless: any chance we could attempt separating the merged r127 from r128?02:35
vxnickor isn't that possible02:35
lifelessvxnick: I'm reasonably sure they are separate in bzr's internals02:38
lifelessvxnick: what does 'bzr log' show?02:38
vxnicklifeless: it'd just be nice to view the changes in my repo viewer02:38
vxnicklifeless: bzr log shows all revs up to 12802:39
vxnickincluding 12702:39
vxnickah - it has 126.1.102:39
lifelesswhat happened is that you had two things happen at once02:39
lifelessand you needed to merge to combine them - the 126.1.1 shows the thing that happened outside the 'trunk'02:40
vxnickso is there anyway I can go back and do that?02:41
vxnickthe reason I'm so keen to view r127 is that it was a massive commit02:41
igcbbiab02:42
lifelessvxnick: well your repository view should be able to show it02:43
lifelessjust look at 126.1.102:43
vxnick126.1.1 is the commit prior to the big one though02:43
vxnick126.1.1 was a single file commit02:43
jamhey lifeless, I'm around for a bi02:44
jambit02:44
lifelessjam: hi; just keen to get bbc->production readiness planned02:44
lifelessI'm worried about iter_changes and stacking02:44
lifelessjam: also we need to write our talks02:44
lifelessfor next week02:44
lifelesss/for/during/02:44
jamdang, its friday already ...02:45
lifelessyup02:45
vxnicklifeless: slight problem - I've checked-out the repo in a different place and bzr revno is showing as r126 :S02:47
vxnickrather than 12802:47
vxnickI tried bzr co -r revno:128 (not sure of the syntax) but it said no such revision02:47
lifelessvxnick: that sounds like they are in your checkout only.02:51
lifelessvxnick: if you are happy with how it looks now, do 'bzr push repo'02:51
lifelesswhere repo is the url you checkout from02:52
vxnicklifeless: any chance we can sort the 126.1.1 or is it stuck like that?02:52
vxnicki.e. get it into its own rev no02:52
lifelessvxnick: its basically stuck like that02:52
vxnicklifeless: ok no probs - i'll push02:53
lifelessit can be rewritten but its getting kinda complex02:53
vxnicklifeless: "pushed up to revision 128" :-)02:54
vxnickanything else or should I be good now?02:54
lifelessshould be good02:54
lifelessgo to your other checkout and do 'bzr update' to see02:54
vxnickyeah am currently runnig02:54
vxnickworks fine02:54
vxnickthanks loads02:54
vxnickI'm glad there's a decent community around here02:55
lifelessno problem02:56
jamlifeless: did you just get a new gpg key?02:58
jamI guess it is now "(My Canonical long address)"  :)02:58
lifelessjam: I added a new signing subkey for a machine02:58
igcjam: so 'log DIR' is slow in dev6rr because ...02:58
jamso igc, 'log DIR'... I think we are fundamentally approaching it from the wrong direction, simply because that was the easiest for XML formats02:58
lifelessjam: my laptop has it, but that new machine has only it.02:59
igcInventory.filter() is slow02:59
jamigc: 'log DIR' is slow because the algorithm is structured to hit every item in the directory each time02:59
jamrather than starting with changes02:59
igcand it's slow because children is slow02:59
jam'log -v' on 1k revs of mysql is 3s02:59
jamlog DIR is 1m30s02:59
jamO(tree) algorithms are *bad*02:59
igcjam: so post-processing the delta will probably work *much* quicker03:00
jamigc: From what I can tell, part of the issue is handling 'recursion'03:00
igcjam: precisely03:00
jamin that if someone gives "DIR" we need to figure out if "some-random-delta-file-id" is part of that DIR03:00
jamthere are a few ways we can do it03:00
jam1) Change Inventory.filter() for CHKInventory03:01
igcjam: I couldn't see how to that faster down at the inventory layer (i.e. iter_entries(dir=X))03:01
jamthe size of specific_fileids() is always going to be much smaller and define a smaller subset of the set03:01
jamiter_entries_by_dir(dir=X for X in specific_fileids)03:01
lifelessjam: s/always/usually/. Pathological users abound.03:01
jambut that still scales poorly03:01
jamlifeless: this is a case where optimizing for the common case is probably going to give the best wins, as long as we aren't terribly pathological03:02
jam2) Do 'changes' first, and then filter that after the fact03:02
jamtechnically the path filter can be computed from the parent_id_basename =>file_id map03:02
lifelessjam: oh agreed; I'm just making sure we don't forget that silly things happen03:02
jamand can be 'cached' between trees that have the same root hash03:02
jamhowever, that still scales as O(entries_in_dir)03:02
jamwhen O(num_changes) is often ~5-1003:03
jam(on average)03:03
lifelessalso!03:03
lifelessremember we're about to change iter_changes03:03
jamSo I was thinking that if we do a smart inversion of03:03
lifelessthis will impact chk delta stuff03:03
lifelessand it may do so helpfully03:03
jamfor ..., file_id, ... in iter_changes():03:03
jam  parents = get_id_path(file_id)03:03
jamif file_id or parents in specifice_fileids:03:04
jam add03:04
jamlifeless: right, because we are looking to include parents of changes, right?03:04
jamigc: so I would inline the get_id_path part03:04
jambecause03:04
jama) You can keep a set of "known_uninteresting" directories03:04
lifelessjam: yes, in an as-yet-un-pinned-down-way03:04
jamas well as a set of "known_interesting" ones03:05
jamso that you only have to recurse to the root sometimes03:05
jamand as changes are likely to be grouped by dirs03:05
jamyou'll likely get fast culling03:05
igcjam: sounds promising03:06
jamigc: I *think* you could push some of that down into iter_changes, except you lose any chance to cache info between trees03:08
jamas the *tree_shape* information could be cached between trees03:08
jamas long as parent_id_basename_root_id (sha1) didn't change03:08
lifelessjam: we could pass a cache in03:08
lifelesslunchtime03:08
jamhowever, by my numbers that only gives... 5:1 hits03:08
jamso *something* but unless we added 'delta' support to the cache maintenance, I'm not convinced it saves a whole lot03:09
jam(you could have the delta look at the parent_id_basename map changes, and determine what could be kept/discarded, but that takes more thinking.)03:09
jamigc: do you feel like that is enough info for you to work on it?03:10
igcjam: yes thank-you03:10
lifelessI have a couple of thoughts too03:10
jamlifeless: If I'm still here when you get back, I'd be interested in chatting a bit about stacking requirements and GC+CHK03:10
jamGC makes stacking 'easy' because it doesn't have deltas03:10
lifelesshave you guys considered using the per-file graph to jump back in log DIR?03:10
jambut CHK is doubly difficult03:10
lifelessjam: stacking is currently serialiser-locked, I don't see how CHK impacts it03:11
jamlifeless: as in finding the recursive set of possible file ids, and then grabbing all of their graphs03:11
jametc03:11
lifelessjam: [recursive set] - no03:11
jamlifeless: CHK 'externals' are not easily deduced from just the index03:11
jamand they are potentially "deep"03:11
jamin that the direct referenced one will reference more03:11
lifelessI mean, in rev Y, under DIR, 5-10 files are changed03:11
lifelessconsider only their per-file graphs, and you get 5-10 possible revs to jump to03:12
jamlifeless: I don't think you know that in Y-1 another 3 files disjoint were modified03:12
lifelessjam: oh bother03:12
lifelessjam: I really wish we'd had time to do the recursive-change field in inventories; it would solve this trivially03:12
jamlifeless: right03:13
jamthough at the expense of a bit more data churn03:13
igclifeless: and another minor issue: the per-file graphs don't contain delete info yet & log needs to report that03:13
jamlifeless: so if your smart fetch requires the complete inventory for a given revision in order to determine the file-ids to fetch03:14
jamwe only know the chk pages by *walking* them03:14
lifelessigc: indeed03:14
jamwe can get some of that by the first pass as we transmit data03:14
jambut that only gives us a single depth of referenced pages03:14
lifelessigc: we can fix that by including a node at deletes03:14
jamso we may need to walk *those* as well, in case of > depth-2 trees03:14
lifelessjam: smart fetch requires a delta, not a inventory03:15
lifelessjam: [once we have the delta patch finished]. CUrrently your 'make xml' hack is in place03:15
jamlifeless: ouchie03:15
jamlifeless: so GCVF already supports fallback versioned files03:16
jamand passes the VF test suite for that03:16
jamSo the *only* whole I can think of for stacking support03:16
jamis how we handle CHK pages03:16
lifelessjam: I'd approach this by a) turning it on and reenabling it, see how it goes03:16
lifelessb) look closely at whether we're going to have showstopper design issues, or things we can tweak to improve03:17
lifelesshole?03:17
lifelesstoday, I'd say we want the entire CHK tree for edge-revisions in the stacking branch, as this philosophically matches our current 'can get full inventory' rule for them.03:18
jamlifeless: well, 99% of all current trees we work in are only going to be depth 203:18
jam(one root, then leaves, or at most 1 root + 1 internal + 1 leaf)03:19
jambut the design is that they can be much deeper03:19
jamI'm somewhat concerned that we won't have problems because depth 2 won't trigger bugs03:19
lifelessideally we can drop that back to 'all CHK page needed to generate a delta of any revision present against its parents'03:19
lifelessjam: I'm really not quite understanding the concern; are you saying fetch won't copy the right data?03:20
jamATM, fetch has 2 passes, right?03:20
lifelessor can't be made to copy it? or will be slow if it does?03:20
jamThe first pass could inspect the data it wants to transmit03:20
jamto determine the data it needs to transmit03:20
lifelessjam: StreamSource can do as many passes as it wants03:20
jamexcept for CHK pages, that might need yet-another pass to get to the actual end03:21
lifelessit generates 1 stream03:21
lifelessStreamSink can, after insertion, say 'I need more data'03:21
lifelessand that will result in a second stream03:21
jamIt only gets to say that 1 time, right?03:21
jambut I guess you're right about stream sending a multi-pass stream03:21
jamsince we already do that now03:21
lifelessthe CHK pages introduced in the revs being pushed should all be included in the first stream, always.03:22
lifelessif the revs are at the edge of the stacking repository, it will ask for the inventories of the adjacent-absent revisions03:22
lifelessStreamSource in that case should provide all the CHK pages of those inventories03:22
jamlifeless: so the 'pages introduced' should always be included, I'm wondering if the 'pages referenced' should always be included03:23
jamas well as the inventories for adjacent03:23
jamthough I suppose that should overlap03:23
jamI'm not sure it is 100% overlap03:23
jam(might be)03:23
lifelesspages referenced-and-not-introduced should be included in adjacent-inventories-full-page-set03:23
lifelessa future improvement would be to have the second stream be 'pages-required-to-delta-against-this-but-not-the-full-closure' - and thats where it gets tricky and is why you are concerned.03:24
lifelessthat should be done after basic support is up03:25
jamlifeless: right, especially because it depends on the delta algorithm03:25
lifelessI think for fetch we should be only deltaing adjacently03:25
lifelessor within the set being sent03:25
lifelessreally lunching now03:29
jamlifeless: btw, I think dev6rr fetch just picks 'an' adjacent revision, not *all* adjacent revisions. Though it could certainly do so.03:35
lifelessjam: if we can consolidate the two similar code paths it would do all03:35
lifeless:)03:35
lifelesshmm, regression in ignore:(03:39
lifelessbzr ignore foo, where foo is a versioned directory, and contents of foo showing as unknown03:39
=== poolie1 is now known as poolie
jmla revision object has no reference to its repository04:00
jmlis this deliberate?04:00
lifelessis it something we care deeply about? I don't think so04:01
lifelessdeliberate is harder to answer04:01
mwhudsoni can't say i've ever found that surprising04:01
mwhudsonrevisions have always seemed pretty atomic in some sense to me, not that much more structured than strings in some sense04:02
mwhudsonhuh, nice repetition hudson04:03
lifelessin some sense04:03
jmlwhat's the difference between supports_delta and supports_diff in a log formatter?04:09
mwhudsonjml: delta is like bzr st, diff is like bzr diff04:11
mwhudson(i think)04:11
jmlok. that makes sense.04:11
jmlmwhudson: so, what you were saying earlier about revisions not being more than structured strings04:11
jmlmwhudson: I get that, but it can go either way wrt having a reference to a repository04:12
mwhudsonjml: yes04:13
mwhudsonwell,04:13
mwhudsonno04:13
mwhudsonjml: i guess what i mean is that you don't go directly from a string to something else04:13
jmlsure04:13
jmlthe string is often a key into a real object04:13
mwhudsonyou might look up something under a string to find something else04:13
mwhudsonbut you don't go string.object_with_key04:13
mwhudsonrevisions are like that04:14
jml*nod*04:14
jmlbut maybe they could also be such that revision.get_parents() worked.04:14
mwhudsonyeah04:14
jmlI'm just noticing that I can't use a log formatter to show the author of the second-to-left parent revision of mainline as the author of the mainline revision.04:15
mwhudsonah04:20
mwhudsonthe log formatter doesn't get the branch or repo or anything?04:20
mwhudsonwell, i guess there may not be a branch04:20
jmlmwhudson: no.04:21
mwhudsonugh04:21
jmlmwhudson: I mean, you subclass the log formatter, so you can pass it one yourself04:21
mwhudsonyeah, but that's pretty icky04:22
mwhudsonwill work for what i guess you're doing :)04:22
jmland in the canonical use case, there is a branch04:22
spivlifeless: late pong04:25
lifelessspiv: its all there in history ;P04:26
lifelesshow is it going basically04:26
spivlifeless: I've been taken a little by surprise by fileids_altered_by_revision_ids, when a (stacked, no fallbacks set) repo has say rev-2 but not rev-1, and rev-2 doesn't change any files from rev-1, fileids_altered_by_revision_ids(['rev-2']) still reports rev-1.04:27
lifelessright04:28
lifelessthats the root of the bug in fact04:28
lifelessheres why it occurs:04:28
lifelesswithout rev-1's inventory, we can't calculate the delta04:28
lifelessso we get everything that is referenced04:28
lifelessnot new references04:28
lifelessits why we want rev-1's inventory in the stacking repo04:29
spivYeah, it makes sense (the fulltext inventory clearly says "this file is at version rev-1"), but for some reason I was expecting fileids_al... to incorrectly deduce rev-2 there.04:30
lifelessah04:30
lifeless:)04:30
lifelessit used to return nothing04:30
lifelessthis lead to bugs in fetch where incorrect inventories caused stuff to be dropped04:30
lifelessso we fixed that04:30
spivIt doesn't really matter which version it reports, so long as it reports something and I can check that it's present.04:30
spivi.e. this doesn't break my fix, but it's caused me grief when designing tests.04:31
lifelessif rev1's inventory is there it will report nothing04:31
lifelessif its not there it will report rev1's version, because rev2 doesn't have a version04:31
lifelessok04:32
spiv(Also, there are no explicit unit tests for this corner of fileids_al...'s behaviour)04:32
lifelesswhat do you want to test04:32
lifelessspiv: uhm, there are actually, its just that those tests are pretty much inpenetrable04:32
spivThat the fix works ;)04:32
lifelessok04:32
spivMore specifically,04:32
lifelessless broads04:32
spiv[re: fileids_al...'s tests, grep didn't find any other than test_fileid_involved.py, and it has no tests that show a revision in the result that wasn't passed as an arg to fileids_al...)04:34
lifelesshmmm, you may be right04:34
lifelessI know I wrote tests when I changed it04:35
lifelessit may be layered04:35
lifelessso - what behaviours do you want to ensure04:37
lifeless'it works'04:38
lifelessthat can be expanded04:38
lifelessare there things that shouldn't happen04:38
spivAnyway, I'm testing: simple linear history where [parent inv missing + all texts present -> ok], [parent invs present + new texts present -> ok], [parent inv missing + text missing -> not ok]04:38
lifelessand things that should04:38
lifelessok04:38
spivAlso, ghost rev that does not cause missing texts -> ok04:38
lifelessthat shouldn't interact badly with fileids_altered04:39
lifelessbranchbuilder supports ghosts now04:39
spivAh, handy, I didn't know that.04:39
lifelessI added it for a test04:39
lifelesslook at record_snapshot's docstring04:40
spivAlso, I found I needed to use add_inventory directly on the target repo rather than get/insert_record_stream, because ensuring that I get a single fulltext inventory record was too fiddly with the stream API.04:41
lifelessthats surprising04:43
lifelessI would have expected roughly insert_record_stream(FullTextRecord(get_record_stream(foo, 'topological', True).next())) to Just Work04:44
spivRight, I could probably manually assemble a FullTextContentFactory, but that's considerably more complicated than just calling add_inventory.04:45
lifelesstrue04:45
lifelessadd_inventory is fine too04:45
spivYeah.  I was a bit reluctant too at first, because it takes the test slightly further away from the way streaming fetch works, but I made peace with the idea fairly quickly :)04:46
spivs/too/to/04:46
spivAnyway, I feel that I do understand all the dark corners now, so it's going rapidly now.  But right now it's lunch time!04:47
* spiv -> food04:48
lifelessexcellent04:48
lifelessI'm doing pdr stuff04:48
lifelessso just ping if you are able to save me from it at any point04:48
lifelessoh yeah05:01
lifelessjml: https://code.edge.launchpad.net/~lifeless/subunit/autoconf/+merge/6328 is textually large, but code wise tiny05:01
lifelessjml: I'd love a review :)05:01
jmllifeless: I might not get around to it for a week or so05:02
jmllifeless: but I'll put it on my todo list -- who knows what will happen!05:02
lifelessjml: I'lll nag other people then05:03
lifelessjml: as it will block me05:03
jmllifeless: ok.05:03
lifelessjml: or you can opt and and I'll land it as is05:03
jmllifeless: I'm basically talks talks talks until next weekend :)05:03
lifelessbeamer where art thou?05:04
lifelessjml: basically it moves subunit to use autoconf; this gives the library a good soname and makes it packagable05:04
jmlok.05:05
lifelessjml: no python code changes at all; minor changes to the shell tests to support VPATH builds05:05
lifelessspiv: I've checked, build_snapshot in bzr.dev has support for ghosts05:10
krisfremenhello there, i'm gettign "Cannot build extension "bzrlib._btree_serializer_c"."05:10
krisfremenanyone knows a little bit of insight as to what is wrong?05:11
lifelessthere should be more output than that05:11
krisfremenit's quite long05:11
lifelessif you can pastebin it somewhere I will look at it05:11
krisfremenhttp://pastebin.com/d2a36e92d05:17
lifeless#05:18
lifelessbzrlib/_btree_serializer_c.c:4:20: error: Python.h: No such file or directory05:18
lifeless#05:18
lifelessthat suggests you don't have the python library header files on your system05:18
lifelessyou might prefer to use a prebuilt bzr, but if you do want to build bzr yourself you need 'python-dev' or whatever the package is called on your operating system05:19
lifelessor you can run bzr without building the extensions (it can run as pure python)05:19
krisfremeni do have that package05:19
lifelesscan you do05:20
lifelessls /usr/include/python2.5/Python.h05:20
krisfremenhmm05:21
krisfremennot there05:21
lifelessare you running jaunty ?05:21
krisfremendebian lenny05:22
lifelesshmm, I think that has 2.5 as defalt05:23
lifeless*default*05:23
lifelessanyhow, you need /usr/include/python2.5/Python.h05:23
lifelessI think its normally in python2.5-dev, which is pulled in by python-dev usually05:23
krisfremensudoed it and it worked05:26
krisfremenweird, maybe some permissions are messed up05:26
krisfrementhanks!05:27
lifelessno probs05:29
jamspiv, lifeless: btw, if you add a FulltextContentFactory, I believe it goes down to '.add_lines()' which can create a delta05:31
jamyou have to insert a KnitFulltext record if you want to force it to be a full text05:31
jamthough I believe add_inventory() can also generate a delta05:31
lifelessjam: it won't create a delta if the target repo is missing the parent05:32
lifelessjam: which is the scenario05:32
lifelessjam: the point is to avoid dragging the parent content around by mistake05:32
lifeless-> pdr stuff done05:44
lifelessdeep hacking time on check; if anyone wants me SMS or ring05:45
lifelessabentley: if you're around; we used to have code for determining left-hand-distance-to-null; do you happen to recall what we did with it?06:12
lifeless(I'm refactoring Branch.check to take a precalulated graph rather than every branch doing the same thing)06:13
jmldoes bzrlib have a standard way of taking an optional location and turning it into a branch?06:20
jmlshould it?06:20
lifelessEPARSE06:20
lifeless[what talk are you writing btw, and if you're all talk at the moment, consider  mailing jam and I]06:20
jmllifeless: I think the cost of explaining what I mean is greater than or equal to the cost of figuring it out myself :)06:21
lifelessjml: if you mean 'open_or_init' or something like that, uhm no, And I don't think so06:21
lifelessif you mean something else, maybe, who knows.06:22
jmllifeless: I mean more like a command-level thing for saying "just default to the branch that's in the current directory."06:22
jmllifeless: but I think that's just if location is None: location = '.'06:23
jmltalks I'm doing are: Introduction to Twisted; Tour of Launchpad Code; Teach Me Packaging; "Your Code Sucks and I Hate You"06:25
jmllifeless: and whatever help I can spare for your & jam's talk06:26
lifelessjml: we're doing two :P06:31
lifelessso please pluralise :)06:31
lifelessjml: anyhoo, thats Branch.open_containing06:31
jmllifeless: the one I submitted the proposal for :)06:31
lifelessand yes, if location is None: location='.'06:31
lifelessjml: la-la-la-la06:32
* igc celebrates completing his just-in-time hr paperwork by starting his many-weeks-late expenses paperwork08:03
spivigc: :)08:09
spivigc: I know the feeling!08:09
igcspiv: does that mean you've remembered my "review me" invitiation? :-)08:10
spivigc: yes :)08:13
spivigc: (doing those now, in fact)08:13
bialixluks: ping08:22
lukspong08:22
bialixluks: I'd like to make Gary admin of qbzr google group. He's most active these weeks08:23
lukssure, no objections to that08:23
bialixok08:23
* igc packs it in for the day09:28
igchave a good weekend all09:28
=== dereine[OFF] is now known as dereine
=== dereine is now known as dereine[OFF]
=== dereine[OFF] is now known as dereine
abentleylifeless: It's on Graph.12:46
abentleylifeless: Graph.find_distance_to_null12:47
lifelessabentley: thanks12:49
=== dahoste|away is now known as dahoste
=== abentley1 is now known as abentley
=== nevans1 is now known as nevans
=== pindonga is now known as ricardokirkner
=== BjornT_ is now known as BjornT
Mezhow do I create a working tree for something that doesnt have one ?14:53
beunoMez, bzr co .14:53
ricardokirknerhi. is there any way to have a bzr repo be pushed to svn, and keep each commit author? (I mean, every team member commits to a central bzr repo, and from there one person pushes to a svn repo... each individual commit.. retains authorship, or are all commits re-owned by the person who effectively pushes to svn?)15:03
lifelessjelmer: I've packaged subunit15:07
lifelessjelmer: if you want to change the maintainer field and do the upload to close your bug in debian, that would be fine15:07
lifelessricardokirkner: bzr will add metadata saying the original author, but I'm not sure whether svn looks ast that or not; I suspect it doesn't.15:08
ricardokirknerlifeless, it uses svn properties for that right?15:09
ricardokirknerI had some issues with that... its not very nice from the svn point of view to have a lot of properties set/reset on each commit15:10
jelmerricardokirkner: it uses revision properties if you have a new enough version of svn (svn >= 1.5)15:26
jelmerlifeless: ah, nice15:26
jelmerlifeless: care to be co-maintainer ?15:27
lifelessjelmer: sure15:27
ricardokirknerjelmer, and if you have a lesser version? what does it use?15:27
jelmerricardokirkner: file properties15:28
ricardokirknerjelmer, sorry I am missing something here..15:28
ricardokirknersvn:ignore is a svn property... this is a revision property?15:29
ricardokirknerif so, what is a file property?15:29
=== dereine is now known as dereine[OFF]
jelmerricardokirkner: svn:ignore is a file property15:32
jelmerricardokirkner: revision properties are generally not visible for the user15:32
lifelessjelmer: https://code.edge.launchpad.net/~subunit/ubuntu/jaunty/subunit/releases revno 7015:32
savvasdoes bzr require repackaging like git if it gets big?15:33
lifelesssavvas: bzr automatically packs as needed15:34
lifelessyou can manually trigger a pack if you have reason to, but its not something we recommend15:34
jelmerlifeless: whu15:34
jelmerlifeless: what sort of fancy branch is that?15:34
lifelessjelmer: package branch15:34
savvasit's ok, I like "automagic" :)15:35
lifelesshalt()15:35
lifelessgnight15:35
Odd_BlokeHow can I list the files changes in a commit?15:36
Odd_Bloke*changed15:37
beunoOdd_Bloke, -v15:37
lifelessOdd_Bloke: bzr st -c revno15:38
lifelessOdd_Bloke: log -v -c revno15:38
lifelessbzr diff -c revno | diffstat15:38
lifeless(really gone now)15:38
jelmerlifeless: ah, interesting15:38
jelmerlifeless: 'night15:38
lifelessjelmer: oh15:39
lifelessone more thing15:39
lifelessthere is a tarball15:39
jelmerlifeless: and appropriately set debian/watch ? :-)15:39
lifelessno15:39
lifelesswatch can't do bzr well15:39
lifelesshttps://edge.launchpad.net/~subunit/+archive/ppa15:39
jelmerlifeless: it can deal with tarballs though :-)15:39
lifelessgrab the -65 tarball from there15:40
jelmerlifeless: btw, how do I register new package branches?15:40
lifelessjelmer: yes, but I'm not making official release tarballs at this point15:40
lifelessjelmer: usual way, push to em15:40
jelmerlifeless: ah, k15:40
jelmerlifeless: but mirrorred branches? There's no register link15:40
lifelessthe tarball of -65 is a snapshot, you could make your own but nicer to reuse15:40
lifelessjelmer: I don't know that you can, or that it has even been considered15:41
james_wjelmer: not currently possible to have a mirrored package branch15:41
lifelessjelmer: anyhow, lp is fast now15:41
jelmerlifeless: Yeah, but I'd like to register the branches on bzr.debian.org15:42
lifelessgood use case15:42
lifelessjelmer: ^15:42
jelmeras packaging branches seem to be supported for debian in lp too15:42
lifelessjames_w: ^15:42
lifelessciao15:42
james_wthey are15:43
james_wI think the immediate problem is that the form for registering just has a space for "Project:"15:43
james_wso it can't be used15:43
james_wI don't know if there are more fundamental issues15:43
Kamping_KaiserIs any special work required for a bzr 'head' branch?15:46
Kamping_Kaiser(in a configuration sense)15:46
jelmerjames_w: should I file a bug?15:47
james_wKamping_Kaiser: you might like to set "append_revisions_only", but other than that there isn't much15:47
james_wthat's not required, it just enforces something that most people expect for a "head" branch15:48
james_wjelmer: bug 347755 I think15:48
ubottuLaunchpad bug 347755 in launchpad-code "No UI for registering package branches" [Medium,Triaged] https://launchpad.net/bugs/34775515:48
Kamping_Kaiserjames_w, thanks.15:48
LarstiQwhatever is a head branch?15:49
jelmerjames_w: thanks15:49
Kamping_KaiserLarstiQ, something I link to on a public site as a 'known working' rcs snapshot15:49
LarstiQKamping_Kaiser: ah ok, so not trunk if that isn't guaranteed to be known working16:11
Kamping_KaiserLarstiQ, true, the wording on my part was bad.16:12
gcerquantI have a noob question: I just did a merge and have some conflicts. I understand the .OTHER files are the one from the branch I am merging into the branch I am working on. Could someone clarify what is the .BASE and .THIS?16:40
awilkinsCan anyone tell me how to get the Nautilus integration going in bzr-gtk?16:42
* awilkins installs the GNOME-python binding16:42
* awilkins discovers they are already there16:43
james_wgcerquant: THIS is from the tree you merged in to16:44
james_wgcerquant: BASE is the common ancestor16:44
=== dereine[OFF] is now known as dereine
gcerquantBut I branched a copy, worked on it, and then merged it back16:45
gcerquantshouldn't THIS and BASE be the same ?16:45
awilkinsThey won't be because if THIS and BASE were the same, there would be no conflict16:46
awilkinsWhich OS are you using?16:46
gcerquantMac16:47
gcerquantok, I get it16:47
* awilkins doesn't know much about 3-way merge editors for Mac16:47
vxnickgcerquant: changesapp.com is good16:47
gcerquantI forgot I did a revert on the main branch16:47
awilkinsI was going to suggest it might be easier if you open it in meld / TortoiseMerge / stuff16:47
gcerquantChanges.app is awesome, yes16:47
gcerquantthanks for your help16:48
vxnickgcerquant: you can also integrate it with bzr if you haven't already :)16:48
gcerquantI did :)16:48
gcerquantwith this alias: diff = diff --using=chdiff16:49
gcerquantanything more efficient?16:49
vxnickgcerquant: add it your .bashrc file16:50
vxnicksorry16:50
vxnickignore that16:50
gcerquantnp16:51
vxnickgcerquant: ALIASES]16:51
vxnickchdiff = diff --using chdiff --diff-options --wait16:51
vxnickgcerquant: in ~/.bazaar/bazaar.conf16:51
vxnick[ALIASES] on the line above it16:51
gcerquantyep, that's what I have16:51
gcerquantexcept for the --wait options16:52
gcerquantwhat does it change?16:52
james_w--diff-options isn't passed to chdiff in that case is it?16:52
vxnickgcerquant: http://pastie.org/47226116:52
vxnickgcerquant: it means you can use "bzr chdiff"16:52
vxnickgcerquant: --wait means bzr halts until changes.app is quit16:53
gcerquantbut unless I miss something, I prefer it without the wait16:53
vxnickfair enough :)16:53
gcerquantso I can open a diff, look at it in Changes, maybe do an other commands in my term (bzr conflicts, or just ls...)16:54
vxnickyeah16:54
vxnickI see your point16:54
vxnickI think I just copied/pasted the whole thing from the changes website16:54
vxnickit wasn't a conscious decision16:54
gcerquant:)16:54
gcerquantI had done a script for Changes in svn to edit the files in place, with the right name. So I could edit and save within Changes, and be done16:55
gcerquantmight adapt it for bzr16:55
gcerquantvxnick, what do you develop for Mac?16:56
vxnickgcerquant: I just do web stuff - LAMP type stuff16:56
awilkinsHere's a thought - could we use an "ignored" status change kind ; e.g. - you've got a file that you want to stop tracking, the only way being to `bzr rm --keep foo` and then `bzr ignore foo` ; unfortunately when others pull your revision this will delete their local copy of the file instead of just ignoring it.16:57
awilkinsIn other words, would tracking the use of `rm` vs `rm --keep` as separate types of change be useful (for me, yes).16:59
vxnickawilkins: I think that sounds sensible16:59
vxnickprevention is better than the cure ;)17:00
awilkinsSpecific example, using Maven with the eclipse plugin ; it generates .project files ; someone has added these to version control in error.17:00
awilkinsI want to remove and ignore them without spoiling his day.17:00
awilkinsOk, he can just regenerate them :-)17:00
gcerquanthttp://paste.lisp.org/display/7990517:04
gcerquantIt looks like my merge produce a conflict because I removed a new line.17:04
gcerquantIs this possible?17:04
gcerquantIs there an option for that?17:04
gcerquantI. Just. Love. Bazaar.17:48
LeoNerd.oO( "Get a roooom!" )   ;)17:49
gcerquant:-p17:49
vxnickI love it too - can't bring myself to use anything else :P17:50
=== dahoste is now known as dahoste|away
gcerquantI have check other system, but bzr has the right approach for so many things it's a no-brainer decision17:50
vxnickyeah17:51
vxnickI *love* bzr uncommit ;)17:51
gcerquantcan you unrevert as well?17:51
gcerquantI was once burned by this with svn (used an newly alias the wrong way. alias was deleted just after I finished crying)17:52
LeoNerdrevert saves a backup copy of the modified files in the local checkout. I don't know if it has an automatic "unrevert" command, but you can just  mv foo.c.~1~ foo.c17:53
LeoNerdThough usually I use vimdiff between them17:53
james_wthere is no unrevert17:54
james_wone day...17:54
bialixjelmer: are you around?17:57
james_whi bialix17:57
bialixhi james_w17:57
bialixthere is question about conversion from svn: http://stackoverflow.com/questions/839683/how-to-migrate-from-a-complicated-subversion-repository-to-a-distributed-version18:00
bialixjelmer: ^^18:02
jelmerbialix: answered18:06
bialixthx18:08
=== dereine is now known as dereine[OFF]
=== dereine[OFF] is now known as dereine
Peng_Haha, subunit switched from scons to autoconf *one day* after i installed scons specifically for it. :P19:47
LarstiQmake it switch back!19:47
Peng_Since I'm just using it for Python, I don't even need to compile it though.19:50
LarstiQronny: try again. I note http://paste.pocoo.org/show/116024/ doesn't include releases like 1.14.120:29
ronnyLarstiQ: yes, its a bit incomplete, its just a pretty generic guess20:30
* LarstiQ nods20:30
LarstiQronny: you could try parsing http://pypi.python.org/simple/bzr or something like that20:30
=== kiko is now known as kiko-afk
ronnyLarstiQ: i will probably put dealing with that in an actual py.test extension using the xmlrpc api or some code i worte for the pida plugin updates20:31
* LarstiQ might want some code like that too20:32
LarstiQronny: anyway, for the releases in that script, they should now work :)20:32
ronnyLarstiQ: i just wrote a scanner for the simple http pypi20:33
ronnyits pretty nasty and just has some regex20:33
ronnyit works semilar to things like easy_install and pip20:33
ronny#its just less smart20:33
LarstiQright20:34
* LarstiQ has read the easy_install code20:34
LarstiQthat's actually how I got to know about /simple/20:34
ronnyi hope you didnt cry in tears of blood20:35
LarstiQonly a little bit20:35
ronnyreading code by pje is a #1 health danger20:35
ronnywell, luckyly hes now a self-refactoring guru and wont fuck up python any more20:35
LarstiQhe has had some good ideas tough20:37
LarstiQmainly thinking of wsgi here20:38
=== beuno_ is now known as beuno
yamquick ? - I want to look at a file from December in my bzr repo, and then go back to today's version20:45
yampossible?20:45
jamyam: bzr cat -r XXX file20:47
jamor bzr revert -r XXX file; bzr revert file20:47
* LarstiQ thought yam was talking to himself20:51
LarstiQjam: how are you doing?20:51
jamLarstiQ: I'm doing pretty good. how about you?20:51
yamSorry, not talking to myself, trying it out - works!20:51
LarstiQyam: I meant you and jam's nicks being very similar20:52
yamthank you kindly - I knew that IRC would be the answer I needed20:52
LarstiQjam: feeling a bit ground by work and studying, but otherwise not unhappy20:52
yamLarstiQ: yam jam sounds pretty good, actually20:53
andriijashow do i remove a pending merge tips?21:03
jelmerandriijas: bzr revert --forget-merges21:03
andriijasthx21:04
rellis_HI everyone. I am seeing this bug https://bugs.launchpad.net/bzr-svn/+bug/373726. Has anyone else seen this, is there a nifty workaround?21:26
ubottuUbuntu bug 373726 in bzr-svn "Error importing svn repository" [Undecided,New]21:26
LarstiQrellis_: I haven't seen that before, but it violates an invariant of bzr, I wonder how you got to that point.21:34
LarstiQhmm, I can think of one way to do that.21:35
psykidellicHi, I guess I am missing something very stupid in the docs. But how do you init a branch with an existing branch info?21:36
jelmerrellis_: hi21:36
psykidellic*init a new21:36
jelmerrellis_: I think this might be a bug that's fixed in 0.5.4, is there any chance you can try with that?21:37
jelmerrellis_: Is this repo publicly accessible?21:37
LarstiQpsykidellic: do you want a copy of the other branch? `bzr branch old new`21:41
LarstiQpsykidellic: if not, it is unclear to me what effect you're after21:41
psykidellicLarstiQ: We have a branch at: /bzr/project/branch..... . I created a new repo using: init-repo. I want to import project/brnach with all its history to the new repo.21:55
psykidellic*branch21:55
LarstiQpsykidellic: if it's one branch, just `bzr branch` it.21:56
psykidellicLarstiQ: Alright. And it will be added to repository when I push it first time.21:56
LarstiQpsykidellic: if I understand you correctly as having added a repository after deciding a standalone branch wasn't the way to go, `bzr reconfigure` might be handy.21:56
psykidellicLarstiQ: Exactly :)21:57
LarstiQpsykidellic: that's fine too21:57
psykidellicLarstiQ: You read my mind!21:57
LarstiQpsykidellic: specifically, `bzr reconfigure --use-shared` would have been of help to you21:57
psykidellicI have not yet branched to new one. I will look into reconfigure now.21:58
psykidellicThanks.21:58
* psykidellic goes back to docs.21:58
=== dereine is now known as dereine[OFF]
lifelessjelmer: bah, packaging fail. I'm fixing22:30
=== beuno_ is now known as beuno
lifelessjelmer: all fixed now23:00
lifelessmissing pkg-config build-dep23:00
lifelessPeng_: its packaged now23:00
lifelesslaunchpad.net/~subunit/+archive/ppa23:00
xlaxCan anyone explain why I can't push any repo? I constantly get "Target directory xx already exists [...]" or "Generic path error"23:18
xlaxOr permission denied errors are common too.23:19
lifelessxlax: are you pushing to launchpad?23:22
xlaxlifeless: no, I'm trying my own (s)ftp solution.23:23
xlaxBecause I need the project to be private, and I didn't see any option for that in launchpad.23:24
FurnaceBoyhi all. is there a pure CLI way to achieve per-file commit messages? I'm using bzr on a headless box23:24
lifelesslaunchpad cann host private projects, but its for a fee.23:24
lifelessanyhow - Target directory xx already exists - means you've made a directory rather than having bzr push to a  new directory.23:25
=== dereine[OFF] is now known as dereine
lifelesseither pass --use-existing-dir to push, or don't make the branch directories by hand23:25
lifelessthe GPE I'd need to see a backtrace of - there will be one in ~/.bzr.log23:25
xlaxlifeless: using --use-existing-dir will get me the GPE ^^23:25
lifelessFurnaceBoy: I don't think so23:25
FurnaceBoylifeless, hm ok, thanks. just on a project whose policy encourages them.23:26
Peng_lifeless: Oh, nice. I've already set up running it from source, so I'm not sure I'll bother with the PPA though. Plus I don't run Jaunty.23:26
lifelessFurnaceBoy: you could use the python interface, or write aplugin to support it.23:26
lifelessFurnaceBoy: mainly a UI problem, its a lot easier to write that sort of thing in a gui23:26
FurnaceBoylifeless, interesting!23:26
FurnaceBoylifeless, I'll think about that. thankyou23:26
lifelessFurnaceBoy: feel free to file a bug saying you'd like it in the CLI23:26
lifelessPeng_: lenny?23:27
FurnaceBoylifeless, is the main Bzr on lp?23:27
Peng_lifeless: Hardy. Plus Gutsy. :X23:27
Peng_(I'll upgrade soon i swear!)23:27
lifelessFurnaceBoy: http://launchpad.net/bzr23:27
lifelessPeng_: :)23:27
FurnaceBoylifeless, ok, so if i wanted to write such a plugin, would i branch to do it? (sorry i'm new to bzr/lp)23:28
lifelessPeng_: hopefully jkakar will do the autoppa magic and I can upload gutsy and hardy too23:28
lifelessFurnaceBoy: well a plugin is a new separate project; so you'd start a new project, which would be a bzr plugin23:28
Peng_lifeless: Is creating gutsy packages even allowed anymore? It's not supported...23:28
lifelessFurnaceBoy: or you could just patch bzr itself; it might be easier in this particular case:- for that you would branch bzr, yes.23:28
lifelessPeng_: not sure.23:29
lifelesshardy is23:29
xlaxHmm. It seems my host has an odd way of calling its directories...23:29
jkakarlifeless: AutoPPA magic for Bazaar?23:29
lifelessjkakar: subunit23:29
lifelessjkakar: (hi)23:29
jkakarlifeless: Ah, okay, yeah, I should finish that since it's already half done.  Hi! :)23:29
lifelessjkakar: I've done C/python/tools/C-dev packages23:30
jkakarlifeless: I noticed that.  I'll see if I can review/integrate your changes sometime this weekend.23:30
lifelessjkakar: they're built https://edge.launchpad.net/~subunit/+archive/ppa and code is https://code.edge.launchpad.net/~subunit/ubuntu/jaunty/subunit/releases23:30
jelmerlifeless: btw, the last entry in changelog is by robertc@lifelessdesktop23:31
lifelessdebian/changelog?23:31
lifelessmeh, I haven't set DEBFULLNAME and DEBEMAIL yet on that machine23:31
jelmerlifeless: ah23:32
lifelessmy desktop went bang23:32
lifelessI have a new i7 920 :)23:32
jelmerlifeless: also, any chance you can use 0.0.1~bzr65 for the upstream version? That way bzr-builddeb can Do The Right thing at some point23:32
=== zirpu is now known as zirpu-away
jelmerlifeless: what's an i7 ?23:33
lifeless4-core, 8 hyperthreadedvcpu's goodness23:33
jelmerlifeless: nice23:33
lifelessintels current gamer/workstation cpu23:33
lifelessjelmer: I used - deliberately23:34
=== zirpu-away is now known as zirpu
jelmerlifeless: why the - ?23:34
lifelessjelmer: its an upstream release23:34
lifelessnot on the path to 0.0.1, after 0.0.123:34
lifelesswe could use 0.0.2~bzr65 if we wanted23:35
jelmerlifeless: so it's actually 0.0.1 ? or just a snapshot after 0.0.1 ?23:35
lifelessthe latter23:35
jelmerlifeless: what about 0.0.1+bzr65 ?23:35
jelmerI guess we could also get bzr-builddeb to support something like 0.0.1-bzr65 though23:35
lifelessbzr-builddeb should support it23:35
lifelessin terms of parsing etc, its legit23:36
jelmerlifeless: it might be confusing for native packages though23:36
lifelessno, if foo-x-y, -y is debian revision, -x is part of upstream version23:36
lifelessjkakar: overview is 'used autoconf to get a soname, and after that its stock debhelper magic mostly'23:37
lifelessjkakar: the thing that you could do that would be nice is get it working with autoppa for future release builds23:37
jelmerlifeless: what I mean is that it makes parsing the version string harder for bzr-builddeb23:37
lifelessjelmer: it should be getting parsed by python-dpkg anyhow ;)23:38
lifelessjelmer: which DTRT23:38
lifelessif it does make it harder, well I'm not married to this23:38
james_wpython-apt, but yeah23:38
lifelesshi :)23:39
lifelessjames_w: I went with -f on autoreconf23:39
james_wit should work with two -, but is currently broken, fixed in the 2.1 branch23:39
lifelessdatestamps and patches, eww.23:39
james_wlifeless: cool23:39
james_wplus, it doesn't care if you create a native package with - in it23:39
jkakarlifeless: Cool, that shouldn't be hard.23:39
james_whi jkakar23:40
jkakarHeya james_w! :)23:40
james_wjkakar: did you know that launchpad will soon support uploads with a target of "hardy intrepid jaunty"?23:40
lifelessjkakar: I'd like to keep two packaging branches. One 'official' this-is-packaged-for-$distro [debian with flow-down to ubuntu for now], and one 'upstream' this-is-ppa-magic.23:40
lifelessjkakar: the ppa one should descend from the official one23:41
jkakarlifeless: Cool, that makes sense.23:41
lifelessjames_w: awesome23:41
jkakarjames_w: I didn't, no.  That sounds pretty awesome.23:41
james_wyeah, it removes the simple case that autoppa solves23:41
james_wthen you should just write your package so the same source works on multiple distributions :-)23:42
jelmerjames_w: that's awesome23:42
jkakarjames_w: Well, sort of.  That's only half of the case AutoPPA solves--the other half is providing some simple templating so that slightly different control files and such can be used for each build.23:42
james_walso, you two may be interested in https://launchpad.net/bzr-builder that I wrote23:42
james_wjkakar: yeah, but that's rarely required, though can often be nice to have23:43
jkakarjames_w: Really?  I probably just don't know enough about packaging, but that seems to be required for every single project I've packaged (which is like 4 things).23:43
lifelessjames_w: you've reinvented config-manager ;)23:44
jkakarjames_w: For example, on dapper my Python libraries need to Build-Depends on python-support, whereas on newer releases they need to Build-Depends on python-central.23:44
jkakarjames_w: The same kind of problem crops up when you need to depend on version 1.1 of libfoo on dapper and 1.2 on hardy.23:44
james_wlifeless: yeah23:44
jkakarjames_w: Anyway, I really hope it is rarely needed... it'd be great for AutoPPA to be killable.23:45
james_wjkakar: yeah, Build-Depends is the main case. Depends you can do from within the package23:45
james_wpython-central isn't something you can do with an "|" though, unless you are really sneaky23:45
Peng_Would it make sense for the SMP test stuff to use the multiprocessing module? Nose does, Or So I Heard.23:46
james_wBuild-Depends: package-that-only-exists-in-dapper | python-central23:46
lifelessPeng_: no23:46
lifelessPeng_: we want full isolation ;)23:47
james_wso http://bazaar.launchpad.net/~dailydebs-team/bzr-builder/cookbook/annotate/head%3A/bzr/jaunty.recipe is what controls what is uploaded to the jaunty nightly PPA now23:47
james_wlifeless: the plan is apparently to integrate this with launchpad23:47
lifelessback in a bit23:48
jelmerjames_w: what's advantage of bzr-builder and nested trees (when they land..)23:48
jelmerjames_w: ?23:48
Peng_lifeless: I don't know what that means, but okay. :D23:48
* Peng_ doesn't know a thing about multiprocessing.23:48
james_wjelmer: I don't know how it will work with nested trees, it will probably do a join there I guess23:49
james_wjelmer: I just throw away the created tree at the moment, so I don't really care23:49
james_wit does mean that it can't use bzr-builddeb currently, which nested trees would allow us to do23:49
=== dereine is now known as dereine[OFF]
james_wlifeless: oh, I also tested a larger package earlier. A chunk of nautilus was 2 minutes to branch, 30 seconds to apt-get23:50
lifelessjames_w: not a great ratio23:59
lifelessjames_w: but better than the past23:59

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