/srv/irclogs.ubuntu.com/2010/07/09/#bzr.txt

lifelessEdWyse_Office: depends on where its happening00:55
lifelessEdWyse_Office: where is it happening00:55
EdWyse_Officeon a commit01:01
lifelessthere are two likely possibilities01:01
spivGood morning.01:02
lifelessa) your dirstate is already damaged, so we need to replace it.01:02
lifelessb) you've found a new bug: congratulations.01:02
lifelessEdWyse_Office: what bzr version do you have?01:02
EdWyse_OfficeNot sure if that's entirely what you're asking for, but my user made a bunch of changes, and when she commits, there's a huge error message that's all about inconsitent delta.01:02
EdWyse_Officehehe01:02
EdWyse_Officethanks01:02
EdWyse_Office2.0.301:03
lifelessI *think* that has the various fixes in it. Did you start with that version, or has your user been using bzr for a bit ?01:03
EdWyse_OfficeThis user has been using this version since the start.01:04
lifelessok01:06
lifelessuhm01:07
EdWyse_OfficeI'm leaning toward bug now... I've committed directories one-at-a-time and am succeeding (so far).01:07
lifelessif we can get a copy of the dirstate and the commit command that was failing, that would help use determine the bug01:07
EdWyse_OfficeI hate windows. (ugh)01:07
lifelessthis would disclose file paths to the devs, but not file content.01:07
EdWyse_OfficeThere's nothing you couldn't see by visiting our web site anyway.. hehe.01:08
EdWyse_Officewell that's much better. I got it down to one file causing the problem.01:09
EdWyse_OfficeSo you're asking for .bzr/branch-lock/dirstate, correct?01:12
lifeless.bzr/checkout/dirstate01:12
EdWyse_Officeoops, yeah, that's what I meant. :D01:13
EdWyse_OfficeAh, I see... so if the file in question isn't even in dirstate, that might be my problem.01:17
lifelesswell01:22
lifelessyou are getting an error that is opaque01:22
lifelessso we should fix it01:22
lifelessdirstate + the command that fails + a 'bzr st' -> enough data for an engineer to fix, I think.01:22
lifelesshi spiv01:28
spivHey lifeless.01:42
chadrikhi all, i've got a couple of quick questions about bzr. anyone here want to field them?01:52
spmchadrik: your best bet is to just ask them. if someone is willing and able to answer they will.02:02
chadriki need to version control some very large files. git's loose object store is very well suited to this purpose, but i would really prefer a user-friendly dcvs written in python02:07
mkanatIt's amazing how three people have come and asked that question today.02:08
chadrikmercurial is just too slow and wasteful with large files: renames cause duplicate data (and time associated with this), and delta compression wastes time.02:08
chadrikhaha02:09
mkanatchadrik: bzr is also currently rather wasteful, last time I checked.02:09
chadrikso, i come to bzr with the hopes of finding a middle ground02:09
mkanatchadrik: It's something that should hopefully be improved in the future.02:09
mkanatchadrik: The problem that I know about right now is that bzr uses RAM in an amount somewhere between 3x and 6x the size of the largest file it deals with.02:10
chadrikhg has similar problems.02:11
mkanatI think lifeless or jam was talking about doing something about it. Or maybe it was somebody else; I forget.02:11
chadrikin reading through the docs, it seems that bzr is designed in such a way that it is possible to add new storage formats02:11
chadriki imagine this is quite a bit of work02:12
spivIt is.02:12
spivThere's a bug about the excessive memory consumption when dealing with large files.02:13
chadrikbut it is designed to be able to use different models? is this correct?02:13
chadrikso it would be feasible to implement a model designed specifically to handle large files?02:13
spivThe short answer is we know how to fix it, but it's a fair bit of work and not a priority for Canonical staff at the moment (our priority is making bzr handle source code really really well).02:14
spivDefinitely; see the bug for some discussion.02:14
chadrikfor me, the memory thing is only part of the problem.02:14
spiv(I think it would be feasible to implement a format that copes well with large files with no significant penalty for smaller files)02:15
chadrik90% of what i need to version control are large binary files, many over 1GB02:15
chadrikbefore i go further with this, let me ask a couple of basic questions02:16
chadrikdoes bzr currently use deltas for large files?02:16
chadrikspiv: where can i find the bug?02:17
chadrikmy hope is to create a storage format like git's loose object store, but where the file/blob data is left completely unchanged. blobs in the store will be read-only, such that they can safely be hard linked or symbolically linked into the working directory02:27
rubbschadrik: IIRC this is the bug you're looking for: https://bugs.launchpad.net/bzr/+bug/10911402:36
ubot5Launchpad bug 109114 in Bazaar "[master] bzr holds whole files in memory; raises MemoryError on large files (affected: 21, heat: 188)" [Medium,Confirmed]02:36
chadrikrubbs: thanks02:36
rubbsnp, it could be wrong, but I think that is the onw spiv was talking about02:37
chadriklooking now. def looks like the one02:39
rubbsIt's been a while since I've been involved with bzr as a project. Work and other pressing projects have taken my time, so I'm more or less out of touch.02:40
rubbsI lurk here so I don't get left too far behind ;)02:40
chadriki've come to realize that what i need is just too specific to expect to find it natively in a dcvs.02:41
chadriki guess i'll look into what is necessary to implement a new storage model02:41
rubbsAFAIK it's pretty hard, but it might be worth trying. The devs here would help you out I think. It could be useful for other too.02:43
chadrikhave you heard of dulwich?  it's a pure-python implementation of the git object model02:44
chadrikmy goal would be to use it to drive the new storage model02:45
lifelessgit has the same problem chadrik02:46
lifelessbzr's core is plenty sufficient to implement sharding of large files on02:46
chadriklifeless: do you mean the memory consumption?02:47
lifelessyes02:47
chadrikmy use case is pretty specific since i will be working almost entirely with non-mergable binary files02:48
chadrikeffectively, i'll just be copying files into the store. i'll just need to read them in order to generate a hash02:49
chadrikmerging is simply a matter of choosing A or B02:49
chadrikonce the files are in the store they are made read-only.  then they can be symlinked or hard linked into the working copy02:49
chadrikspecifically, my use case is this: provide many users read-only access to large binary files on a local file system02:51
lifelesspoolie: ring whenever04:43
=== mtaylor is now known as Trouble
=== Trouble is now known as mtaylor
cpsmusicHi05:33
cpsmusicI'm new to Bazaar05:33
cpsmusicBut I've worked with SVN05:33
cpsmusicI have a question05:33
cpsmusicI've setup up a branch of a project on Launchpad05:33
cpsmusicBut I can't figure out how to check it out05:34
cpsmusicI keep getting an error msg saying05:34
cpsmusicbzr: ERROR: Not a branch:05:34
parthmcpsmusic: what is the command you are using?05:34
cpsmusicthe branch is at05:35
cpsmusiclp:~cpsmusic/pencil/audio05:35
cpsmusicI've tried05:35
cpsmusicbzr branch lp:~cpsmusic/pencil/audio05:35
cpsmusicalso05:35
cpsmusicbzr checkout lp:~cpsmusic/pencil/audio05:35
parthmcpsmusic: the branch page ( https://code.launchpad.net/~cpsmusic/pencil/audio ) says "This branch has not been pushed to yet."05:36
cpsmusicyep I saw that05:37
cpsmusicwhat does it mean05:37
parthmlooks like you created the branch with the webui (?). you will need to push it up.05:37
cpsmusici thought pushing was like committing changes05:37
cpsmusicah05:37
parthmif its new content, you should be able to bzr init; and bzr push lp:~cpsmusic/pencil/audio05:37
spivcpsmusic: how did you create the branch on Launchpad?  Typically if you are starting a project you just "bzr init" a directory locally, make and commit some changes, then you "bzr push" to publish that branch to somewhere like launchpad.05:38
cpsmusicit's a branch of project that's already on Launchpad05:38
cpsmusicI used the web pages05:38
spivOk, if you want to make a branch of an existing project, it's just "bzr branch $existing_branch" to your local system, and when you have changes locally you want to publish, "bzr push" them somewehre05:39
cpsmusicI used "Register a branch" on Pencil's Code page05:39
cpsmusicAh, I see05:40
cpsmusicI thought that once I made the branch I'd have to checkout from it.05:40
spivThe "Register a branch" link is an attractive nuisance for branches you are making yourself :(05:43
spivYou don't need to register it in advance at all, you can just push to create the branch on Launchpad.05:46
macogit user?05:47
spivSVN, apparently.05:47
spivAre you thinking it's confusing vs. how github operates?05:47
macowell i remember keybuk getting all upset about how git's hard to use because you have to *do things* on the remote server before pushing, unlike bzr05:48
spivAh right.05:50
cpsmusicthe thing I found confusing was that once "Registered a branch" I thought there would be a complete branch05:51
cpsmusicIt's actually just a placeholder until the first lot of code is pushed into it - is that right?05:51
lifelessyes, don't use it in fact,.05:52
lifelessits something we want to delete05:52
parthmcpsmusic: i never use the "register a branch" feature. to branch from existing project, I tend to use 'bzr branch lp:proj && hack && bzr push lp:~username/proj/branch-name'05:53
cpsmusicI'm new to Launchpad and Bazaar - it was the first thing I saw05:54
cpsmusicand I was told to make a branch there by one of Pencil's devs05:54
lifelessyeah05:54
lifelessits confusing05:54
lifelessthats why we want ot remove it ;)05:54
parthmi was going through the large file mail on the mailing list and decided to do a 'bzr mv' experiment with a 100MB file. http://pastebin.com/G5vqByFM05:54
parthmi was surprised to find that the mv increases the space used by the file size. is this expected? i was under the impression that files moved are meta data.05:55
parthm^ s/space used/size of .bzr/05:56
lifelessparthm: ?05:57
parthmlifeless: hi05:57
parthmlifeless: i was just wondering why the space usage goes up. i know bzr as first-class support for files so i thought mv would probably be some meta-data update. is that not the case?05:59
lifelesswhat do you mean by space usage goes up05:59
fullermdDon't commits just always store fulltexts of every file touched?05:59
lifelessfullermd: yes, because snapshot based.05:59
macoshould just store a diff05:59
spivlifeless: see his paste; 'du -hs .bzr' goes up05:59
lifelessoh06:00
lifelessparthm: do a bzr pack06:00
parthmlifeless: for a 100mb file the mv makes .bzr go from 100mb to 200mb06:00
fullermdYes, but I mean physically storing fulltexts, not delta compressed 'till pack.06:00
lifelessfullermd: yes, exactly.06:00
parthmthe file doesn't compress as its /dev/urandom data.06:00
lifelessparthm: every time a file changes we store the file under (fileid, revisionid) in our tuple space.06:00
* parthm runs pack command.06:00
parthmlifeless: i haven't changed the file. its just a mv. http://pastebin.com/G5vqByFM06:01
spivlifeless: where "changes" includes metadata changes, I presume?06:01
lifelessyes06:01
lifelessspiv: a refactoring I considered, but deferred in the 2a work was to separate 'inode data' and 'content data'06:02
parthmlifeless: neat. pack brings the size down to 101MB again http://pastebin.com/2Gv4NFHh06:02
lifelessspiv: which would have made a mv an inode-data only change, and not stored a text at all; the per file graph would be more capable there etc06:02
parthmlifeless: thanks06:04
lifelesshmm06:05
lifelessspiv: do 'bzr help other-formats' for me06:06
lifelessspiv: what do you see?06:06
* lifeless hates regressions06:06
spivlifeless: no formats06:06
spivWhich does indeed sound like a regression.06:07
parthmspiv, lifeless: so should the .bzr size not be going up in the first place?06:07
spivlifeless: separating out the inode data does sound attractive.  Why was that deferred, just lack of tuits?06:08
lifelessspiv: yeah06:08
spivYeah, I'm not surprised :)06:08
lifelessspiv: which was accurately judged in hindsight.06:08
spivAgreed :)06:08
lifelessparthm: it should because you changed the inventory entry for the file. And that means it stores a copy of the file.06:08
lifelessparthm: then, when you pack they are identical and it just references a single compressed version06:09
parthmlifeless: ok. that makes sense. i was wonder what regression you were referring to.06:09
lifelessparthm: 'bzr help other-formats' should list rich-root-packs and other things like that06:10
parthmlifeless: oh. ok.06:11
parthmseparate inode-data and content-data would have been really cool.06:12
vilahi all07:43
vilaparthm: where are you  ?07:43
swathanthranbzr documentation site is down?08:02
lifelessshouldn't be08:02
swathanthranoh ok, pdnsd was down here08:04
detrituxhi. I have a problem: I just pulled my branch from launchpad and all my files are not writable (even if I do a chmod +w on them)09:27
detritux-rw-r--r--  1 ugo ugo 2426 2010-07-09 08:57 CMakeLists.txt09:28
detrituxchmod +w CMakeLists.txt09:28
detritux-rw-r--r--  1 ugo ugo 2426 2010-07-09 08:57 CMakeLists.txt09:28
detrituxany idea?09:28
mwhudsonwell, that's writeable by you now09:28
mwhudsonbut not by people only in the 'ugo' group or random others09:28
mwhudsonthis seems mostly sane...09:29
detrituxit's writeable by root only09:30
detrituxmy bad... it's my emacs that's acting crazy: I have the correct permissions, but I can't edit it with emacs... have to look into that09:50
detrituxcheers09:51
viladetritux: smells like a backup directory owned by root which forbids emacs to create backups, oh wait, you're not here aymore to read that :-/09:55
vilaI so love people asking questions in write-only mode :)09:56
mwhudsonyay09:56
Kennefhi11:22
KennefI have a problem installing bzr, could someone help me ?11:29
KennefI install it correctly on my Ubuntu11:30
Kennefand then when I launch it, it segfaults11:30
KennefI have absolutely no idea of what the problem could come from11:30
Kennefnobody ?12:50
maxbYou have not given much information - people would need to know 1) exactly how you installed it, and 2) exactly how it's crashing, to have a reasonable chance of starting a diagnosis12:57
Kennefok sorry for that13:01
KennefI installed it by adding the ppa to my system (add-apt-repository ppa:bzr/ppa), and then sudo aptitude update and sudo aptitude install bzr-explorer13:02
maxbThe best way to attract help on IRC is to make it easy for people glancing at the channel to quickly decide whether helping you lies within their skill set :-)13:02
Kennefand the crash has nothing special, I just "bzr-explorer" in my shell and it answers me "segmentation fault"13:04
Kennef:/13:04
Kennef(being right back, my boss pays me meal)13:04
maxbI am unfamiliar with bzr-explorer, try checking whether plain bzr works13:04
spivKennef: that's pretty strange, please file a bug with those details.  My best guess from the info so far is something mismatch with the python-qt bindings.13:43
Kennefmaxb: with my shell, bzr works perfectly, I can pull / push / branch without any problem. I will use that mean to work while I'm trying to find where the problem comes from13:58
Kennefspiv: I will do that, thank you for the advice13:58
=== khmarbaise_ is now known as khmarbaise
thropehow do I get my working tree to be at an earlier revision?16:34
thropebzr checkout -r 423 gives an error file exists16:34
parthmthrope: bzr update -r16:35
thropecool thanks16:36
parthmjam: ping16:36
thropeany loggerhead folks here? commit 424 breaks support for python2.4 (uses defaultdict)16:36
thropenot sure if you're planning to support python2.4 but as its still default on centos (as far as I know) I'd vote to keep it16:37
parthmthrope: bzr supports 2.4 so i would assume loggerhead would support it too.16:38
=== deryck is now known as deryck[lunch]
thropeill file a bug then16:39
jamhey parthm16:44
parthmjam: hi16:45
parthmjam: i was able to reproduce bug #603461 ... its python2.5 specific. i will look into fixing it.16:46
ubot5Launchpad bug 603461 in Bazaar "bzrlib.tests.blackbox.test_log.TestLogErrors.test_log_bad_message_re failing (affected: 1, heat: 6)" [High,In progress] https://launchpad.net/bugs/60346116:46
jamparthm: thanks16:46
jamalso, we should watch out for the "unprintable" exception16:46
jamWe might want to use "assertNotContainsRe"16:46
jamas we want to make sure the exception can be printed16:46
parthmjam: ok.16:46
jamparthm: are you working on that now?16:47
jamI would like to get it into the 2.2b4 code if possible16:47
jamwhich I want to release today16:47
parthmjam: regarding bt.test_errors, is that only for format check? i am wondering if the test case should import re and check assertion or just raise InvalidPattern("message") and check formatting16:48
parthmjam: yes. i can look into it now. i don't think it will be a big fix.16:48
jamthrope: so there was a brief discussion about this, but we now also depend on sqlite directly, which is bundled with python2.5+16:49
jamso if someone wants to put in the effort for 2.4 compat, we would probably take it16:49
jambut it isn't a strict focus like it is for bzr16:49
jamparthm: test_errors is generally just formatting tests16:49
jamfairly low-level testing16:49
jamit catches stuff like parameters that aren't passed correctly, etc16:50
parthmjam: sounds fine. i will add that also.16:50
parthmjam: ok.16:50
thropejam: fair enough - have to look at upgrading python then... th16:54
parthmjam: hmm. is there something special about the name "message" for the argument? changing this to "msg" fixes it in 2.5. python exception handling is the same so that wasn't the issue.17:03
parthmah. well. there is a comment in errors.py "'msg' is used instead of 'message' because python evolved and, in 2.6, forbids the use of 'message'."17:09
bigjoolshi all - can you make bzr reveal the location of the uncommitted branch you've merged?17:18
jamparthm: there is something special about message17:28
jambut I see you found that ):17:29
jam:)17:29
jambigjools: 'uncommitted branch you merged" ?17:29
jamthe location you just merged from?17:29
bigjoolsjam: yes17:29
bigjoolsso in a shared account, I can see where someone merged from if there's uncommitted changes17:30
jambigjools: generally not that I'm aware of17:35
jamyou can see the revs, but not the URL17:35
bigjoolsok - I'll file a bug, cheers17:35
=== deryck[lunch] is now known as deryck
parthmjam: https://code.launchpad.net/~parthm/bzr/603461-invalidpattern-python25/+merge/29587 .. i have tested it with Python 2.517:41
parthmi am assuming 2.6.2 works but I don't have that installed to try it.17:42
parthmlooks like the mp is merged. its late here. got to go ... bye.19:11

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