/srv/irclogs.ubuntu.com/2010/04/23/#bzr.txt

mwhudsonjam: i wonder if we should just add ~bzr to ~loggerhead-team ?00:11
mwhudsondunno what implications that would have for mail spam00:11
spivIt's great having so many contributors, but why are so many of them named Martin?00:13
mwhudsonor at the very least M*00:15
mwhudsonjelmer: hey00:25
mwhudsonjelmer: want to fix https://bugs.edge.launchpad.net/bzr-svn/+bug/525571 ?00:25
ubottuUbuntu bug 525571 in bzr-svn "bzr svn-import fails when invoked concurrently" [Medium,Triaged]00:25
* mwhudson adds affects launchpad-code00:26
pooliegood morning01:02
lifelesspoolie: hey01:33
lifelesspoolie: its like a bombshell went off here :P01:33
poolieoh, meaning your house, not the channel :)01:34
lifelessyes!01:34
mlhyou packing ... or unpacking?01:35
spivI believe his home repository is being packed *and* garbage-collected.01:35
fullermdBoth of them are such a pain.  That's why I have stuff still packed from a decade+ ago.01:35
mlheek.  indeed.01:36
mlhsame.01:36
mkanatspm: The fix for bug 513044 is committed now, so you might want to update codebrowse.01:36
ubottuLaunchpad bug 513044 in loggerhead "loggerhead (codebrowse) hangs occasionally on launchpad" [Critical,Fix committed] https://launchpad.net/bugs/51304401:36
pooliespiv :)01:38
spmmkanat: I shall draw the attention of those who can make that call :-)01:39
mkanatspm: Okay. :-)01:39
igchi poolie, spiv, spm, mkanat, lifeless, fullermd01:40
spmhey there igc!01:41
mkanatHey igc. :-)01:41
* fullermd waves at igc.01:41
igcmkanat: thanks for the patch for 51304401:45
mkanatigc: Yeah, welcome. :-)01:45
igcmkanat: well done on tracking that down!01:45
mkanatigc: Thanks. It was several months of work, and yesterday alone, seven hours of log anaylsis.01:46
igcmkanat: btw, the production branch is lp:~loggerhead-pqm/loggerhead/devel, not the trunk per se01:47
mkanatigc: Ah, okay.01:47
igcmkanat: so I'll find out from mwhudson and/or lifeless as to how best get it merged there01:47
mkanatigc: Okay.01:48
mkanatigc: Next I'm on to bug 420738.01:50
ubottuLaunchpad bug 420738 in loggerhead "LRUCache.cleanup raises KeyError" [Critical,Confirmed] https://launchpad.net/bugs/42073801:50
igcmkanat: cool01:50
mkanatWhy does loggerhead possibly instantiate the graph_cache in four or five places?01:57
igcmkanat: I haven't looked into the caching yet but jam has studied it in some detail. Try and catch him to chat about his plans for making it better01:58
mkanatOkay.01:58
chrispitzerdo I want to roll back to a commit someone else made.  it's 21.1.191 ... how do I do that...?02:20
chrispitzeri think I should be able to just "bzr checkout -r 21.1.191" ...but that doesn't work...02:21
chrispitzers/do/so/02:21
fullermdWhat do you mean by "roll back"?02:25
fullermdDo you want to just make a new rev reversing the change, or do you want to excise it totally from the history?02:26
spivchrispitzer: depending on exactly what you mean by "roll back" you probably want either "bzr revert -r ..." or "bzr update -r ..."02:26
spivfullermd: it could also mean "give me a working tree at that rev so I can look at it etc"02:26
fullermdOh, I missed the "to".02:26
fullermdYes, 'update -r' is probably the answer.02:27
chrispitzerspiv: thanks02:27
mkanatDoes bzr or loggerhead already have some sort of ReadWriteLock implementation?02:29
pooliein memory or on disk?02:35
mkanatpoolie: In memory.02:35
mkanatpoolie: Like a threading.Lock sort of lock.02:35
pooliebetween threads?02:35
poolienot in bzrlib afaik02:36
pooliecould look at countedloc02:36
poolielock*02:36
mkanatpoolie: Yeah, in bzrlib.02:36
mkanatpoolie: Oh, that looks like it might do what I need.02:37
poolieyou'll need to tell it to stack on a threading lock02:38
mkanatpoolie: Yeah.02:38
poolieprobabyl not hard02:38
mkanatpoolie: Thanks. :-)02:38
lifelesshome server powered off; internet going soon. noooo.02:42
igchave a good trip lifeless02:43
* fullermd steals all the internet and holds it for ransom.02:43
* igc out for a few hours02:43
lifelessigc: thanks02:43
lifelessfullermd: just hold onto the porn for me02:43
mkanatpoolie: Okay, yeah, counted_lock isn't going to do what I need. :-(02:44
mkanatpoolie: It requires underlying locks that can already do read/write locks.02:45
lifelessmkanat: wht do you need ?02:45
mkanatlifeless: I need a ReadWriteLock for threads.02:45
mkanatlifeless: I need to synchronize access to an lru_cache.02:45
lifelessto avoid confusion02:45
lifelessI'd like you to describe that that means to you02:45
mkanatlifeless: Infinite numbers of threads can read the data structure at once, but only one can write, and if one is writing, none can read.02:46
lifelessmkanat: reading mutates it02:46
mkanatlifeless: Oh really?02:46
mkanatWell, that sucks for me.02:46
lifelessmkanat: I'm not at all sure that reading is safe across N threads02:46
lifelessmkanat: yes, its a lrU cache02:46
mkanatAh, right.02:46
mkanatOkay. Well, I guess I can put a dumb lock on it and see how bad performance gets.02:49
mwhudsonit'll probably be ok, i don't think anything should hold the lock for too long02:50
lifelessmkanat: we have a similar situation in chk_map02:50
lifelessmkanat: I would copy what we do there, for protecting the lru cache it has02:50
mkanatmwhudson: Yeah, but actually acquiring and releasing locks takes time.02:50
lifelessmkanat: no time at all compared to python :P02:50
mkanatlifeless: Okay, I'll take a look.02:51
lifelessseriously, python's write-on-read behaviour is hugely destructive of performance02:51
mwhudsonmkanat: btw, https://code.edge.launchpad.net/~vcs-imports/bugzilla/main is a cvs import and still lp:bugzilla02:51
mwhudsonmkanat: that's a bit stale, right?02:51
lifeless I wouldn't worry at all about using locks; the python locking primitive on linux hits the futex code paths02:51
mkanatmwhudson: Yeah, but if we replaced it, it would break file ids.02:51
mkanatmwhudson: For anybody who checked out from it.02:52
mwhudsonmkanat: yeah02:52
KilrooI'm having an interesting time trying to figure out what DVCS is going to be the best choice for me to push for at work.02:57
spivIt seems "no valid commands given" is the new way PQM mails me to say "success".03:01
mkanatlifeless: Oh, I see, you used threading.local().03:01
mkanatlifeless: That wouldn't work for us; we definitely need threads to share the cache. I'll just use an RLock.03:02
KilrooBased on my research up to this point, it's starting to look like it comes down to a face-off between the superiority of HgEclipse to either of the Eclipse plugins for bzr against bzr-svn's advantages over HgSubversion...and if I could get the powers that be to reconsider whether svn is the best choice, that might make mercurial the unchallenged frontrunner.03:02
lifelessmkanat: oh I forgot we did that ;P03:02
Kilroo...I really oughta learn python and java and try to contribute to bzr-eclipse.03:02
spivKilroo: that'd be wonderful :)03:03
Kilroospiv: Indeed it would, unfortunately it is not something I consider especially likely to happen. I don't get to work on projects I like often enough at work to have the programming energy to feel like doing any more once I get home.03:04
KilrooIf I did, I would have actually attempted to get Lua web applications to work on Google App Engine via LuaJ by now.03:05
KilrooIt's a shame Codebeamer picked Hg over bzr in that respect. Apparently they pretty much decided HgEclipse wasn't good enough yet and they were gonna do something about it.03:09
KilrooBased on what I've read, that seems to have taken Mercurial's Eclipse plugin from -arguably- the best (out of hg, bzr, and git) to almost -inarguably- the best, and they seem to be planning on both improving it further and adding a Mylyn team support plugin for it by...I think the end of June.03:09
Kilroobzr is still my favorite of the three, but the fact that bzr makes you jump through the fewest hoops to work with subversion is the only one of its advantages that I currently see as beinga significant factor in the ease of adoption by the rest of the team.03:11
KilrooI'm gonna stop yacking about it now though.03:11
KilrooAt least here.03:13
mkanatigc: Okay, I just submitted an MP that should do it.03:53
mkanatigc: That would close the last Critical bug in Loggerhead; would be nice. :-)03:53
jbowtieIs there doco for PQM anywhere?  I see odd mentions of it but no actual details.03:57
jbowtieSorry, lapsed into slang - by "doco" I mean "documentation".03:59
spivjbowtie: I don't know of any beyond what is in the tarball.  The README file gives a terse overview.04:01
spivjbowtie: you may also be interested in the bzr-pqm plugin for bzr, which adds a "bzr pqm-submit" command.04:02
jbowtiespiv: I'll have a look in there, then. I want to figure out whether or not I want to try setting one up for my project or not, but I'm not even sure what it does.04:04
spivjbowtie: it automates "checkout $trunk; merge $proposed_branch; run pre-commit checks (e.g. test suite); commit"04:10
spivjbowtie: so for Bazaar, none of the developers has direct access to the trunk or release branches.  Instead we instruct PQM (currently via the email interface) to merge changes on our behalf, and it will run our test suite and only allow commit changes that pass the test suite.04:11
jbowtiespiv: OK, that's helpful to know. It does sound like the sort of thing I'd want to hook to our continuous integration server.04:17
spivYeah, we find it very useful.  It's great to be able to trust that trunk is very likely to be in a sound, probably even releaseable, state.  (Depending on the effectiveness of your test suite, of course.)04:19
spivThe other common approach is to use something like buildbot to find out after the commit happened that something broke.  You can combine the two approaches as well (e.g. pre-commit test on one platform, post-commit monitor the buildbot for all the other interesting platforms.)04:21
GungaDinIs there a way to create a branch and push it at the same time?04:57
spivDo you mean create locally or create remotely?04:59
GungaDincreate remotely so I can check it out locally04:59
GungaDin'cuz right now I branch locally, push, delete and checkout04:59
spivYou could branch remotely: "bzr branch local_branch remote_url", then check that out.05:00
GungaDinah cool05:00
GungaDinthx05:00
spivOr convert the branch you made locally into a bound branch/checkout rather than delete it and recreate it as a checkout.05:01
spive.g. bzr reconfigure --checkout05:01
GungaDincool05:03
GungaDinthx05:03
igcback06:33
eydaimonhow I can see what files are kept under control?07:10
mwhudsoneydaimon: not sure what you mean, maybe bzr ls --versioned --recursive ?07:11
eydaimonyes, that works, thank you07:13
eydaimon(mercurial has hg locate)07:13
vilahi all07:25
* fullermd waves vila around.07:32
vila_0/07:32
parthmtrunk seems to be missing tag for 2.2b2. should the tag be in place?09:08
parthmas per NEWS 2.2b2 was on 2010-04-1609:09
cbzdash: do you find you have to do a rebase rather than a pull in order to avoid blatting svn's history/blame?10:06
=== mrevell is now known as mrevellunch
millunwhat should i do to export stuff ?13:49
millunbranch?13:49
=== mrevellunch is now known as mrevell
LeoNerdOr   bzr export   perhaps?14:01
=== radoe_ is now known as radoe
=== vds1 is now known as vds
jannnHey. Is it somehow possible to clone a complete repository with all its branches without having to find out / specify each branch individualy?16:18
maxbno (bug 316729)16:20
ubottuLaunchpad bug 316729 in bzr "bzr clone should be able to clone a repo, not just be an alias to branch" [Wishlist,Confirmed] https://launchpad.net/bugs/31672916:20
fullermdNot as such.  I think there are some plugins that automate the find/specify-individually process, but that just hides it from you.16:20
mkanatjannn: Although you could use rsync.16:20
fullermdOf course there are options like rsync/cp/tar/etc.16:20
mkanatjannn: But that might be troublesome if it changes mid-stream.16:20
jannnok, thanks for the comprehensive answers :)16:22
laurentyhey guys16:51
laurentycoming from svn, bzr looks really cool, but also kinda confusing...16:52
LeoNerdReally? It's supposed to look-and-feel really really similar16:54
LeoNerdbzr co URL; bzr di -r123; bzr ci -m "Here are my changes"; ...16:54
maxblaurenty: Any elements in particular you're having trouble with?17:13
maxbLeoNerd: Yesssss.... but only if you stick exclusively to the bound-branch workflow, and even then, branching is quite different17:13
=== beuno is now known as beuno-lunch
laurentyLeoNerd: yes a lot of the stuff is very similar, but the distributed repository stuff can get confusing when you're used to having a central repo17:33
LeoNerdAhyes17:33
laurentymaxb: pull, push, bind, merge...17:34
laurentysvn had merge that was it17:34
maxbPerhaps you should start with some tutorials: http://doc.bazaar.canonical.com/bzr.2.1/en/tutorials/index.html17:35
=== beuno-lunch is now known as beuno
laurentymaxb: I read the 5 minute version, I'll have to spend some time with the full tutorial18:08
vilaand some basic vocabulary: http://wiki.bazaar.canonical.com/MatthewFuller/SpotDocs/PiecesInBrief18:08
rephormatgreetings fellow coders18:52
rephormatHow is everyone doing this afternoon?18:52
=== nlisgo_ is now known as nlisgo
damirocan anyone help me with the following error message: "aborting commit write group: MemoryError()" and next line was "bzr: out of memory". this happened on a local initial commit with many files. the project is about 2 GB with some larger binary files.21:06
ikus060Hi, I'm evaluating Bazaar and have a quick question. I'm wondering is the .bzr directory will grow as I add more file in the repository and if yes, how much ?21:11
ikus060I'm concern because with SVN, the .svn directory contain a copy of the original file. So it's double the space required on the disk.21:13
damirohi.. i'm also new to bzr. but afaik the directory will grow on commits21:13
damirofor each change a delta will be stored21:15
ikus060the delta is stored locally in .bzr directory ?21:16
damirolook at http://doc.bazaar.canonical.com/bzr-0.9/tutorial.html21:17
damirochapter "creating branch"21:18
ikus060damiro : I know how to create a branch. It's not the point. I'm questioning the internal of bazaar21:18
ikus060whats does .bzr directory contains ?21:19
rephormatWhat do you mean what does it contain?21:21
damirohmmm.  it seems to be the only place that will be used for all data21:21
damirobut i'm not sure about that21:21
damiroi seems we are currently the only ones who are active here...21:33
damiroi found this: http://ddaa.net/blog/bzr/repository-branch-tree21:33
rephormatnice find damiro21:36
=== nlisgo_ is now known as nlisgo
=== nlisgo_ is now known as nlisgo
=== nlisgo_ is now known as nlisgo
ikus060Hi, I want to know is bazaar can handle a 20Gig repository22:54
PengUm. Maybe. Having a good 20 GB of RAM would help.22:55
ikus060What ?!22:56
PengBazaar likes to hold entire copies of things in memory.22:57
ikus060ouch22:57
mkanatPeng: Sometimes three or four copies of them.22:57
PengYah.22:57
PengYou should need your largest file * 2 or 3.22:57
Pengmkanat: Recent releases with 2a repos are better than that.22:57
mkanatPeng: For most things, yeah. I think annotate is still bad.22:58
PengA 20 GB repository created by tons of branches with small files should be fine, though, except maybe if it needs to do a large pack (or, god forbid, reconcile).22:58
Pengmkanat: Eh. Who uses that? :P22:58
ikus060Peng : Do you have another VCS to recommend me If I want to manage a big repository of 20Gig22:58
mkanatPeng: Hahahaha. This funny little program called "loggerhead", mostly. :-)22:58
ikus060As an example. One branch is 20Gig22:59
Peng:D22:59
mkanatikus060: What's so large? Do you have a lot of binary files in it?22:59
Pengikus060: Sorry, I don't. The awful, obtuse proprietary ones are the best at it, but I don't know a thing abotu them.23:00
ikus060mkanat : I have a lot of stuff including binary, xml, text, java and others23:00
mkanatikus060: In some ways, bzr is going to be really good for you, because you're going to get a lot of disk-space savings from the repository system.23:00
mkanatikus060: I think that in terms of handling large binary objects, though, bzr still needs improvement, last time I heard anything about it.23:01
ikus060mkanat : ok .. but I will run out of memory ?23:01
mkanatikus060: Well, what's the largest single file?23:01
mkanatikus060: (In the whole branch's history, not just in the current tip.)23:01
ikus060the largest file is binary 12Gig23:01
mkanatikus060: Yes, you will run out of memory.23:01
ikus060:S23:01
mkanatikus060: But I do have to ask--why are you storing a 12G binary in your VCS?23:02
ikus060will have a look at Git than23:02
ikus060mkanat : You should ask my CBC23:03
mkanatikus060: You do realize that in most VCSes, every time you revision that 12G binary, your repository will grow by 12G?23:03
rephormateww...23:03
mkanatUnless they have a binary delta algorithm and store binary deltas.23:03
ikus060mkanat : we currectly use ClearCase (IBM product)23:03
ikus060ans it's not a problem23:03
ikus060*and23:04
xnoxI'm a bit crazy tonight. I just had a thought. Brisbane-core is nice and all that but git-blobs are still more efficient spacewise. Does it make sence to create yet another git native format based on git-blobs with additional revprops and file-ids we use?23:04
xnoxOr will that not fit into bzr model?23:04
Pengxnox: See what bzr-git + dulwich do.23:04
Pengxnox: I don't think git is always more efficient.23:04
Peng90% of the time, but... :D23:04
xnoxPeng, I use that but it still feels slow. Cause I think there is still roundtrip to foreign23:05
xnoxPeng, well have you tried branching lp:gcc or lp:emacs?23:05
Pengxnox: God no.23:05
xnoxPeng, well downloading packs is fine23:05
PengActually, I think I have emacs somewhere.23:05
xnoxbut it takes ages to build working tree23:05
xnox(well in lp:gcc anyhow)23:06
xnoxwhere is git-svn clone is two eye blinks to get working tree23:06
PengWould git's format help with that?23:06
xnoxI don't know. I would think so. Although I think the bottleneck is the inventory / file-ids extraction23:06
xnoxcause during lp:gcc tree checkout it was looping at 100% CPU and generating inventory / file-id list23:07
xnoxmaybe that's why git is fast since it doesn't track file-ids at all23:07
PengI imagine there are lots of reasons git is fast.23:08
PengWhich mostly center around it being written in C by really clever people/23:08
xnoxPeng, well kernel hackers are out-of this world people ;-) who really do know their C =)23:09
PengAnd who really know how to get the best performance on Linux.23:10
damirocan anyone help me with the following error message: "aborting commit write group: MemoryError()" and next line was "bzr: out of memory". this happened on a local initial commit with many files. the project is about 2 GB with some larger binary files.23:10
Pengdamiro: There's not much to say. How much RAM do you have? What version of bzr? What repo format?23:10
damiroon a winxp32 box 4GB ram, version is latest stable, format is default23:11
Pengdamiro: Which version is that?23:13
xnoxdamiro, there was a bug about that. And a switch / flag to limit the memory usage23:13
damirov2.1.1, i don't used any flags like this23:14
xnoxBug #10911423:16
ubottuLaunchpad bug 109114 in bzr "[master] bzr holds whole files in memory; raises MemoryError on large files" [Medium,Confirmed] https://launchpad.net/bugs/10911423:16
damiroahhh... thanks :-)23:17
xnoxdamiro, your welcome although it doesn't solve the problem =)23:18
xnoxI would suggest to use multiple commits to get your tree23:18
xnoxand then create a new branch and do23:18
xnox$ bzr merge --force ../incremental-commits-branch23:19
xnoxthat way in this new branch you will have just revno 1 - [merge] initial commit23:19
xnoxthis way your history will look clean ;-)23:19
damirook, sounds good. i will try it out.23:20

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