/srv/irclogs.ubuntu.com/2009/02/15/#bzr.txt

mxpxpodis there a new bzr-svn for 1.12?00:00
jelmermxpxpod, 0.5.000:00
mxpxpodjelmer: thanks00:01
mxpxpodjelmer: where do I pick up bzr-rebase 0.4.3?00:13
jelmermxpxpod, http://samba.org/~jelmer/bzr00:18
mxpxpodjelmer: I only see up to 0.4.200:18
jelmermxpxpod, try refresh :-)00:18
mxpxpodnice00:18
mxpxpodthanks00:18
mxpxpodjelmer: will that eventually be in the ppa?00:18
jelmermxpxpod: I don't think rebase is part of the packages in the PPA00:19
jelmermxpxpod: (I don't upload to the PPA)00:19
mxpxpodjelmer: gotcha00:19
mxpxpodjelmer: now, to upgrade all of my branches ;)00:25
mxpxpodjelmer: does 0.5 use any svn props?00:26
jelmermxpxpod: it uses svn:executable00:27
jelmerand it will set svn:mergeinfo in some cases00:27
mxpxpodbut no bzr:00:27
jelmermxpxpod, you mean whether it will write them?>00:27
jelmermxpxpod: it will set bzr:... revision properties if the server supports them (svn >= 1.5), otherwise it will use file properties like 0.4.x00:28
mxpxpodjelmer: right... it used to set bzr:revison-info, bzr:file-ids, bzr:revision-id:v3-trunk1, etc00:28
jelmermxpxpod, it will still do that if the server doesn't support setting revision properties00:29
mxpxpodjelmer: gotcha00:29
mxpxpodjelmer: thanks00:30
mxpxpodjelmer: one last thing... is there any way to set other svn: props thru bzr?00:30
mxpxpodfor instance, svn:eol-style00:30
jelmermxpxpod: no, that would require bzr to support eol-style itself first00:31
mxpxpoddoesn't bzr just use the native eol-style on each platform?00:31
jelmermxpxpod, no, bzr doesn't convert eol-characters atm00:31
mxpxpodjelmer: ah, gotcha00:31
jelmerthere are some plans to support it, not sure how far along they are00:32
mxpxpodjelmer: oh, one last thing... does it support svn:external yet?00:35
jelmermxpxpod, no, same thing - bzr itself doesn't support nested trees yet00:35
mxpxpodk00:35
jelmerso there's no way for bzr-svn to do so00:35
mxpxpodthanks for answering all of my questions00:35
jelmernp00:35
mxpxpodjelmer: does svn-upgrade upgrade the cache from ~/.bazaar/svn-cache? or does it grab the revisions fresh?00:46
jelmermxpxpod, it cache format has changed a bit so it will create a new cache00:46
mxpxpodjelmer: ok00:46
mxpxpodjelmer: thanks for all the help00:52
mxpxpodjelmer: one thing that kind of frustrates me is that when I push revisions from bzr, I can't see the svn revision in the log of that check-in00:56
jelmermxpxpod: it should show up if you run "bzr log" against the remote server00:57
jelmermxpxpod: It won't show up in the log of the revision you have pushed, since that would be problematic:00:58
jelmerit would require "bzr push" to change the source branch (which it doesn't do, by definition)00:58
jelmerwhat would happen if you "bzr push"'ed to multiple svn repositories?00:58
mxpxpodjelmer: ah, so bzr log :parent do what I'm talking about?00:58
mxpxpodjelmer: makes sense00:59
jelmermxpxpod: Yep00:59
mxpxpodjelmer: heh, bzr log :parent takes a long time on a repo with lots of revs ;)00:59
jelmermxpxpod, 0.5.1 should be a bit better in that regard01:02
mxpxpodjelmer: cool01:02
mxpxpodjelmer: here's something strange... when I svn-upgrade one of my branches, it tells me there are conflicting tags (which there aren't) and bzr tags tells me it can't find revisions for some of the tags01:03
mxpxpodjelmer: but, a fresh branch of the repo doesn't have any conflicting tags01:03
jelmercould it find revisions for the tags previously?01:03
mxpxpodnot sure01:03
jelmermxpxpod, any chance you can file a bug about that?01:04
mxpxpodjelmer: if I can reproduce it on a repository that's public, yes01:04
mxpxpodjelmer: will 0.5.1 help with pull speed?01:05
jelmermxpxpod, yes01:05
mxpxpodcool01:05
maxbjelmer: any compat issues between bzr-svn 0.5.0 and bzr 1.12, or would it be sane to requestsync 1.12 for jaunty?01:06
jelmermaxb: no, 1.12 should be fine01:07
mxpxpodjelmer: does svn-upgrade migrate revprops?01:07
jelmermxpxpod, what do you mean exactly?01:08
mxpxpodjelmer: does it do bzr svn-set-revprops ?01:08
jelmermxpxpod, no, it only changes the local branch, never the svn repository01:08
mxpxpodok01:08
mxpxpodjelmer: is there a way to get tags to list the correct revision rather than "?" ?01:10
jelmermxpxpod: Generally not, because the ? would be shown because the tag is on a revision that is not in the branch01:10
mxpxpodjelmer: ah, ok01:11
jelmer--show-ids will show the "raw" revision id01:11
mxpxpodjelmer: hmm... some of the tags are still pointing to svn-v3-trunk0 ids01:14
jelmermxpxpod, that could be correct if you used bzr-svn to push revisions into svn in the past01:15
mxpxpodjelmer: ok01:15
mxpxpodjelmer: ok, so I have a branch of an svn branch that I do work for a release in... if I do bzr tags --show-ids, it shows some tags as svn-v3-trunk0 which show up as v4 in the svn branch01:19
jelmermxpxpod, was this the branch that you got the conflicts on earlier?01:19
jelmermxpxpod, what happens if you do a clean copy?01:19
mxpxpodjelmer: here what I did: with 0.4.x I did this... bzr branch http://somerepo/trunk trunk; bzr branch trunk 1.3.401:21
mxpxpodthen when I got 0.5, I did this: mv trunk trunk.old; bzr branch http://somerepo/trunk trunk01:21
mxpxpodjelmer: make sense?01:22
jelmermxpxpod, yeah01:22
mxpxpodjelmer: now, bzr tags --show-ids show v3 ids in 1.3.401:22
jelmerand trunk shows v4 ids ?01:23
mxpxpodjelmer: yup01:23
jelmerbut you have the same amount of "?"'s in 1.3.4 and trunk?01:23
mxpxpodyes01:24
mxpxpodbut when I do a pull in 1.3.4, it says there are conflicting tags for the tags that are v301:24
jelmermxpxpod, that's correct01:24
mxpxpodjelmer: how do I get those tags to point to the v4 equivalent?01:24
jelmerif you run "bzr svn-upgrade" in 1.3.4 it should fix those tags01:24
jelmerif it doesn't then that's a bug01:25
mxpxpodit says trunk is not a foreign repository01:25
jelmermxpxpod, you need to specify the svn repository01:25
mxpxpodjelmer: awesome! thanks01:26
mxpxpodjelmer: and if I run that same command in trunk, it upgrades the old v3 ones to v401:29
jelmermxpxpod, Ouch, that's wrong01:29
mxpxpodit does the same thing in 1.3.401:31
mxpxpodit doesn't keep the v3 ones that are supposed to be v3 as v301:32
jelmermxpxpod, should be fixed in the 0.5 branch01:35
mxpxpodjelmer: will it fix the v4 thing?01:40
jelmermxpxpod, v4 thing?01:40
mxpxpodjelmer: where 1.3.4 had v3 ids and then I ran svn-upgrade and got v3 ids... will it fix that?01:40
jelmermxpxpod, it will make sure svn-upgrade doesn't upgrade some revisions to v4 unnecessarily01:40
mxpxpodjelmer: also, are you talking about the lp:bzr-svn branch?01:41
jelmermxpxpod: Where did you get v3 ids in the 1.3.4 branch exactly?01:42
mxpxpodfor some tags I made with the old bzr-svn a while back01:42
jelmermxpxpod: It's not incorrect if it leaves some v3 revisions01:43
mxpxpodjelmer: right01:43
mxpxpodjelmer: but it changed the v3 ones that I made to v401:43
jelmermxpxpod: But it should only do that for tags that are not "?" tags01:43
jelmermxpxpod, that bit should be fixed now (upgrading some to v4 incorrectly)01:44
mxpxpodjelmer: in lp:bzr-svn?01:44
jelmermxpxpod, bzr-svn's main branch is at http://people.samba.org/bzr/jelmer/bzr-svn/0.501:44
jelmerlp is usually out of date01:44
mxpxpodah, ok01:44
mxpxpodjelmer: ok, so is there a way to fix a branch from svn-upgrade changing them to the wrong thing in 0.5.0?01:47
jelmermxpxpod: Fix the tags after  bzr-svn all changed them to v4 tags?01:48
mxpxpodjelmer: yes01:48
jelmermxpxpod, if the tags are in svn, you can just "bzr pull" from svn01:48
mxpxpodthat doesn't change them from v4 back to v301:49
mxpxpodaha!01:50
mxpxpodbzr pull --overwrite01:50
jelmerah01:51
mxpxpodand that fixed it01:52
mxpxpodjelmer: thanks for the help01:52
jelmermxpxpod, once again, np :-)01:53
mxpxpodjelmer: now you know what to tell people that have the same problem as me :D01:53
jelmerand thanks for helping fix that bug in svn-upgade01:53
mxpxpodjelmer: not a problem01:53
mxpxpodalright, gotta go01:54
mxpxpodhave a good nige01:54
mxpxpodnight01:54
evarlastI'm attempting to install flup to get bzr-smart.fcgi to work on win32. Does anyone knwo if I can drop a flup egg into c:\Python25\lib\site-packages and expect it to work?03:19
evarlastnevermind. I'm stupid. just copy fcgi.py along size bzr-smart.fcgi is easier.03:22
evarlastanyone using bzr-smart.fcgi with modwsgi?05:02
evarlastgoogle is amazing, looks like someone had my same issue, very recently: http://pastebin.com/m533f12af05:05
evarlastok, that issue is fixed, now I can't auth on windows, but I can auth on linux with the same config :(05:44
=== tchan1 is now known as tchan
gourhi, how to get branch from LP when it reports: "bzr: ERROR: The API for "<module 'bzrlib' from '/usr/lib/python2.6/site-packages/bzrlib/__init__.pyc'>" is not compatible with "(1, 10, 0)". It supports versions "(1, 11, 0)" to "(1, 11, 0)"." ?11:47
fullermdThat's probably nothing to do with LP.11:49
fullermdYou've got a 'bzr' (the 'bzr' script itself, specifically, not the whole package) from 1.10 around, that's finding the 1.11 bzrlib.11:49
gourhmm, i'm running 1.1111:49
Peng_Or bzr-svn or some other plugin is doing it.11:49
Peng_I think "bzr" itself raises a different error.11:50
fullermdOh, I forgot bzr-svn had that quirk in a version or two.  That sounds more likely.11:50
gourhmm, ok..let me check bzr-svn11:50
gourthanks. rm-ing bzr-svn did it :-)11:51
Peng_That's a wee bit extreme.11:51
goursure it is, but, well11:52
gour...11:52
LeonidasIs this a known issue: http://paste.pocoo.org/show/104115/14:31
LeonidasIt happened when I bzr unshelve'd14:31
Odd_BlokeLeonidas: Yes, that's bug #328148.14:44
ubottuLaunchpad bug 328148 in bzr "Less spaff from unshelve, please" [Undecided,Confirmed] https://launchpad.net/bugs/32814814:44
Odd_BlokeIt's just a problem in the progress bar, nothing to worry about.14:45
LeonidasOdd_Bloke: Thanks. I thought that it wasn't really important, just wanted to make sure the developers know about it :)14:47
Odd_BlokeLeonidas: Thank you. :)14:51
radixyou know what'd be nice? if there were a way to have a bound branch which did the pushes asynchronously, so I could get back to hacking after a "bzr commit" quickly but also have the peace of mind of knowing that I can't forget to push.18:17
ronnyoh, that idea might be nice fir pida, too18:18
radixof course, there would need to be some other mechanism for dealing with asynchronous conflicts. Ideally, some GUI window would pop up (or even just a desktop notification) if I'm in the appropriate environment.18:18
radixbut barring a GUI, I guess it could just notify you of the conflict next time you ran a bzr command, or something.18:18
radixsorry, I'm saying "conflicts" but I actually mean "divergent branches"18:19
ronnyi think seting up per-user push branches is helpfull18:19
radixjust an idle thought while waiting for a 'bzr commit' to complete in a hotel room :)18:19
ronnykeeps conflicst out of the way till one chooses to do18:19
ronnythat would need another async checker that ckecks for changes on the pull path18:20
radixronny: yeah, sure, but I have the same branches bound on my desktop and my laptop machine18:20
ronnyand then pops up a notification18:20
ronnyradix: ah i see18:20
ronnybut you dont work at both at the same time?18:20
radixI'll switch back and forth and often forget to update before changing something18:21
ronnyso asnc update checking might be helpfull, too18:21
radixbut yeah, something that automatically *pulls* would also help that18:21
radixI could just set up a few cron jobs I guess18:21
ronnyi'll have to remember that18:21
ronnyit would certainly be a nice addition to pida18:22
ronny(an ide)18:22
radixah, I was just about to ask what it is.18:22
ronnyjelmer: is there any documentation about bzr's current storage formats other than the source?18:24
ronnyim stil a bit lost on figuring where those weird xml things are needed18:24
ronnyok18:27
ronnynow i figured it18:27
ronnysad, just sad18:31
jelmerronny, xml things?18:49
jelmerronny, there shouldn't be a need for you to bother with internals..18:49
ronnyjelmer: well, i know the git and hg internals, now i want to know the bzr ones18:50
ronnyand i get more and more unhappy with that stuff18:52
jelmerronny: ah18:54
jelmerronny, there's some docs in doc/developers/18:54
jelmerronny, what makes you unhappy though?18:54
ronnythe kiss principle seems to be missing18:55
jelmerit seems pretty simple to me - one store for revisions, one for inventories, one for texts, that's it basically18:56
jelmergtg, back later18:58
ronnyeverything seems striple if you strip the details out18:58
edcrypt_is there a way to iterate over all versioned files of a wt, on a specific dir?19:22
ronnyedcrypt_: there is WorkingTree.list_files, but it doesnt filter, maybe there is an better api im not aware of19:26
edcrypt_ronny: the sdocstring says it list unversioned dirs, no mch better than WT.iter_entries_by_dir19:29
ronnyedcrypt_: there is the filter_unversioned_files method19:32
edcrypt_ronny: thanks, I'll take a look.19:34
ronnybbl19:34
yeonhoohelloo19:52
yeonhoobzr push bzr+ssh bzr+ssh://login@bazaar.launchpad.net/~registrant/project/branch  <---> bzr: ERROR: Not a branch: "C:/program files blablablablal"19:55
yeonhooseems like bzr+ssh unknown command19:56
yeonhooany help?19:58
knitt1hello. i made a stupid merge, how can i delete that commit? or how can i fix it? xD20:07
yeonhoohmmmm20:08
yeonhooi installed bazaar on ubuntu,, but same error occures20:09
knitt1turns out i deleted the upstream changes, not mine20:09
yeonhoowell.. seem like to not be an error20:09
yeonhooknitt1: hi20:09
knitt1hi yea20:10
knitt1* yeonhoo20:10
yeonhooyes im new here.. im having problem20:10
knitt1ok, i'll try to help you. but i'm not so fit with bazaar either20:10
knitt1go ahead :)20:10
yeonhoobzr push bzr+ssh <-- is this command always output " bzr: error: not a branch" ?20:10
yeonhoook :)20:10
knitt1yeah, that command makes no sense20:11
yeonhoobzr push bzr+ssh://mylogin@bazaar.launchpad.net/~mylogin/+junk/myproject20:11
yeonhooeven this?20:11
knitt1that one is ok20:11
yeonhoobut it does not work20:12
yeonhooeven on ubuntu or windows haha...20:12
knitt1but you can simply do bzr push lp:~yeonhoo/+junk/yourproject20:12
knitt1do you have an launchpad account? :p20:12
yeonhooyes i have20:12
yeonhoowhat is lp command?20:12
knitt1it's just a shorthand20:12
knitt1for launchpad branches20:13
yeonhoook... same error20:13
yeonhoovery strange20:13
knitt1wait … did you upload your public ssh key to lp?20:15
knitt1you need to do that, otherwise you cannat push20:15
yeonhooupload my public ssh key?20:15
yeonhoono..20:15
yeonhooi uploaded to launchpad20:15
knitt1yes, but you need to add your ssh key to launchpad before you can push to it20:16
yeonhooyes i add to launchpad already20:16
yeonhoobut i have to add it to bzr ? something like that?20:16
=== thumper_laptop is now known as thumper
knitt1should work out on the box with ubuntu20:17
knitt1on windows you need pageant for it to work20:17
yeonhooeven on ubuntu doesnt work20:17
yeonhoothe same error20:17
yeonhoo_ubyeonhoo@yeonhoo-desktop:~$ bzr push lp:~yeonhoo/+junk/teste20:18
yeonhoo_ubbzr: ERROR: Not a branch: "/home/yeonhoo/".20:18
yeonhoo_ubits something like that20:19
yeonhoo_ubhuh20:19
knitt1ouch …20:19
knitt1you need to create a bzr repo first20:19
knitt1bzr init20:19
knitt1:/20:19
fullermdOf course, you probably don't want to do that in $HOME...20:20
knitt1well, yes, you don't want to do that in ~20:23
=== spm_ is now known as spm
garyvdmyeonhoo_ub: have you come right yet?20:26
thumperyeonhoo: have you done a `bzr lp-login`?20:28
yeonhooopss im back20:28
yeonhoothumper: im logged yes20:28
knitt1isn't there todo's en-masse on the net? *scnr*20:28
thumperyeonhoo: I mean have you typed the command `bzr lp-login`?20:29
yeonhoothumper yes20:29
garyvdmyeonhoo: Where is the branch you are pushing from?20:29
thumperyeonhoo: have you got things sorted yet?20:29
yeonhooyes it seems to be working now20:29
yeonhooas knitt1 said i did bzr init20:30
* thumper nods20:30
garyvdmyeonhoo: now you are pushing a empty branch? is that correct?20:30
yeonhoo!?...20:31
yeonhooyes i think...20:31
yeonhoois branch a kind of project box yea?20:31
garyvdmYes20:31
yeonhooyes i created an empty branch called "teste"20:31
garyvdmok20:32
yeonhooand im now "push" to it20:32
yeonhoois push command just for access the branch yea?20:32
garyvdmYou would use push to copy your work form your computer to launchpad.20:33
garyvdmYou would use pull to copy from launchpad to your computer...20:33
yeonhooyea.. maybe im asking stupid question.....20:34
yeonhooyea..ok20:34
yeonhooit is asking for password20:34
garyvdmOn windows?20:35
yeonhooi think it is askin for ssh keys20:35
yeonhooyes20:35
yeonhooi have to put all the ssh !!...20:35
yeonhoo!?...wow20:35
ubottuInformation about games on Ubuntu can be found at https://help.ubuntu.com/community/Games and http://www.icculus.org/lgfaq/gamelist.php20:35
garyvdmAre you running  pageant?20:36
yeonhoono im not20:36
yeonhoopageant?20:36
garyvdmOn windows, you need to run pageant, and load your private key20:36
yeonhooah..20:36
yeonhoook.. im on way20:36
garyvdmhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.html20:37
yeonhooyeah..it authenticate automatically20:38
yeonhoogood...!20:38
yeonhoothank you :)20:39
yeonhoowow... im surprised with such tool...20:48
=== ajmitch_ is now known as ajmitch
yeonhoois branch name can be changed?21:17
lifelesssure21:17
yeonhoolifeless: could you give me keyword?21:18
lifelessyeonhoo: 'mv'21:18
yeonhoothank you ! :)21:18
yeonhoohum21:22
yeonhooi think i need an exemple21:23
yeonhooto mv existe branch on net what should i do?21:23
yeonhooi was trying "bzr mv lp:~blbalbalbal/source lp:~blablabla/destinatino21:24
mwhudsonoh21:24
mwhudsonyou have to do that on the website21:24
yeonhoooh.21:26
lifelessyeonhoo: if it was on your disk it would be 'mv source destinatino'21:27
lifelessyeonhoo: but launchpad isn't a file system :)21:27
lifelessyeonhoo: if you go to the branch page you should be able to rename it21:27
thumperyeonhoo: you can rename a branch on launchpad by clicking on the edit link (a yellow pencil IIRC)21:36
tristilHow do I set up a bzr ignore rule so that when I add  a git project I don't get any of the .git folders?21:44
lifelesstristil: 'bzr ignore .git'21:44
tristillifeless, cool thanks. I was trying /.git/ */.git/*, etc.21:48
lifelesstristil: we do support a regex syntax and zsh's magic syntax, but thats only needed rarely :)21:48
tristilI guess I was using bash wildcards, but I thought the first one should have worked.21:49
lifelesssorry :)21:51
jelmerlifeless, hi22:03
lifelesshi jelmer22:04
jelmerlifeless: What format from brisbane-core should I use when importing large rich-root repositories (OOO) ?22:04
lifelessdevelopment422:05
lifelesserm22:05
lifelessyou need rich root yeah? you'll need to add a rich root variant of dev4, or use dev4-subtree22:06
jelmerthanks22:07
rockstarIf I want to test merge a remote branch into another remote branch programmatically, what's the best way to approach that?  Get a checkout of the target (for the working tree) and merge in source?22:16
lifelessspiv: so, my place or yours? (please say 'lifeless' place')22:16
lifelessrockstar: PreviewTree22:17
rockstarlifeless, well, what if the end goal is committing?22:17
lifelessrockstar: in principle you could commit a PreviewTree22:17
lifelessno idea about practice :)22:18
rockstarAlright, I'll go digging.22:19
lifelessMutableTree.commit() is the entry point22:19
spivlifeless: yours is fine, but I can't get there until midday or so.  I have an errand to take care of.22:19
lifelessspiv: cool. I have 'target_versionedfile.insert_record_stream(NetworkRecordStream([record.get_bytes_as(record.storage_kind) for record in source_versioned_file.get_record_stream()).read())' working22:20
lifelessspiv: just let me know eta - sms or whatever. I'll try to get sprint tickets and other housekeeping done before you arrive22:21
spivOk.22:21
spivI have resumed write groups committing successfully.22:21
lifelesssweet22:21
lifelessde alchemy progresses22:22
ronnysup22:24
ronnywhat are the plans for performance? compared to git/hg bzr still tends to feel a bit slugish22:25
spivronny: extensive :)22:26
spivronny: lifeless and I are tackling network performance at the moment, and other folk are working on building a faster repository format.22:27
ronnyanother one again?22:27
ronnybtw, whats the reasoning behind xml in the repos?22:29
ronnythe sources have sarcastic comments about that22:30
spivThere's a brief note about it at http://doc.bazaar-vcs.org/obsolete-docs/yaml.html22:31
spivI'm not sure if there's a more extensive discussion somewhere else.22:31
ronnyin comparisation git has some pretty neat optimized fieldsets there that can be parsed rather simple22:32
lifelessronny: xml was chosen because it was 'standard' - but we didn't appreciate how much of a burden it would turn out to be22:32
emmajanevila, ping?22:33
lifelessronny: the reason for another repository format is to remove much of the xml we parse. As a datapoint, bzr.dev's repository has 3.3GB of xml inventory data22:33
emmajanebeuno, ping too :)22:33
lifelessronny: (after zlib and delta decompression)22:33
lifelessronny: thats a huge amount of data to parse and process, and its nearly entirely dead weight22:33
lifelessspiv: success!22:34
lifelessspiv: I can cleanly networkise and unnetworkise a knit's record_stream with delta_closure=False22:34
ronnylifeless: will the xml gradually go away with new repo formats?22:35
lifelessronny: I imagine so, there is no reason to keep it; revision's for instance have problems with some legacy commit messages that can't be encoded in xml sanely22:35
lifelessso doing away with it will fix bugs/ickyness22:36
lifelessronny: its just not worth doing a repo format solely to remove it22:36
ronnyah, k22:36
lifelessfor instance, several folk did repo formats that were just yet-another-line-based-format, but not enough of a difference to force people to transcode their data22:37
lifelessthe brisbane-core format is really very different though; massively less raw data to process, so log -v and other commands should be a lot faster22:37
lifelessigc is working on that aspect of brisbane-core at the moment22:37
ronnyany eta on when it will land?22:38
lifelesswe're hoping to have a beta (--developmentX) format for early adopters and benchmarkers in late march22:38
ronnygood22:38
lifelessonce we find and fix any issues from them we'll make a long term supported version of it22:39
garyvdmlifeless: Where can I find docs/branch for brisbane-core?22:40
lifelesslp:~bzr/bzr/brisbane-core22:40
jelmerlifeless, I can notice the recent speed improvements in brisbane-core22:40
lifelessjelmer: cool; what are you doing that you notice?22:41
ronnyanother thing that makes me wonder - why different stores for revs, inventories and texts?22:41
jelmerlifeless, importing 1k revisions from OOo22:41
lifelessronny: legacy; we're moving to a single key space. We nearly did at 1.6 but I was a bit of a stick in the mud at the time.22:42
ronnyah, i see22:42
ronnyyou gradually kill all points that i actually dislike22:42
lifelessronny: way way way back poolies prototype had seperate directories for each kind of thing22:42
ronnylifeless: the last 2 things i actually miss is content addressing and custom objects22:43
lifelesstla didn't even have stores so its not even worth mentioning, other than to say it did have three 'kinds' of things, and I think that coloured the bzr prototype somewhat22:43
lifelessronny: brisbane-core uses CHK (content hash key's - a reasonably widely used term) for the elements of its inventories22:43
lifelesscontent addressing per-se isn't terribly useful IMO22:44
lifelessre: custom objects, what system allows that?22:44
ronnynone atm22:44
lifelessah :)22:44
ronnywell, in git i can actually create them22:44
ronnybut then the repo is fscked22:45
lifelessthe network stream won't be able to handle them22:45
lifelessjust setting a type byte isn't enough :)22:45
lifelessronny: I'd like to understand a bit more about these things, how you want them to behave [without your plugin], how they should connect(or not) to revisions and inventories and so on22:45
ronnylifeless: i would be ok if there was some kind of "rich" type that supported referencing + custom data22:45
ronnylifeless: i'd like to use them for stuff like approvals for comits or testresults22:46
jelmerlifeless, importing 1k revisions of OOo SVN takes 270 seconds on my 3-year old thinkpad, down from > 4000 seconds a few months ago22:46
jelmerlifeless, admittedly bzr-svn has also improved since22:47
lifelessjelmer: thats a nice improvement22:47
lifelessjelmer: what tree adding api are you using?22:47
jelmerlifeless, I'm using .texts directly, and calling Repository.add_inventory_by_delta()22:47
lifelessjelmer: texts.insert_record_stream() ?22:48
jelmerlifeless, texts.add_lines() actually22:48
lifelessjelmer: ok; well if text adding starts to be important, I can suggest some refactorings to reduce duplicate work22:49
jelmerlifeless, and get_record_stream() to retrieve the fulltexts to apply the delta against22:49
lifelessjelmer: svn gives you byte deltas right?22:50
=== kiko-afk is now known as kiko-zzz
jelmerlifeless, yeah22:50
lifelessshame :P22:50
lifelessline deltas we could nearly/probably translate directly to knit deltas, if svn gave  you the sha122:50
jelmerunfortunately svn still uses md5 :-(22:50
lifelessjelmer: you might like to try the groupcompress plugin's --gc-subtree-chk, if I created one22:52
lifelessjelmer: that would give a very interesting repository size :)22:52
lifelessjelmer: but - you'd definitely want to use insert_record_stream, not add_lines22:52
jelmerlifeless, I22:52
jelmer'll look at that, thanks22:52
ronnylifeless: do you see any reasonable way to put support for recording things like testresults/approvals into the store ?22:56
lifelessronny: the former seems likely to be large22:57
lifelessand the latter small22:57
lifelessIt seems like both of those would be indexed best by revision22:57
ronnycould approvals be solved by signatures by more than one person?22:57
lifelessso you could say 'give me the test results for revid:XXX'22:57
lifelessand likewise the approvals22:58
lifelessso handwaving on how fetch would know to copy them, you could easily do what bzr-search does22:58
lifelessand use the bzr machinery to create a store containing what you want22:58
* igc breakfast22:58
lifelessI know thats probably not as integrated in as what you desire22:59
lifelessbut we tend to find good answers after a couple of plugins start doing things outside the core, to let them hook in closer to the core22:59
lifelessthings in the core need to move somewhat cautiously because of their broad impact on users (and the need to rev format ID's to ensure consistent handling of data etc)22:59
lifelessthere are currently two plugins I know of annotating the core data in [technically different, but morally the same?] ways - bzr-revnocache and bzr-search23:00
ronnyim kinda feed with enough info23:02
ronnyi'll reevaluate bzr again once the new repo format is there23:02
jelmerigc, hi23:03
jelmerlifeless, the main overhead now is in svn itself, the bzr-svn cache (turning it off boosts performance significantly) and get_raw_records23:05
* jelmer is happy and releases 0.5.123:06
rysiek|plhi guys23:07
jelmerhi rysiek|pl23:08
rysiek|plI've got a problem - my co-worker added some *huge* (as in 100MiB+ huge) files (actually, some ~80 files, 3-4MiB each), committed and merged with my branch23:09
rysiek|plthose wqhere completely unneaded, so I bzr removed them23:09
rysiek|plbut, they are still in the packs, arent they?23:09
bob2yes23:10
rysiek|plthis causes me to have ~400MiB branch for a code project we work on23:10
bob2all you can really do is branch from before he/she did that23:10
rysiek|plwhich is a royal PITA, as you may guess23:10
rysiek|plthing is, it wasn't that bad PITA until now, so we're ~100 revisions ahead23:11
rysiek|plas I understand there is no way I can simply "delete" the removed files from the branch23:12
RAOFIIRC you can branch to before the files were added and then replay the commits after the files were added to that branch; I think the 'bzr replay' command is what you're after, in the bzr-rebase plugin?23:12
rysiek|plas bzr's purpose of life is to preserve them :)23:12
rysiek|plah23:12
rysiek|plthere we are23:12
rysiek|plRAOF: thanks a bunch, that should work23:13
lifelessjelmer: get_raw_records - you mean disk IO?23:13
RAOFRight.  It's not often that you want to expunge something from the history, but it can happen, and I've seen discussions here about precisely how to make it work nicely.23:13
jelmerlifeless: yes, retrieving the fulltexts to apply deltas against23:13
rysiek|plok, I'll grok some IRC logs from Teh intertubes and google some more for bzr replay23:13
jelmerlifeless, I might be able to avoid that a bit by keeping a LRU cache of recently generated fulltexts23:13
rysiek|plthat should get me on the right track, I guess :)23:14
rysiek|plthanks again23:14
jelmerlifeless, since bzr-svn usually imports children right after their parents, and since linear history is very common in svn23:14
jelmerlifeless, ideal would be of course if bzr supported svn-deltas :-P23:14
RAOFrysiek|pl: If you run into trouble, I'm sure lifeless knows how to do what you want, when he's less busy :)23:15
rysiek|plok23:15
lifelessjelmer: we could look at putting a small LRU back into VersionedFiles; we had one but it was terrible in the past23:16
lifelessrysiek|pl: bob2 and RAOF are right23:16
lifelessrysiek|pl: once you've done that you won't have to copy the 400MiB around anymore, though it will be dead weight in your current repos, it won't clog up network ops or things like that23:17
rysiek|pllifeless: exactly what I need23:17
rysiek|plho-humm... "At the end of the process it will appear as though your current branch was branched off the current last revision of the target." - but right now it is "as if it was branched" from that very original branch and revision23:17
rysiek|plas it's just a single branch23:18
rysiek|plah, well23:18
rysiek|plmanpages ftw23:18
emmajanevila, beuno I've made a new page for the bzr-upload plugin. http://bazaar-vcs.org/BazaarUploadForWebDev I wanted some extra documentation for a talk I'm giving. Please edit as appropriate. :)23:22
lifelessrysiek|pl: are you stuck?23:23
rysiek|pllifeless: nah, rather massively multitasking23:23
lifelessrysiek|pl: ok, just shout and RAOF and bob2 if you get stuck23:23
lifelessI've just volunteered em :)23:23
rysiek|plok, will do :)23:24
RAOFlifeless: No fair!  I volunteered you first!23:24
lifelessRAOF: you did, but I'm wearing my teflon underpants today23:24
rysiek|plRAOF, bob2, lifeless: that's not a problem, guys, you are simply all volounteers now :)23:25
rysiek|pllifeless: no teflon underpants can save you from sharks23:25
rysiek|pllifeless: ...with lasers!23:25
lifelesshaha23:25
RAOFEh.  You don't need teflon underwear to deflect sharks.  You just punch their nose through their skull.23:26
rysiek|plRAOF: I think you missed the "with lasers" part. see, when you punch the nose of a laser-equipped shark, you actually *fire* the lasers23:28
jelmerlifeless, how much faster should it be to call insert_record_stream() with a single stream rather than multiple times with single items?23:31
lifelessjelmer: "it depends" :P23:32
lifelessjelmer: so GroupCompressVersionedFiles - they hold a single compressor context open during insert_record_stream()23:33
lifelessjelmer: so insert_record_stream([foo]), i_r_s([bar]) -> two seperate compression groups23:33
jelmerlifeless: in other words, it might matter if the texts were similar enough?23:33
lifelessi_r_s([foo, bar]) -> one compression group23:33
lifelessjelmer: and there is no delta compression between different groups in groupcompress today23:34
lifelessjelmer: so, one call per text -> you get zlib'd texts23:34
jelmerlifeless, ok23:34
lifelessone call for all texts -> you get delta compression23:34
lifelessfor knits it doesn't make _as much_ difference23:35
jelmerlifeless, ok23:35
jelmerthanks again :-023:35
jelmers/[0-9][)-(]/23:36
lifelessits possible we should make gc hold the compression context open across inserts23:36
lifelessbut this slight constraint seems useful IME23:36
jelmerwill a repack change what compression context texts are in?23:38
lifelessrepack on gc repos is currently broken23:41
lifelessbzr.dev changed to become more knit dependent, or something23:41
lifelessthe intent is that gc will on autopack combine single commits into larger groups, so yes.23:42
lifelessbut at a certain size of group it will stop fiddling ;)23:42
jelmerok, in that case I won't bother overoptimizing fetch in bzr-svn23:42
rysiek|pllifeless: let me get this straight:23:43
rysiek|pl1. branch the crufted branch23:43
rysiek|pl2. bzr revert to the revision with no crift yet23:43
lifelessrysiek|pl: 1. branch -r REV_BEFORE_BADNESS crufted fresh23:43
rysiek|pl1 + 2 in a single step, right23:44
lifelessno, fundamentally different23:44
lifeless'bzr revert' changes the tree only, you want to change the branch23:44
rysiek|plah, revert will leave the cruft in packs23:44
rysiek|plokay23:44
rysiek|plif I know the name of a bzr removed file, is there a way to easily check in what rev it was removed?23:45
ronnyhmm, im a bit confused - is the only difference betwen normal and rich root a set of properties on the roots?23:45
lifelessronny: yes23:53
lifelessrysiek|pl: bzr log -v | less - sorry :(23:53
rysiek|plssure23:53
ronnylifeless: then why the heck as normal necessary to begin with?23:54
lifelessronny: it was a design bug waaay back23:57
ronnyi see23:58
Peng_The only reason rich-roots haven't been made the default long ago is backwards compatibility.23:58
lifelesswe all want rich roots to be 'normal' and 'normal' to go away quietly23:58

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