/srv/irclogs.ubuntu.com/2008/06/12/#bzr.txt

beunomwhudson, I have to run off for a while. I need to run some errands I've been putting off. I'll read the backlog when I get back, and finish up the cleaner-url patch. FWIW, it's in: lp:~beuno/loggerhead/zpt.cleaner_urls00:02
mwhudsonbeuno: okidoke00:02
mwhudsoni should do some non-loggerhead stuff too00:02
igcmorning00:03
Pengjelmer: If you haven't gotten an answer, you can use 'hg export' to create a patch-like file.. Not sure about the email part. The patchbomb extension, perhaps.00:06
jelmerPeng, hg doesn't have a bundle-like format that preserves vcs metadata?00:08
Pengjelmer: 'hg export' does.00:08
Pengjelmer: The git diff format can store binary data.00:09
Pengjelmer: Mangled line endings can cause problems though.00:09
jelmerPeng, ah, thanks00:11
=== mark1 is now known as markh
lifelessigc: where is your stacked loom again ?00:47
jmlabentley, lifeless: do you know if https://bugs.edge.launchpad.net/bzr-loom/+bug/201613 is now fixed?00:50
ubottuLaunchpad bug 201613 in bzr-loom "pushing looms does not work properly" [Critical,Triaged]00:50
jmlthe associated branch is 'trunk', so...00:50
jmlalso, what's BzrDir.clone expected to do when the associated bzrdir is for a loom?00:52
abentleyjml: I know that a hacky fix was applied, so it should be better, but not perfect.  The wrong hook will fire.00:54
abentleyI don't know why BzrDir.clone would do anything different when the associated bzrdir is for a loom.00:55
lifelessjml: as abentley says00:55
lifelessjml: works, wrong hook.00:55
jmlahh ok.00:57
stefanvhey guys, I have a question about workflow.  I'd appreciate it if you could point me in the right direction.  Whilst developing a feature in a new branch, it is useful to keep up to date with the latest changes made in "trunk".  Why does bzr force you to merge, even if a pull wouldn't have resulted in a conflict?  This makes many merges appear in the revision log.  Is there a workaround, or am I missing the point?01:01
stefanvFor example, if I'm working on project/somedir/*, and the project changes project/otherdir in trunk, that would require a merge from my side.  But I'd be quite happy to just rebase my branch on theirs...01:02
stefanvinstead of merging, I would then again be able to pull01:02
stefanvIf this is all crazy-talk, just point me to the right FAQ, please...01:03
lifelessstefanv: so this is a whole-tree vs partial-tree thing01:03
lifelessstefanv: in CVS each file has its own timeline, so you can 'pull'(update there) and it has to relevance to other files01:04
lifelessstefanv: the same goes for SVN01:04
lifelessstefanv: darcs doesn't really have a timeline, which is why a similar thing works there01:04
lifelessstefanv: for whole-tree systems, like bzr, hg, monotone, git, it doesn't matter which files you edit - concurrent activity requires some action to resolve.01:05
lifelessstefanv: there are different low level tools that can be used, they basically boil down to either /rewrite history/ or /merge the activity/01:05
stefanvlifeless: the problem is that we see many merge entries in our logs, which seem kind of unnecessary.. we would have been happy to just base the branches off the new trunk, if possible01:05
lifelessrewriting history is problematic - it turns tested code into untested code, it makes collaboration much harder01:06
spivRewriting history just to get an arguably nicer presentation seems like overkill to me :)01:06
stefanvspiv: it worries the developers when they see so many merge messages, but maybe that is just a mental block we need to get over.  the idea of a "merge" is still somewhat severe, coming from SVN.01:07
stefanvlifeless: thank you for the detailed answer.01:07
stefanvif merges could take place without conflicts, though, why merge instead of just pulling?01:08
spivBecause pull is a way to update a mirror of a branch.01:09
spivBut if you have a branch with independent changes, it's not a mirror, so it cannot have the same history.01:09
stefanvAh, that makes sense.01:09
spivIf your branch has no new commits in it, then you can use pull.  But then it's not a very interesting feature branch either :)01:10
stefanvDoesn't hg fast-forward?01:10
stefanvspiv: true :)01:10
lifelessstefanv: 'merge --pull' does what 'fast-forward' does01:10
lifelessstefanv: which we put in for folk that enjoy that particular workflow01:11
lifelessstefanv: with respect to merges - merging is what happens when concurrent development takes place01:11
lifelessstefanv: and bzr can't tell that "standard_includes.h" is unable to cause a test failure in "uses_standard_includes.c"01:11
lifelessstefanv: which is why we don't commit it automatically (though you can definitely write a wrapper script if you wanted to)01:12
stefanvlifeless: shouldn't the developer take the responsibility of only merging valid changes in?01:13
stefanvlifeless: bzr can't really protect against that, either way01:13
lifelessright01:15
lifelessall a merge record in the history means is that a developer has done that01:15
stefanvlifeless: is there a way for a developer to hide all those merge records?01:15
stefanvlifeless: i.e. if he wants to say "here is my new feature, but you guys really don't need to know about successful merge attempts"?01:15
stefanvlifeless: or should we just use the --short option for logs?01:16
lifelessIt is possible to write a plugin to hide them from e.g. log. They do have semantic value to bzr (to make merge work correctly for instance)01:16
stefanvLaunchpad doesn't have a very detailed log display, unfortunately.01:16
spivstefanv: out of interest, what does e.g. http://bazaar.launchpad.net/~bzr/bzr/trunk/changes lack that you'd like to have?01:17
stefanvOh, that's fine.01:18
=== kiko is now known as kiko-zzz
stefanvI'm referring to the one displayed on the code page.01:18
spivOh, right.01:18
spivthumper: ^01:19
stefanvIt basically comes down to this: we need to be more careful about labelling merges with mainline.01:19
stefanvWe need to include something like "Merge in MrX's changes to the build machinery." -- to give credit to the developer01:19
stefanvInstead of relying on his name appearing in the "changelog".01:19
thumperhello01:19
stefanvspiv: https://code.launchpad.net/~vcs-imports/libs/main01:20
stefanvspiv: revisions have a tendency not to appear in that display :)01:20
mwhudsonyes, we'd like that to be better01:20
pooliebeuno: are you still here?01:21
stefanvmwhudson: if you could implement the snazzy display we see on a tool like olive, that would kick serious ass01:22
mwhudsonindeed01:22
mwhudsonthat sounds like an .... interesting ... challenge01:23
stefanvwe've moved IPython onto Launchpad... so we're in it for the long haul01:23
mwhudsonone we may even be able to do, but it's a considerable amount of work01:23
spivstefanv: Commits with multiple authors (because it's a merge of many revisions) could be displayed much better by Launchpad.  I think there's work towards doing that, actually.01:23
stefanvspiv: that's great news01:24
spivmwhudson: it shouldn't be *too* hard. </handwave>01:24
LarstiQstefanv: of course, bzr log will still show you all those revisions.01:24
LarstiQstefanv: and if you're merging dev in a feature branch, those revisions will allready be credited earlier on01:24
lifelessLarstiQ: yes, but web uis are more interactive, FSVO inter01:24
LarstiQlifeless: I agree the trunk log page is really bad01:25
mwhudsonspiv: no, that shouldn't be01:25
mwhudsonthough i don't think we have enough data in the launchpad db to make a merge sort trivial01:26
LarstiQlifeless: recently lots of people have been complaining that their revisions get lost in merges. Not sure why that plays up now.01:26
=== bigdo2 is now known as bigdog
ToyKeeperAbout the pull vs merge issue, hg handles it with multiple heads...  you can pull even if diverged, but the changes go to a different head.01:34
ToyKeeperI'm not sure whether that's possible in bzr, or if it's even a good idea.01:35
spivToyKeeper: well, that's just keeping a separate branch01:35
spiv(in bzr terms)01:35
lifelessand in hg terms too :)01:38
stefanvwhen are those heads merged?01:39
lifelessin hg, when you do 'hg merge'01:39
lifeless(which you normally do immediately)01:40
stefanvright... and only then is it really useful...01:40
ToyKeeperIt can basically let you switch between various branches, in the same directory...  work on one head for a while, then a different head, without changing directories.01:43
ToyKeeperI get the impression hg has the feature because git has it, but it seems conceptually simpler to have different directories for different lines of development.01:45
stefanvYes, that sounds like a potential source of confusion.01:45
ToyKeeperI suppose it would be nice for large projects, to avoid having two copies of history, but both bzr and hg have other ways to do that.01:50
spivIt's also nice to avoid rebuilding large working trees.01:51
spivAnd some tools (eclipse is one I think?) also prefer the absolute path not to change, so to work with those tools it can be more convenient to change one tree in place rather than have many trees.01:52
spivSo we have "bzr switch"01:52
ToyKeeperIt'd be nice if launchpad merge requests used a merge directive instead of a branch.01:53
spivthumper: ^01:54
thumperToyKeeper: hello01:54
ToyKeeperIt seems expensive to use O(project history) space for those instead of O(patch).01:54
thumperToyKeeper: we have plans, cunning plans01:54
ToyKeeper:)01:54
thumperToyKeeper: with the new stacking, space will be O(patch)01:54
LarstiQthumper: when does that roll out?01:55
thumperToyKeeper: but also we are considering being able to email Launchpad a merge directive :-)01:55
thumperLarstiQ: we are hoping RSN01:55
ToyKeeperAt first I was sure I was doing it wrong.  :)01:55
thumperLarstiQ: planned release is 1.2.601:56
ToyKeeperWow, that's much sooner than I thought it'd be.01:56
thumperToyKeeper: it is something we have been looking at for a while01:56
mwhudsonspeaking of stacking01:57
lifelessPieter: done01:57
LarstiQthumper: I know it has been discussed much longer.01:57
thumperLarstiQ: that it has01:57
thumperLarstiQ: I think we started talking about it seriously in October last year01:57
LarstiQthumper: oooh, 1.2.5 is current. Cool!01:57
mwhudsoncan someone explain briefly to me the connection between the branches that igc has been sending to the list and the big bundle lifeless sent yesterday?01:57
lifeless"big bundle" heh heh heh01:58
lifelessig1: where is your stacked loom again ?02:01
ig1lifeless: http://people.ubuntu.com/~ianc/bzr/shallow-branch/02:02
stefanvis there a way to apply a bundle, but to assume that the base is the current tree, instead of the one it came from?02:02
=== ig1 is now known as igc
lifelessstefanv: why? doesn't merge do what you want/02:19
beunopoolie, back02:19
lifelessbeuno: I fixed the huge-numbers-of-files things before work this morning02:25
beunolifeless, you're going too fast, I can't keep up  :p02:25
* beuno pulls again02:25
lifelessspiv: is there a bzr-svn python trunk in packs around?02:25
beunolifeless, I have one locally02:25
beunoigc passed it on to me in the sprint02:25
beunowant me to try and index that?02:25
lifelessL02:25
lifelessLWhatever we decide, I think we should at least file a bug for it02:25
lifelessand maybe add some FIXME here and there, so that a newcomer will02:25
lifelesshave a hint or two about what is the way we want things to be02:25
lifelessdone and don't get puzzled by finding several different ways in02:25
lifelessbah, copy n paste garh02:25
lifelessbeuno: yes02:25
spivlifeless: http://code.python.org/python/02:26
spiv(docs at http://www.python.org/dev/bazaar/ should you need them)02:26
beunolifeless, I get: ImportError: No module named transport02:28
lifelessbeuno: argh02:29
lifelessbeuno: pushing a replacement revision now02:29
beunoand indexing...02:36
beunoah, random progress bars!02:38
lifelessthats the inventory walk02:38
beuno~200mb sustained ram usage02:39
beunothat's as much as it takes to just render a 36k diff with LH   :)02:40
lifelesswhat are you indexing ?02:42
beunopython tree02:42
lifelessinteresting; mine is at 585 :P02:42
beunoI haven't passed 201 RES at any point02:42
beunoit sure likes CPU though  :)02:44
lifelessare you running 64-bit or 32 ?02:45
beuno3202:45
lifelessI'm on 6402:45
lifelessI suspect thats the difference02:45
beunoyeah02:45
beunoit just jumped to 21802:45
beunobut it's not that much of a memory hog02:46
lifelesswell it finished02:46
lifelessits tunable easily02:46
lifelessdynamic tuning is harder, because python02:46
lifelesstime bzr search Andrew Bennetts02:47
lifelessFile id '3801@6015fed2-1504-0410-9fe1-9d1591cc4771:python%2Ftrunk:Misc%2FACKS', revision 'svn-v3-trunk1:6015fed2-1504-0410-9fe1-9d1591cc4771:python%2Ftrunk:46995'. Summary: 'No summaries yet.'02:47
lifelessRevision id 'svn-v3-trunk1:6015fed2-1504-0410-9fe1-9d1591cc4771:python%2Ftrunk:39595'. Summary: 'Patches #1298449 and #1298499: Add some missing checks for error'02:47
lifelessFile id '3801@6015fed2-1504-0410-9fe1-9d1591cc4771:python%2Ftrunk:Misc%2FACKS', revision 'svn-v3-trunk1:6015fed2-1504-0410-9fe1-9d1591cc4771:python%2Ftrunk:39595'. Summary: 'No summaries yet.'02:47
lifelessreal    0m1.412s02:47
lifelessuser    0m0.736s02:47
* lifeless goes back to merging big branches02:47
lifelesssys     0m0.096s02:47
lifelessoh, I must say, that having written a search engine now, my respect for evolution--02:48
beunobeuno@beuno-laptop:~/bzr_devel/test_repos/python$ time bzr index02:49
beunoreal10m42.939s02:49
beunouser10m9.302s02:49
beunosys0m3.868s02:49
lifeless4 seconds to search a similar corpus, *in C*02:49
* mwhudson wonders about spotlight hooks on os x...02:49
beunolifeless, 0.5 to search random terms on the python tree.  *very* cool  :)02:50
* beuno goes tackle the nice-url LH branch02:50
=== bigdo2 is now known as bigdog
=== rockstar_ is now known as rockstar
mwhudsonbeuno: so i think bits and pieces from paste will probably be sufficient to make a wsgi app version of loggerhead03:26
mwhudsoni think what's in loggerhead will become two wsgi apps though03:26
mwhudsonone that displays a single branch (replacing BranchView in the current code)03:27
mwhudsonand another that has a browse branches view and dispatches branches to the former app as defined by loggerhead.conf03:28
mwhudson(for compatibility if nothing else)03:28
beunosounds sensible03:28
beunoI'll look into what it will take to replace cherrypy for paste's bits, unless you where planning on doing that03:29
mwhudsonexcept aaaaaaaaaaaaargh03:29
mwhudsonoh, hm03:29
* beuno hides03:30
mwhudsonoh phew03:30
mwhudsoni thought for a moment there that paste shared cherrypy's insanity about %2F's in urls03:30
beunoah, that would close a bug we have laying around03:31
mwhudsonindeed03:31
mwhudsonthat bug is one of the two reasons i want to get rid of cherrypy03:31
mwhudson(it breaks browsing bzr-svn imports)03:31
mwhudson(although the cleaner-urls branch will help there too)03:32
beunoah, right, I hadn't thought of that03:32
mwhudsonthe other is that there's no way of distinguishing _ and . in urls03:32
mwhudsonso if someone registers branches called foo.bar and foo_bar in launchpad, you'll only be able to browse code to one of them03:32
beunothat sounds stupid. That's cherrypy screwing up?03:33
mwhudsonyes03:33
lifelessits a feature!03:33
mwhudsonthe %2f thing is probably stupider fwiw03:33
lifeless%2f is at least a standard03:33
beunoyeah, . _ is odd03:34
beunowhy would it think it's the same????03:34
lifelessor do I not understand the discussion :P03:34
mwhudsonlifeless: no, that foo%2fbar is the same as foo/bar makes sense03:34
mwhudsonlifeless: however with cherrypy foo%252Fbar is the same, too03:34
lifelessoh!03:35
lifelesshmm03:35
mwhudsonbeuno: cherrpy replaces . with _ because it does url traversal with getattr03:35
lifelesstry %252f%25.%25.03:35
beunoah, ew03:35
lifeless(and escape dot, forgotten the asc() value03:35
lifelesstry %252f%2546%254603:36
lifelesssee if you can escape :)03:36
lifeless(double escaping is a great way to have bugs)03:36
lifelessso . and _ for traversal its nuts03:37
AfCOut of curiosity, why does URL escaping have to be user visible at all?03:37
lifelessif you are going to escape, escape properly03:37
mwhudsonlifeless: doesn't seem to work03:37
* AfC is presently doing a `bzr push` and I must admit that seeing03:37
mwhudsonlifeless: but i don't really want to think about it03:37
lifelessmwhudson: minor relief; I'd want to look at the code though TBH03:37
AfCUsing saved location: bzr+ssh://afcowie@master.gnome.org/home/users/afcowie/public_html/bzr/gtk%2B/trunk/03:37
AfCseems ... less than ideal03:38
lifelessAfC: in the general case a url can be in any encoding03:38
lifelessAfC: e.g. that could be in big503:38
mwhudsonlifeless: the code is like this:03:38
mwhudson        # Decode any leftover %2F in the virtual_path atoms.03:38
mwhudson        virtual_path = [x.replace("%2F", "/") for x in virtual_path]03:38
AfCUm, if you say so.03:38
lifelessAfC: the short story is, its a bug in std6603:38
lifelessthey could have said 'its utf8', instead they recommend that providers (e.g. your server) use utf8, but consumers are told 'it is opaque'03:39
AfCAll I know is I wrote "gtk+" and know that the directory I am in is named "gtk+" and the one I am pushing to is named "gtk+".03:39
lifelessI'm kind of surprised + is being escaped, offhand03:40
lifelessI'd need to check the BNF03:40
lifelessAfC: thats because you're on linux going to linux, and all the systems are running locales whose language is one where + maps to 2B.03:41
lifelessAfC: it can easily get extremely feral03:41
AfCstill don't know why %2B has to be shown to a user.03:42
lifelessthe options are:03:42
lifeless - the url (7-bit data, safe to present)03:42
lifeless - the decoded url (8-bit data, unknown encoding)03:43
mwhudsonwhile i'm whinging about loggerhead, why in the world is http://bazaar.launchpad.net/~mwhudson/pydoctor/dev/changes/1111 a 500?03:43
lifeless - use heuristics on the decoded url to get a unicode string)03:43
* mwhudson goes off to do more useful things03:43
lifelessrunning full tests on this merged stacked branch now, first thread03:44
AfCMy locale is en_CA.UTF-8. That should be more than sufficient to present characters like ' ', '+', and '~'.03:44
lifelessbut its not your locale that the url is it03:45
lifelessis *in*03:45
lifelessits in the locale of the process of the remote server03:45
AfCJust seems it would make for a nicer UI for mere humans. Bazaar likes to be good at that sort of thing, so I hear.03:45
lifeless*at best*03:45
lifelessindeed, and I raised this on the http wg list03:45
lifelessbackwards compatibility I hear03:45
lifelessAfC: I'm saying  I would like to do better, but we also try to be correct, and there is a tension here - some things are harder than others03:47
lifelessmtaylor: ping04:00
beunomwhudson, sent the clean-urls patch04:17
beunoat some point, I'd like to fit in a good week or two of work to just cook up tests04:17
mwhudsonah yes04:18
mwhudsonthat would be really really nice :)04:18
beunofor which, btw, we have one failing in trunk04:19
mwhudsonah dammit04:19
mwhudsonit's the diff truncation one isn't it?04:19
beunoyes  :)04:19
beunoaaaand, I'm off for today04:23
lifelessbeuno: gnight04:24
beunomwhudson, let me know if you need any changes to the clean-urls patch. I'll check back in a few hours04:24
mwhudsonbeuno: the navigation links still use ugly urls04:25
mwhudsonbut i like it :)04:25
beunolifeless, night!  I've been thinking of several ways to tackle the re-indexing problem, so I may give it another shot if I get my hands on some free time04:25
beunomwhudson, argh, I forgot to pass that on from my first branch04:26
beunoI *really* need to clean up my LH branches04:26
lifelessbeuno: yah, my lunch at the moment04:26
lifelessbeuno: I'm actually just about to do it once I finish putting everything into single packs04:26
beunolifeless, ah, cool. I'll keep my eye on it, and use that time to get it workin in LH  :)04:27
mwhudsonbeuno: and clicking the 'browse files' link in the annotate view breaks04:27
lifelessbeuno: I'd love to have bzr-gtk/bzr-eclipse/loggerhead start having use of it04:27
lifelessbeuno: users -> drive interfaces04:27
* igc lunch04:28
beunomwhudson, that's odd. I didn't touch that...  let me poke at it04:28
beunoah, that's why it breaks. I didn't touch it  :)04:29
mwhudsonyou took the clear=1 out04:29
beunoyeap04:30
beunoI'll do another pass at changes against trunk04:31
* Verterok looking if eclipse have a extension point for the search actions04:31
mwhudsonbeuno: but thanks heaps for doing this :)04:32
beunomwhudson, glad to04:32
beunoI hate the way we handle URLs though04:32
beunowe shouldn't have to explicitly have to tell it not to drag the values...04:33
mwhudsonyes04:36
Verteroklifeless: as far I can see, bzr-search integration into bzr-eclipse don't  look too difficult :D04:37
lifelessVerterok: cool04:37
beunomwhudson, sent the patch with the fixed clear=1. I'll get the navigation links working tomorrow, as my patch doesn't apply cleanly, and I'm already 20 minutes late  :)04:38
* beuno waves at Verterok 04:38
Verterokif I can get some spare time, I'ld try to get a working prototype04:38
* beuno -> out04:39
mwhudsonbeuno: bye04:40
Verterokg'nigth beuno04:40
lifelessVerterok: that would be pretty damn cool :)04:41
Verteroklifeless: indeed :)04:42
VerterokI'll try to do it as an extension to bzr-eclipse...so it 'll be completely optional04:43
lifelessyeah, thats a good idea ;)04:43
Verterokand 'll make my life a lot easier than trying to include it in bzr-eclipse  :)04:45
poolielifeless, spiv, i'm going to talk to spiv then jump into reviews05:10
pooliestarting with spiv's resubmitted test patch then the big mutha05:10
mwhudsonlifeless: do you want to hear about some typos in BUGS in bzr-search?05:15
mwhudson"does not component components." and "does not component components."05:16
mwhudsonno05:16
mwhudson"requires nearly 200B of memory"05:16
lifelessis MB mega bytes or bits. I forget, continuously05:16
mwhudsonbytes, according to teh wiki05:17
lifelessanyhow thanks done and pushed05:23
lifelesspoolie: igc: the "Development1" patch is the one that needs to change to support stacking on VersionedFiles05:23
igcthanks lifeless05:25
lifeless(and thus the one I would hesitate to land until thats done)05:25
lifelessI'm writing the mail I promised now05:25
poolielifeless:  easy mnemonic: "B" is bigger than "b"05:45
lifelessI'll try05:46
lifeless:)05:46
PengRe Loggerhead templates, what about Jinja? Or Jinja2? It's not tree-based, but it is supposed to be fast.06:47
Pengmwhudson_: Eek, lp:loggerhead doesn't use packs?06:49
mwhudson_Peng: no, haven't got around to upgrading it06:50
lifelessmwhudson_: bzr upgrade sftp:// do it now :P06:50
mwhudson_jinja made my eyes bleed on an 0.1 s impression06:51
mwhudson_lifeless: on *my* connection after 17:30 ?06:51
lifelessyeah, its a small branch06:51
* Peng just spent almost 5 minutes pulling new revisions over http. :P06:51
lifelesskick it off and forget about it06:51
mwhudson_Peng: one of them was huge i suspect06:51
mwhudson_the zpt-templating merge merged over 100 revisions06:52
lifelessor better yet, screen + devpad06:52
mwhudson_lifeless/Peng: done06:56
Peng:)06:58
PengAlso, my copy had a few inconsistent parents that reconcile can fix.07:01
mwhudson_Peng: i reconciled trunk too, thanks for the pointer07:05
Peng:)07:07
mwhudson_(from a machine in the data centre :))07:07
=== mwhudson_ is now known as mwhudson
PengHeh, that's cheating. :P07:09
pooliei'm reading igc's "Development1 format"07:13
lifelesspoolie: thats the one I'm now editing07:14
lifelesspoolie: its the one that has to change07:14
Verteroklifeless: just a quick hack, but is a proof that can be done :-) http://guille.beuno.com.ar/images/bzr-eclipse-search-fullscreen.png07:14
lifelessVerterok: oh man, that rocks07:15
lifelessVerterok: would you prefer to do hit summaries yourself?07:17
lifelessVerterok: e.g. do you want a minimal output of just the keys, or do you want the humanesque output it generates at the moment07:17
AfCVerterok: *nice*07:18
AfCVerterok: excellent place to put it.07:18
AfCI told you about those slanty tabs, though :)07:18
lifelessbtw, at my lunch I stabilised the disk format07:18
lifelessits now unlikely to change until major feature changes - like extreme scaling work, or phrase searching, that sort of thing07:19
Verteroklifeless: I was planning to write a xml output so I can integrate it more easy07:19
lifelessVerterok: that would be lovely. I'd be delighted to include that in the plugin07:19
lifelessVerterok: either as a separate command or an option07:19
Verteroklifeless: great. so, that's my next step07:20
lifelessI'm calling it a day for /work/. been paging back in stacking and my mind has melted07:21
Verteroklifeless: I'll draft an xml format and send it to the list07:22
lifelesscool07:22
lifelessI would suspect that only returning the document keys is most appropriate07:22
lifelessyour existing bindings for getting file texts and revisions and so on should be more than adequate to generate summaries in eclipse itself07:22
lifelessbut you know more than me about that; so please feel free to specify what you'd like most:)07:23
Verterokactually, the current bindings call bzr07:23
Verterokbut the upcoming xmlrpc service that should be a lot easier07:24
Verteroks/but/but with/07:24
lifelessexactly07:24
Verteroklifeless:  keys == revid, I'm right?07:30
lifelessVerterok: see DESIGN07:31
lifelessVerterok: ('f', FILEID, REVID) for instance07:31
Verterokok, thanks!07:31
lifelessis a file hit at a particular revision id07:31
lifeless('r', '', REVID) is a revision hit07:31
=== gour is now known as gour_away
VerterokI'm slowly getting it :) thanks07:32
VerterokI'm off for today07:34
* Verterok heading to bed07:34
Verterokseeya07:34
lifelessnight07:36
=== mwhudson__ is now known as mwhudson
uniscripthi there09:35
uniscriptI have two repos: A & B with email interaction only. A is at rev 3, B was at rev 3 but now is at rev 7. How do I create a bundle to update A to rev 7 from B without access to A?09:35
* igc dinner09:36
uniscriptcd B && bzr bundle . -r 3..7 ; doesn't cut it because there is nothing much in the bundle since bzr says: well I have the files why put them in the bundle?09:38
lifelessKinnison: have you seen bzr-search?09:46
Kinnisonlifeless: I've not, is this your new indexy thingy for bzr? If so, what is it meant to do?09:48
Kinnison(I saw your blog posting about databases but unfortunately couldn't come up with anything useful)09:48
lifelessKinnison: https://launchpad.net/bzr-search09:49
lifelessKinnison: enjoy09:49
* Kinnison has been following the threads about stacked branches with interest09:50
KinnisonHmm, bzr-search looks amusing, but I can't think of anything particular to do with it right now09:50
* Kinnison writes it on his white-board to think about09:51
uniscriptsounds interesting, where might I find a summary on stacked branches and where things are up to?09:51
lifelessKinnison: its a replacement for bzr log --message, bzr grep, amongst other things09:51
lifelessKinnison: also annotate09:51
lifelessKinnison: I've been thinking about the annotation problem for a bit, and I think annotate is just a very crude search09:52
Kinnisonhmm, I guess09:52
* Kinnison needs coffee before he can think about this in detail09:52
lifeless:)09:52
* Kinnison goes to see if the machine has finished making black heaven09:52
Kinnisonlifeless: any specific bzr requirements for the plugin?09:58
lifelessnah09:58
lifelessI mean, I've only tested with .dev, but its darn generic09:58
* Kinnison will update his .dev anyway09:58
Kinnisoncoo, branching from launchpad requires SSH09:59
* Kinnison removes the air-gap firewall from between his PC and his SSH keys to try again10:01
lifelessnah, its just because it knows you10:01
lifelessif it didn't it would do http10:01
Kinnisonpity it doesn't either fallback10:02
Kinnisons/either/10:02
lifelessI believe there is now a bug open10:02
Kinnisonheh10:02
* Kinnison wonders why his key hasn't mounted10:02
lifelessnot enough ponies10:03
Kinnisonit's as though hal is not responding10:03
fogHi, I have a little problem with "bundle"...10:11
fogI have the branch of a friend locally (call it X) and i merged from him into my branch (call it Y)10:11
fogthen I did some changes to my branch, now I want to send him the changes...10:11
fogsincerely from the docs I don't understand what the submit and public branches are... :(10:12
Kinnisonlifeless: I've decided that my best bet for trying this search tool on a respectable codebase is to make a branch of one of our projects at work10:12
Kinnisonlifeless: so bzr-svn is currently amusing itself with our svn server10:12
james_wfog: you probably want "bzr send ../X"10:14
james_wthe submit branch is the branch that you are wanting to submit your changes to10:14
james_wthe optional public branch is a public location where your branch can be accessed if the other person would like to merge from that instead10:15
james_w(or it allows you to do --no-bundle)10:15
fogjames_w: ah.. I understand. thank you very much.10:17
fogjames_w: mm.. why bundle bundles my shelved changes?10:17
lifelessKinnison: ok10:18
lifelessfog: you have committed them I think :P10:18
james_whi lifeless10:18
foglifeless: nope, I just shlved them.10:19
james_wsend doesn't use the working tree, so that would be very strange.10:19
fogjames_w: something is not working.. because I forgot to commit my changes but they appear in the bundle (togheter with the shelved ones...)10:20
fogok, let me restart with a clean tree...10:20
Pieterlifeless: I'll check it out then :)10:21
Pieterif I've done a bzr pull, how can I get a log showing only the changes that were pulled?10:22
fogjames_w: ok, I branched my fried branch, copied the modified files,commited and sent. it worked, thanks.10:23
=== gour_away is now known as gour
lifelessPieter: after the pull no; you can do 'bzr missing' before the pull, or note the revision number before you pull and do log -r $number..10:25
Pieterhmm, too bad10:25
lifelesssomething for us to improve on10:26
lifelessits actually a little tricky :/10:26
lifelesshmm, I should teach commit-notify to include all the changes in a gui window10:34
lifelessspiv: lets talk tomorrow about the tuple keyspace10:35
Pieterlifeless: it's done already10:46
Pieternice10:46
lifelessPieter: cool10:50
lifelessPieter: now try searching :)10:50
PieterI did.. it's pretty fast :)10:50
lifelesspure python FTW10:51
=== gour is now known as gour|away
lifelessPieter: cool, well it works and is fast :) not much more to say really, except that I love feature requests, ui tweaks, and patches :)11:03
Pieterlifeless: it'd be nice to see the context a string is found in :)11:08
lifelessyeah a summary11:10
lifelessI have some plumbing to do11:10
lifelessI want the core of the system to be really robust11:11
lifelessfire n forget level11:11
lifelessthen I'll look at that; unless someone beats me to it11:12
lifelessbe good to do hits on deletes too, but our deltas don't record that (they are not reversible deltas)11:13
lifelessone of the reasons its half decent at indexing is not doing diffs11:14
Pieterdato: if you're trying to export a parentless commit for the same branch, it's easier to just do a "reset refs/heads/branch" than creating a temporary branch11:24
Pieter(in bzr-fast-export)11:24
* lifeless kills npviewer.bin again12:30
jelmerlifeless: did you see my reply about pqm?12:50
lifelessjelmer: yes, and its moving now12:50
jelmerlifeless: cool12:51
jelmerlifeless: is there any branch with your versionedfile API changes available ?12:53
jelmerlifeless: in particular the removed API functions, so I can make sure the rebase, svn and remove-revisions plugins keep working for 1.612:53
lifelessjelmer: yes,the one in the bundle header12:53
lifelessI'm pushing it again to be sure now12:54
Kinnisonlifeless: should I expect a progress bar from 'bzr index' ?12:54
Kinnisonlifeless: 'cos it's sat not showing me anything, having pegged one of my CPUs12:54
lifelessKinnison: no, UI comes lastish12:55
Kinnisonkay12:55
Kinnisonoooh, done now12:55
Kinnisonthat was actually quite quick, for indexing this codebase over 6000 revs12:55
Kinnisonbut the search output is perhaps not as nice as it could be12:56
* Kinnison picks his way through some results12:56
lifelessyes12:56
lifelessthere are two big problems with searching12:56
lifelesswell three12:56
lifelessselecting good results12:56
lifelessselecting a good number to show12:56
Kinnisonnod.12:57
lifelessoh yeah, and showing the results nicely12:57
james_wI'm halfway through a merge, and I want to find out what the remaining changes in my working tree are compared to the branch that I just merged, is there a way to do that?12:57
KinnisonFile id '3720@507b4074-7016-0410-bdd2-fba35d1e0378:import%2Fable%2Ftrunk:core%2Fsystem%2Fmachine%2Fvr1000%2Fvr1000.c', revision 'svn-v3-trunk2:507b4074-7016-0410-bdd2-fba35d1e0378:projects%2Fable%2Ftrunk:11722'. Summary: 'No summaries yet.'12:57
Kinnisonthat's *so* not a useful result12:57
lifelessI don't claim that this does any of them :P12:57
Kinnisonand yet, does tell me what I would need in order to look12:57
lifelessKinnison: yah, index.py if you want to improve the output12:57
lifeless(the display I mean, I'm not asking for folk to solve the really hard bits for me)12:58
Kinnisonheh, it's 13:00 and today I've done exactly 20 minutes of the work I was meant to so-far12:58
* Kinnison had a potential-customer-based-diversion :-(12:58
james_wah, bzr diff --old other-branch, seems to be what I want.12:58
lifelessKinnison: well, that means this diversion can keep you entirely distracted13:00
Kinnisonsuch a wonderful offer13:01
Kinnison:-)13:01
=== Mez is now known as Mez|DPC
mtaylorlifeless: dude. even just removing the .bzr/bzr-search dir to try your new patch is taking FOR EVER14:59
ricardokirknerhi everyone15:27
ricardokirknerhow can I debug the bzr+http protocol?15:40
ricardokirknerI am getting some errors, and I want to find out exactly where this is happening in the code15:40
mtaylorricardokirkner: I'm guessing tcpdump isn't the answer you're looking for15:41
ricardokirknerno, actually I want to find out what part of the bzr code is responsible for handling the bzr+http protocol, so I can set a breakpoint there and go step by step until I find the line that is causing the problem15:42
ricardokirknerI think the smart/server.py file is responsible for bzr:// protocol, does it also handle bzr+http?15:42
james_wricardokirkner: yeah, I think so15:49
james_wadding -Dhpss to the command line will print more information to your ~/.bzr.log15:49
PengWait...bzr with https doesn't verify SSL certs, does it?15:49
ricardokirkneryes, I did that, but it didn't give me useful information15:50
ricardokirknermaybe you know what might be happening... I am getting an error response15:50
PengYou could -Dhttp too.15:50
ricardokirkner'module' has no attribute 'ElementTree'15:50
PengUm.15:50
PengFrom which side?15:50
PengAnd, that's not supposed to happen.15:50
james_wricardokirkner: ah, that sounds like the module is being replaced by another from somewhere else.15:50
ricardokirknerI am using python2.4 here, maybe this might be because I have elementtree and cElementTree installed?15:51
ricardokirknerthe strange thing is.. this happens only when using the smart server over http15:53
ricardokirknerbut not when using the smart server directly15:53
=== ja2 is now known as j1
=== j1 is now known as jam
ricardokirknerand, when using over http, this happens only when I access a second repository (it works ok with the first repository hit, regardless of which one it is, but breaks with the second, regardless of which)15:54
james_wyeah, from your description it sounded like apache was swapping somehthing around15:54
ricardokirknerjames_w, so maybe apache is modifying the PYTHONPATH variable? that might be the reason?15:54
james_wsomething like that15:55
james_wor even possibly playing around with the loaded modules15:55
james_wI'm not familiar with apache and python though, what method are you using for running the python?15:55
james_w(mod_python, fastcgi, etc.)15:56
ricardokirknerthe server is running several trac instances, so I guess it's using mod_python... originally I was using mod_python for my bzr wsgi interface, but according to some issues with that I tried to use mod_wsgi directly (which is what I am using now)15:59
james_wis there something you can turn on in python to get debugging info about imports?16:00
jamjames_w: well there is "bzr --profile-imports" :)16:00
james_whi jam16:00
jamthere is a script 'profile_imports.py' in the bzr source tree16:00
jamyou could adapt that if you want16:00
james_wis there any chance that lazy_import could be messing with this?16:01
jamI don't really know about working on it with apache, etc16:01
jamlazy_import is only used explicitly16:01
jamit doesn't cause other things to be lazily imported16:01
jamso it is unlikely, though always possible16:01
ricardokirknerI just turned mod_python off in the web server, and bzr started working, so this is a compatibility issue with mod_python somehow16:02
ricardokirknerups16:03
ricardokirknernot16:03
ricardokirknerstill broken16:03
ricardokirknerok, this is absolutely beyond me... the error is hapenning at the line with16:30
ricardokirknerelementtree.ElementTree._escape_attrib = _escape_attrib16:30
ricardokirknerjust before that line I did log the elementtree.__file__ and elementtree.__path__ values16:30
ricardokirknerand on both calls (the one that works, and the one that don't) it returns exactly the same value16:31
james_wricardokirkner: can you add a log of dir(elementtree) as well please?16:34
ricardokirkneryes, just wait a second16:34
jamricardokirkner: it could easily be that one of them didn't import "elementtree.ElementTree"16:37
jamwhich is actually a module IIRC16:37
ricardokirknerok... now I found a difference I didn't saw before16:37
jamthe class is actually. elementtree.ElementTree.ElementTree16:37
ricardokirknerthe first time (the one it works) it outputs as __path__ /usr/lib/python2.4/site-packages/elementtreeElementPath16:38
ricardokirknerwhile the second time it outputs /usr/lib/python2.4/site-packages/elementtree__builtins__16:38
fredreichbierelementtree is xml.etree.ElemenTree afaik for python2.516:38
fredreichbier*Element16:38
ricardokirknerthe __file__ variable is always the same16:38
jamricardokirkner: i think the file is based on the .pyc file16:38
jamwhich may have been pre-computed in a different directory16:38
ricardokirkneryes16:38
jamso if I compile a file and then move the .pyc it remembers the old path16:39
ricardokirknermhhh.... are you suggesting I should remove the .pyc file and let it be regenerated?16:40
ricardokirknerok, again... the previous was incorrectly pasted together16:42
ricardokirknerin both cases I get both __file__ and __path__ to be the same16:42
ricardokirknerbut.. in the first case, dir(elementtree) outputs ElementPath and ElementTree while in the second case it doesn't16:43
ricardokirknernow. how can that be?16:43
jamricardokirkner: because they are sub-modules that aren't imported yet16:45
jamthey are *not* classes that are in the 'elementtree' file16:45
ricardokirknerbut I am executing the same line at the same point in execution time16:46
jamsomeone needs to do "import elementtree.ElementTree" first16:46
jamricardokirkner: it sounds like it is a race with something else that is doing the import for you16:46
ricardokirknermhhh16:46
=== kiko is now known as kiko-fud
jam!paste16:47
ubottupastebin is a service to post multiple-lined texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu.com (make sure you give us the URL for your paste - see also the channel topic)16:47
jamricardokirkner: you might try this:16:47
jamhttp://paste.ubuntu.com/19664/16:47
jamit looks like we have our own possible import race16:48
ricardokirknerjam, I did something like that, and it appears to have worked.. but on that  issue16:48
ricardokirknerafter importing the parts from cElementTree16:49
jamdepending on if cElementTree imports elementtree.ElementTree16:49
ricardokirknershouldn't it be importing cElementTree as elementtree16:49
ricardokirknerinstead of importing of elementtree?16:49
jamricardokirkner: no, they don't have the same objects16:49
jamin the past, cElementTree used specific objects out of elementtree.ElementTree16:49
jam(like elementtree.ElementTree.ElementTree)16:50
ricardokirknerjam, what I did is http://paste.ubuntu.com/19666/16:51
ricardokirknercan you tell me what is wrong with that ?16:51
jamricardokirkner: the second "from elementtree import ..." is importing from the *real* elementtree16:51
jamcElementTree doesn't have a sub-module ElementTree16:51
jamit has a *class* ElementTree16:51
jamricardokirkner: elementtree's disk layout is a bit.... psyco16:52
jamthere is a class... called ElementTree16:52
jamavailable as either16:52
jamcElementTree.ElementTree16:52
jam*or*16:52
jamas  elementtree.ElementTree.ElementTree16:52
ricardokirknerbut, if I imported cElementTree as elementtree, after that, referencing elementtree shouldn't be pointing to cElementTree , actually hiding the old elementtree?16:52
jamricardokirkner: no16:52
jamthe *local variable* is pointing there16:53
jambut "from XXXX import YYYY" doesn't look at local variables16:53
jamit looks at "sys.modules"16:53
jamwhich contains the "real" names16:53
jamthe patching you see later on16:53
ricardokirknerjam, alright, that was confusing for me, but if you say so, I will take your word on that until I can look into it a bit further to grasp why that is so16:54
jamis also touching the *module* 'elementtree.ElementTree' not the class "elementtree.ElementTree.ElementTree"16:54
jamso doing "import cElementTree as elementtree" doesn't give us the module where we expect to find it16:54
jamhttp://paste.ubuntu.com/19664/ is all you should need to do16:54
ricardokirknerso, forcing the import of elementtree.ElementTree after importing elementtree could be an option, right? (I mean, this isn't so bad as not be considered as a patch for next release?)16:55
jamricardokirkner: I was going to submit it right now16:55
jamfor review16:55
ricardokirknerok, then I am applying it right now, so I can get back to work :-)16:55
ricardokirknerthank you very much16:55
ricardokirknerit was kind of hard to trace for me, so the help is very much appreciated16:56
jamI'm happy to help when I can17:01
=== kiko-fud is now known as kiko
wingo-tpgood day. i seem to be experiencing the KnitCorrupt bug from https://bugs.launchpad.net/bzr/+bug/234748, when running bzr check or bzr upgrade, but it is still there even with newest bzr. bzr reconcile fails also17:19
wingo-tphas that fix actually been merged to bzr.dev?17:19
ubottuLaunchpad bug 234748 in bzr "Knit inventory corrupt in bzr.dev with bzr.dev r3452 (KnitCorrupt)" [High,Fix released]17:19
wingo-tpit seems that it has...17:20
vilajam: ping, bzr-commits disagree with that bzr revno http://bzr.arbash-meinel.com/branches/bzr/1.6-dev/annotation/ says >-/17:20
vilaI wanted to have a look but it seems that you don't push there ? How come the bzr-commit mails can diverge ?17:21
vilajam: I'm more interested in looking into your stuff that understanding the divergence, so a push or a correct url will be enough :)17:21
jamvila: I don't automatically push anymore, but I'll do a push right now17:22
vilajam: thks17:22
jamthere is a small bug I need to commit a fix for, give me a sec17:23
vilaa whole minute even...17:24
wingo-tpahem. does anyone know what might be up with the KnitCorrupt thing/17:33
wingo-tp?17:33
jamvila: 2 bits, I'll be doing the real work on the 'annotation' branch17:34
jambut you may want to grab annotation_policy_cmd17:34
jambecause it exposes 'bzr annotate --policy=XXX'17:35
jamwingo-tp: there are different variations on what causes KnitCorrupt to be raised17:35
jamsometimes it is genuine disk corruption17:35
jamthe specific case listed in that bug has been fixed17:35
jamDo you know if that is what you are experiencing?17:35
vilajam: for a start, I want to have a look at the tests adaptation/application since lifeless said he want to get rid of all classes17:36
wingo-tpjam: i pulled from bzr today, so if that bug is fixed, it is not the bug that i am experiencing17:36
wingo-tpdisk corruption would be the badness17:36
jamwingo-tp: are you seeing "Knit *inventory* corrupt"17:36
jamor just "Knit Corrupt" ?17:36
jam(do you have the traceback to paste)?17:36
jam!past17:36
ubottuFactoid past not found17:36
jam!paste17:36
ubottupastebin is a service to post multiple-lined texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu.com (make sure you give us the URL for your paste - see also the channel topic)17:36
wingo-tpi do have it, /me goes to pastebin17:37
wingo-tphttp://paste.ubuntu.com/19674/17:38
jamwingo-tp: any chance you would have had 2 conversions of the arch tree17:39
jampossibly with one of them having more history than the other?17:39
wingo-tpperhaps it had something to do with the fact that it was imported from arch a long time ago, but i have upgraded it since -- i first saw this error when trying to upgrade to ricj-root-packs17:39
wingo-tpjam: this is possible, i suppose17:39
jamwingo-tp: so what it *could* be, is that at one point you did a conversion with a different amount of history17:40
jamwhich caused the "last-modified" fields in the inventories to differ17:40
jamat some point after that, the branches were merged together17:40
jamand they didn't notice that the inventories they were referencing had a different text17:41
jamand so they pulled across a delta which technically only applies to the *other* base17:41
jamand thus when applied to this base, the sha-1 doesn't match17:41
jamI would have thought you would encounter the error sooner rather than later17:41
jamI probably can hack something together as a workaround, but a real fix is probably a bit involved.17:42
wingo-tpodd.. i mean, i can bzr log all of the branches in this repo17:42
jamwingo-tp: we don't need inventories to do 'bzr log'17:42
jamjust revisions17:42
jamdifferent place17:42
wingo-tpok17:42
jamif you did "bzr log --verbose"17:42
jamThen you would probably get the failure17:42
wingo-tpindeed i do get the failure17:43
wingo-tpafter a merge with another arch branch17:43
jamwingo-tp: is this a recent conversion?17:43
wingo-tpno it is not17:43
wingo-tpabout august 200617:43
jamwingo-tp: is this a recent merge of that other branch, though?17:44
wingo-tpjam: nope17:44
jamthe guile-gnome-pkg--release--0--base-0 branch?17:44
wingo-tpno, i completely left arch around august of 200617:44
jamI'm talking mostly about a branch derived from that revision17:44
jamnot merging that revision specifically17:44
wingo-tpand have not done merges from other branches that hadn't been forked off of this one17:44
wingo-tpi guess what you are saying is possible, but i don't think so.17:45
jamwingo-tp: I'm just trying to figure out why you are hitting it *now* rather than earlier17:46
wingo-tpjam: well, i've never run bzr check before17:46
jamdo you have any idea of things that have been happening recenty?17:46
jamoh, well I suppose that might do it17:46
wingo-tpso if a previous bzr upgrade happened and did not run bzr check...17:46
jamif you never access that revision, it wouldn't ever find it broken17:46
wingo-tpthat very well could be17:46
jamspecifically, we check sha1 sum whenever we extract the full text17:46
jambut you may have never needed to do that17:46
wingo-tpright17:46
jamI'm guessing you have a very small few nodes that are effected17:47
jamand it is restricted to a specific local part of ancestry17:48
jamwingo-tp: how high of a priority is this for you, as in, does it block something you are trying to do?17:48
jamI don't have a lot of time to write a workaround right now, unless you really need it17:49
jamwingo-tp: but I *would* ask you to submit a new bug17:49
jamif you can, link to the branch that shows the problem17:49
wingo-tpjam: i can wait a while, i think;17:50
wingo-tphow do you think this will affect people who have checkouts of this branch? they will have to re-pull, no? will all the sha1's be different, like in git?17:50
wingo-tpit's  http://arch.gna.org/guile-gnome/bzr/pkg/17:51
jamwingo-tp: only a few local sha1s will be changed17:51
jamI'm not sure how we would be able to propagate that to everyone17:51
jamit shouldn't change the whole ancestry17:51
wingo-tpi should just tell everyone to branch again, no?17:51
jamwingo-tp: they would have to clear out any repository that they have17:52
wingo-tpok17:52
jamIt is probably easier to just have them all run whatever fix I come up with17:52
wingo-tp(thanks for looking at this, btw)17:52
jamanyway, time for me to go to lunch17:54
wingo-tpbug #23949918:00
ubottuLaunchpad bug 239499 in bzr "corrupt knit index on an old arch-imported bzr repo" [Undecided,New] https://launchpad.net/bugs/23949918:00
wingo-tptx much!18:00
Tsmithhey18:02
TsmithI have a main trunk/ and a branches/tsmith;  I want the changes in trunk/ to be applied to tsmith/ how do i do this?18:03
james_whi18:04
james_wdo this:18:04
james_wcd branches/tsmith18:04
Tsmithk18:04
james_wbzr merge ../trunk18:04
james_wresolve any conflicts18:04
james_wbzr resolve18:04
james_wbzr commit18:04
Tsmith6: tsmith 2008-06-12 Merge with trunk -r4.18:06
Tsmith5: tsmith 2008-06-12 Change file perms to 0664 and ownership to tsmith:users.18:06
Tsmithis that right?18:06
Tsmithdoes each branch have a unique -r #?18:06
Tsmithbzr is so friggin awesome :O18:08
pickscrapeOT: Would I be right in thinking that https://bugs.launchpad.net/php is the correct place to report bugs that only affect php on ubuntu?18:15
Tsmithhey what does bzr switch do?18:16
Tsmithor better: where's  the doc? :p18:16
pickscrapeTsmith: http://doc.bazaar-vcs.org/latest/en/user-reference/bzr_man.html#switch18:18
Tsmithgreat stuff18:18
james_wpickscrape: https://bugs.launchpad.net/ubuntu/+source/php518:21
james_wTsmith: each branch doesn't have unique revision numbers, however, they do have unique revision ids18:22
james_wTsmith: if you do bzr log --show-ids in your branches/tsmith branch then you will see the unique ids that they are assigned18:22
Tsmithahhhh18:22
james_wyou will also see the revisions from the trunk that you did not have before the merge indented under the merge commit, indicating that they were merged in there.18:23
james_wyou will also see that they have a three digit revision number.18:23
Leonidasis there a way to mark a branch as "merged, please don't try to merge again"?18:23
pickscrapejames_w: thanks. So it's the *ubuntu* project, not the PHP one.18:24
Tsmithrevno: 3.1.118:24
james_wthis means that you have the same revision on trunk and your branch, they have the same revision id which means they are the same. They have different revision numbers though.18:24
james_wso if you want to talk about a specific revision then either use its revision id, or use the revision number *and* the branch in which it has that number.18:25
james_wpickscrape: yup.18:25
james_wLeonidas: nope, but if you try and merge again it will tell you that there is nothing to do.18:26
jelmerjames_w: hi18:26
pickscrapejames_w: how would I browse there? In other words, how should I have found that myself?18:26
Leonidasjames_w: yeah, thats probably good enough.18:26
pickscrape(Sorry for the continued OT)18:26
jelmerjames_w: did you see my patch that added support for +bzr in bzr-builddeb?18:26
james_whi jelmer18:27
Tsmithi'm sorry to bug you guys so much, but I wwould like to now push my local repository to my server.  What do i do so that only the bzr repository and not all the files in it are on the server?18:27
james_wjelmer: yup, thanks for sending it, I shouldn't have missed it. I'll merge it tomorrow.18:27
james_wpickscrape: I'm not sure, if you knew you wanted to file a bug against Ubuntu then starting at the Ubuntu project may have been right. Launchpad isn't all about Ubuntu.18:28
james_wpickscrape: though these projects that are there but not used by the upstreams do confuse matters somewhat.18:29
jelmerjames_w: cool, thanks18:29
james_wTsmith: that will happen by default. Normally people ask why it doesn't happen the other way round :-)18:29
james_wTsmith: do you have bzr installed on the server?18:30
Tsmithyes18:30
james_wTsmith: cool, "bzr push bzr+ssh://server/location/on/server" should get you what you want.18:30
james_wTsmith: though you may want to set up a revision storage area there first which will make it more efficient to push multiple branches.18:31
Tsmiththat'w hat i want18:31
james_wTsmith: (as an aside, I'm not sure if you are aware, but bzr doesn't care what you call your branches, so you don't need trunk/ and branches/ you can call them not-trunk/ and tsmiths-not-a-branch/ if you like)18:32
Tsmithyeah18:32
james_wok, to do that then you need the "bzr init-repo" command.18:32
james_wbzr init-repo --no-trees bzr+ssh://server/location/for/repo/18:32
Tsmithgot it!18:32
james_wthis creates a "shared repo". shared isn't about multiple users, it's about sharing revision storage between branches for efficiency.18:33
james_wnow, any branch that you push below /location/for/repo/ on your server will store it's revisions there, so when you push a new branch it will only have to push any revisions that aren't already there, which should be a lot less work.18:34
james_wyou may wish to set one up on your local machine as well, as it makes things like branching quicker, as well as reducing disk space usage.18:34
Tsmithk18:34
james_wif you do that then don't use --no-trees, as you do want the branches to have working trees, so you can actually get some work done.18:35
Tsmithi have a dummy question18:35
Tsmithi have a local repo w/ two branches18:35
james_wdoing that in your existing area won't make the existing branches use the shared storage though, I can explain how to get around this if you like.18:35
Tsmithi have pushed the main repo successfully, after following your instructions.  do i now need to push the branches too?18:35
james_wyou ran "bzr push" while in trunk/?18:36
Tsmithyes18:36
james_wok, so you pushed the trunk *branch* up18:37
Tsmithyes that's right18:37
james_wbzr works on branches, not on repos18:37
Tsmithk18:37
james_wso you have only pushed the revisions that are needed for trunk, if you want your branches to be available on the server as well then you need to push them separately.18:37
Tsmithk18:38
=== BasicPRO_ is now known as BasicOSX
=== mw is now known as mw|food
Tsmithis there the oposite of .bzr/ignore? i only want to show *.php *.inc, etc.19:29
PengUsing a complicated regexp perhaps?19:32
=== bigdo2 is now known as bigdog
=== BasicPRO is now known as BasicOSX
mtaylorTsmith: just don't add anything but the *.php and *.inc in the first place?19:57
mtaylorTsmith: like "find . -type f -name '*.php' | xargs -n1 bzr add" or something?19:57
Tsmithlol bzr status shows a massive list ;p19:58
Tsmithi found the solution:19:58
Tsmith.bzrignore in the trunk's root19:58
mptI have an obscure question about conflict resolution that isn't covered in <http://doc.bazaar-vcs.org/bzr.dev/en/user-reference/bzr_man.html#conflicts-types>20:02
mptWhat should I do when I have both a path conflict and a contents conflict for the same file?20:03
mptWhich should I resolve first?20:03
tolstoyFolks: When I do a "push" to a local directory, I get the whole file tree. Is there a way to suppress that?20:51
tolstoyWe're using a server as a "source-of-truth" and I'd like to be able to properly create repos without the trees even if working locally.20:52
tolstoybzr remove-tree fixed it, I guess.21:02
james_wtolstoy: yep, that will fix it. To create a shared repository that does this by default use the --no-trees option to init-repo21:08
tolstoyOkay. Odd that "push" removed trees only when it's a remote file system. Then again, I guess that makes sense.21:09
james_wtolstoy: yeah, it's hard to do it remotely so it doesn't21:09
james_wthe inconsistency with local push could be removed I guess, but so many people wonder what's wrong when remote push doesn't create/update a working tree that we should probably do it when we can.21:10
james_wmpt: I'm not sure how you can have both types at once.21:10
james_wmpt: I imagine you have to resolve both at the same time, in that you can only call "bzr resolve" when both are fixed.21:11
mptjames_w, it was a criss-cross21:11
james_wmpt: in terms of doing it you probably want to move the correct file in to place first, and then fix the content.21:11
mptok21:11
mptWe have a maximum branch length, so I thought I'd be clever and pull some revisions out of this branch and merge them into mainline, and then merge mainline back into this branch21:12
mpt(a maximum branch length for code review purposes, I mean)21:13
mpt... But I forgot that I'd renamed the files in this branch, in a revision *after* the one I merged into mainline.21:13
=== mwhudson_ is now known as mwhudson
pickscrapeIs there any plan in place for allowing partial working copies?21:15
lamontis it normal for bzr visualise to say 'AttributeError: 'KnitPackRepository' object has no attribute 'get_revision_graph'" ??21:16
lamontthat's bzr 1.6~beta2-1 and bzrtools 1.6.0-1, fwiw21:16
james_wpickscrape: at the last sprint we talked about a way that would let you do that and a few other things, but I don't think anyone's got anywhere near implementation.21:17
james_wlamont: hi, what's your version of bzr-gtk?21:17
lamont0.93.0-1.21:17
lamontI bet that's it, eh?21:17
james_wyeah, that's too old21:17
pickscrapejames_w: thanks, good to know it is at least in mind. That's one thing I know I'll get a few complaint about when we switch :)21:17
lamont0.94.0-1 is new enough?  (latest intrepid)21:18
james_wpickscrape: yeah, though we're even further off limiting the amount of repository data you need for a partial working tree.21:18
Tsmithhey bzr up -r4 filename doesn't work.  is there a way to update a file to a particular -r?21:18
james_wpickscrape: so it would at least allow you to ignore parts of the tree you didn't care about, but wouldn't reduce the time to branch21:19
james_wlamont: I don't think it will be, we should really get that updated.21:19
pickscrapejames_w: I'm not actually bothered about that. It's mainly so people can just 'checkout' the bits they actually care about with regard to the work they're currently doing.21:19
pickscrapeThey'll all be using shared repositories anyway, so they'll have the lot regardless.21:20
lamontjames_w: pretty please... :-)21:20
pickscrapeBut I understand that in the more general use case limiting revision size would also be nice :)21:20
james_wlamont: I don't think there's been a release to update to though.21:20
lamontjames_w: yeah... 0.94.0 according to http://bazaar-vcs.org/bzr-gtk?action=show&redirect=BzrGtk21:21
james_wlamont: if you can confirm whether 0.94 works I would appreciate it.21:21
james_wpickscrape: yeah, I think that's why a lot of people want it, but it can be done in separate stages at least.21:21
* lamont builds bzr-gtk_0.94.0-1~hardy121:22
james_wpickscrape: I wouldn't want it to lead people to mix projects in one branch though.21:22
pickscrapeAt the moment we do it in svk by doing svk co -N and then svk revert -R on each subdirectory we want21:22
james_wpickscrape: we can have nested trees for allowing people to grab a related set of branches.21:22
Tsmithomg21:24
Tsmithis bzr up -rrev not supported? :o21:24
james_wTsmith: nope, sorry, missed your question.21:24
james_wyou probably want "bzr revert -rrev filename"21:25
pickscrapejames_w: Hmmm... nested trees... I'll have to have a look at that.21:26
james_wbeuno: hi, you around?21:27
lamontjames_w: bzr-gtk 0.94.0-1 is love21:31
james_wlamont: ah, great, thanks21:32
beunojames_w, hey, yeah21:32
james_wbeuno: unping :-)21:32
beunojames_w, cool :)21:32
beunohi anyway21:32
james_whi, how are you?21:33
beunopretty good. Knee deep un loggerhead code. Yourself?21:33
james_wgood thanks.21:35
tolstoybeuno: Loggerhead? Is that being updated since the ancient stuff at the website?21:40
james_wtolstoy: there was a release recently, at which website are you looking?21:40
tolstoyHm. I'm looking for it now.21:40
tolstoyI last looked some weeks ago.21:40
james_wthe maintainer has changed, and I don't know if that has left an old website around.21:40
tolstoyWhat's the "new" one?21:41
beunotolstoy, we updated trunk yesterday21:42
tolstoyhttps://launchpad.net/loggerhead?21:42
tolstoyhttp://www.lag.net/loggerhead/21:42
tolstoyAh, that's the home page I've seen before.21:43
beunotolstoy, launchpad, yes21:43
tolstoySo if I want to use it, I should just "bzr" it?21:43
beunowe hope to release a new version in a while21:43
beunoyeap21:43
tolstoySounds good.21:43
tolstoyI've got the unpleasant task of trying to configure it to "view" multiple branches of multiple projects.21:43
beunotolstoy, let me know if I can help you with that  :)21:44
tolstoyWill do.21:44
tolstoyEr, I'll see if I can find a mailing list for it.21:44
tolstoyAre you Michael Hudson?21:45
tolstoyAh, Martin. Okay.21:46
* mwhudson bounces21:52
beunotolstoy, that's Michael Hudson  ^  :)21:55
beunomornin mwhudson  :)21:55
mwhudsonhello21:55
mwhudsonbeuno: so i'm increasingly of the opinion that paste provides enough bits to build the server side of loggerhead21:56
beunomwhudson, glad to hear that21:56
beunoit seemed to me that it's used for enough use cases that it should fit ours21:56
mwhudsonyeah21:57
mwhudsonand it's use-the-bits-you-need approach, while a bit confusing, means that we don't get lumbered with things like stupid url mangling (for example)21:57
mwhudsoni think paste + simpletal is a reasonably nice small set of dependencies too21:58
beunoyes, absolutely21:58
mwhudsoni can see how this would let me write a plugin21:58
beunothey both have nice packages too21:58
mwhudsonhm, not sure instantly how to run a paste server in the background22:01
mwhudsoni'm sure there's something for that though22:02
beunowell, I was thinking of looking into how pylons uses it for that part22:03
thumpermwhudson: paste?22:10
mwhudsonthumper: http://pythonpaste.org/22:12
thumpermwhudson: to replace turbogears and cherrypy?22:12
mwhudsonyeah22:13
Tsmithhi22:30
Tsmithhow can you tell where a .bzr repo is pulling from?22:31
PengTsmith: You mean a branch. And, "bzr info".22:31
PengAlso, if you run "bzr pull", it gives it. :P22:31
Tsmithtahsnkf ro bzr infoo ;)22:32
Tsmithso if you do bzr co bzr+ssh://, bzr behaves almost exactly like svn, in that when you commit, you can up on another system with the same co, but if you bzr branch, you have to do pull from the bzr+ssh:// to get the updates22:36
PengIf you use a branch, yeah, you have to push/pull.22:37
lifelessmoin23:01
lifelessmtaylor: yes ext3 is remarkably slow about delete in that case :)23:01
pickscrapeWould anyone be able to point me in the right direction with solving this: 'KnitPackRepository' object has no attribute 'get_revision_graph' (from trac-bzr)23:02
lifelesspickscrape: that was an old api, which was O(history)23:02
lifelesspickscrape: these days you would do g = repository.get_graph(), and then make whatever graph queries you need23:02
pickscrapelifeless: seems that trac-bzr is still using it. Thanks for point me at that, I'll have a look at fixing it.23:03
lifelessnp23:04
=== mw|food is now known as mw
=== tro|| is now known as tro
=== Mez|DPC is now known as mez
=== mez is now known as Mez|DPC
pickscrapelifeless: trac-bzr was using the output from get_revision_graph as input for tsort.merge_sort, but it's not liking what comes out of get_graph. I've tried get_graph().iter_ancestry(), to no avail. Any clues?23:30
lifelessiter_ancestry yields tuples23:31
lifelesskey, values23:31
lifelessvalues is None sometimes, when there is a ghost23:31
lifelessso filter those out and you should be fine23:31
lifelessfor revid, parents in iter_ancestry:23:31
lifelessif parents is not None:23:31
lifelessparent_map[revid] = parents23:32
lifelessthen feed parent_map to tsort.merge_sort23:32
pickscrapelifeless: thanks, I'll give that a go. Not sure how I've got ghosts in my repos though, they're pretty small.23:33
lifelesswell, you may not need the filtering, others will23:33
pickscrapeYes, I really meant that might not explain why it's not working for me already23:33
lifelesspickscrape: fair enough23:33
lifelessmtaylor: hi23:34
mtaylorhi lifeless23:34
lifelessmtaylor: yes, ext3 finds deletes of massive trees problematic :)23:34
mtaylorthe rm was killing my box earlier for that reason, so I stopped it23:34
mtaylorI'm going to re-run it tonight while I sleep23:34
lifelessyou can just mv .bzr/bzr-search delete-me23:34
lifelessbzr index23:34
mtaylorlifeless: good point23:36
mtaylorI did index a smaller project quite quickly23:36
mtaylorI get this now:23:36
mtaylor$ bzr search SF_ReadRangeNo23:36
mtaylorFile id 'ndbscanoperation.jav-20070517181935-98huwjarzuh25b30-25', revision 'mtaylor@mysql.com-20071120023241-84qiaykyp2sv70yk'. Summary: 'No summaries yet.'23:36
lifelesscool23:36
lifelessneed to do a summary of why it hit though23:37
lifelessthe file_id, revision_id tuple can be used to get the tree:23:37
lifelessrevtree = repository.revision_tree(revision_id)23:37
lifelessfile_contnet = revtree.get_lines(file_id)23:37
lifelesspath = revtree.id2path(file_id)23:38
lifelessor we can get the bytes without the file via repository.iter_file_bytes23:38
mtaylorneat23:38
lifelessthen its simply a case of repeating the index on that file and choosing a part of it to display23:39
lifelesswe might want to store such coordinates in the index to handle big files better23:39
mtaylorok. running a new index on mysql... and going to bed...23:40
lifelessgnight, and thanks for guinea pigging this23:40

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