/srv/irclogs.ubuntu.com/2007/10/18/#bzr.txt

fullermdWell, I think with bzr:// your access-control options currently reside in your firewall...00:00
ekimusand filesystem hopefully00:00
ekimustime for bed today, time for bzr tomorrow :) - thanks for clarifications00:02
fullermdOh, I guess.  I'd assumed you wouldn't have anything under bzr://'s root except what you wanted to serve.00:02
lifelessbzr has a soft chroot facility00:03
lifelessyou can limit it to a branch/repo easily00:03
lifelessand auth is done via the protocol00:03
lifelesse.g. ssh, or http provide authentication00:03
lifelessraw bzr:// does not currently have authentication, so its only suitable for anonymous access00:03
lifelessabentley: ping00:09
abentleyping00:09
lifelesslooking at this graph thing00:09
lifelessI'd like to change heads() to use a single parents() call each iteration00:09
lifelessrather than having a set of searchers00:09
abentleySo then how do you know when you're done?00:11
lifelessI'm decoupling the points we're at search wise from the parents() lookup00:13
lifelessso there would still be a searcher concept but its not being used to retrieve data00:13
kikohey guys00:14
lifelessthis means that each iteration will have just one parents() lookup, rather than one per side00:14
kikolifeless, do we need medusa to run the bzrlib tests?00:14
lifelessthe ftp ones yes00:14
kikolifeless, were these enabled recently?00:15
lifelessthey auto enable if they can00:15
lifelessif you'00:15
kikoodd00:15
lifelessif you're running the tests via bzr selftest it won't error if its absent00:15
kikobzr: ERROR: exceptions.UserWarning: You must install medusa (http://www.amk.ca/python/code/medusa.html) for FTP tests00:15
kikobzr 0.18.0 on python 2.4.3.final.0 (linux2)00:16
kikoarguments: ['./bzr', 'selftest', '-v']00:16
kiko** please send this report to bazaar@lists.ubuntu.com00:16
* kiko scratches head00:16
lifelessif you're running make check, which we use for regression tests on pqm, then it requires all optional modules to be present00:16
kikono00:16
kikoit's being run like this:00:16
kikopython -Werror ./bzr selftest -v00:16
lifelesswell00:17
abentleylifeless: Well, my inclination would be to have the searchers conspire to reduce lookups.00:17
lifelessremote the -Werror if you want to be able to not have medusa installed00:17
abentleyBut I wouldn't oppose your approach.00:18
lifelessok00:18
lifelessI'll spend some time grokking the code more00:18
abentleyi.e. you do next(), and it causes all searchers to buffer their next output.00:20
lifelessI think there are really three concepts here00:23
lifelessA 'reachability cache'00:23
lifelessor 'searched revisions' or something like that00:23
lifeless'getting parents'00:23
lifeless'choosing what revisions to examine next'00:24
lifelessI'll fiddle somewhat. Firstly I'm going to instrument it slightly to figure out what its looking at at the moment00:24
lifelessoh, hmm. just notced00:26
lifelessKnitParentsProvider looks up single parents at a time00:26
lifelessI'll fix this first00:26
lifelessabentley: btw, a note on the api, if I might00:28
=== kiko is now known as kiko-zzz
lifelessget_parents(["x", "x"]) seems to be awkward, it might be nicer to do the self-associating style of result I've done in the index layer00:29
pooliekiko, lifeless, that does seem to be a bug that it's giving a warning not a missing dependency - just old code i guess00:29
abentleyyes?00:30
poolielifeless, it looks like the packs megapatch still needs more reading, so i'm going to do that today00:31
poolieunless something else comes up...00:31
lifelessabentley: yah, if you cast the query into a set, or want to gather answers by the best IO pattern, you have to buffer and do housekeeping in the parents provider; but the caller actually doesn't really care AFAICT.00:31
abentleyI'm just doubtful that, in general, splitting the "searcher" part from the "parents retrieval" part is actually going to lead to more readable code.00:34
lifelessI'll be careful ;)00:34
lifelessfor now, I'm just implementing _make_parents_provider and get_parents directly on PackRepository00:34
abentleyYes, that will be much nicer.00:35
lifelessits a necessary step00:35
lifelessit may not be sufficient, we'll see00:35
lifelessmuch better00:40
lifelessstill kinda slow00:40
lifelessbut much better00:40
lifeless(it was fast enough I didn't have time to ctrl-C it)00:40
lifelesspoolie: yes, reading the packs patch is good00:41
igcmorning all00:42
lifelesshi igc00:43
lifelessbbiab, getting food00:43
igchi lifeless00:43
lifelesswhile this test runs00:43
=== mw is now known as mw|out
lifelesspoolie_: igc: incremental patch 2842 sent to bazaar-commits, and pushing now01:32
igcthanks01:33
lifelesshi nDuff , how are you ?01:42
nDuffbusy.01:42
nDuffinteresting times.01:42
nDuffyourself?01:42
lifelessYou live in China ?01:42
nDuffheh, no.01:42
lifelessBusy - putting the polish on our new repo format.01:42
fullermdWhich also has a negative effect on times, one hopes   ;)01:44
ubotuNew bug: #153774 in bzr "Unreachable network raises an AssertationError (bzr+ssh)" [Undecided,New] https://launchpad.net/bugs/15377401:45
nDuffHow are 'yall doing performance-wise these days in comparison with mercurial? I'm looking for a way to track the upstream portage tree we're using to build our servers; it's over 100,000 files, there are lots of removes and adds of similar files on a regular basis, but we don't care about much in terms of functionality beyond basic snapshotting.01:47
lifelesson my laptop01:48
lifelesswith crypted disk01:48
lifelesscommitting a 55K tree with a few changes, without specifying those files, is 20 seconds01:48
nDuffhmm.01:49
nDuffI'll probably want to benchmark current bzr for my use case, then01:49
lifelesswe're working on bring that down by a factor of four in the next month01:49
lifelessyou'll want to benchmark with the packs repository format01:49
lifelessthis drops the number of files in your repository [for your scenario] from 200,000 to 5 * log10(commits) * 10 as an upper bound01:50
lifelessspecifically a 100000 file repo with 10000 commits will have 5 data files. 10001 commits will have 10, as will 10010 etc, 10002 will have 15 data files.01:51
nDuffis that included in 0.91?01:52
lifelessnope.01:52
lifelessits what I'm polishing right now, the patch is being reviewed at the moment.01:53
lifelessI can throw up a tarball easily for you01:53
nDuffif you could do that, or just point me at somewhere I can pull from.01:53
lifelessthe place its hosted is in pack format already - I'm dogfooding :)01:53
nDuffahh.01:53
nDuffa tarball, then, yes.01:54
lifelesshttp://people.ubuntu.com/~robertc/packs.tar.bz201:56
lifelessyou need pyrex to build the C extensions, which you'll want for benchmarking01:56
lifelesswhat else, oh yeah, committing a merge is currently pathologically slow; its a bug in the logic in the new format that I'm fixing right now.01:56
lifeless(by pathologically, I mean 180 times slower than a non-merge commit)01:57
lifelessyou can run from source, just 'make' in the source dir, then symlink something to 'bzr'01:57
lifelessoh, and the last thing is that we currently don't remove the obsoleted files - the .bzr/repository/obsolete-packs/ directory - in production this will be not used01:58
lifelessto make a pack branch, do 'bzr init --experimental'01:59
nDuffI'm not worried about merging, so that WORKSFORME.02:05
nDuffI'll be sure to exclude the contents of obsolete-packs when determining space efficiency.02:05
lifelessyah02:05
lifelesswe haven't optimised for space yet02:05
lifelessthats probably another month or two down the track02:05
lifelesswe've got some very promising research figures though02:06
lifelessjelmer: I think I've found one cause of additional reads02:10
lifelessso, merge commits are improved lol ... 45 times slower02:25
* lifeless codes some more02:26
lifeless15 times slower02:31
fullermdHm.  I estimate that given your current rate, if you can keep that up for another 2 hours we'll be about 50x as fast as cp   ;)02:31
lifelessrofl02:32
fullermdExtrapolation FTW!02:32
piedoggieI tried upgrading an ubuntu 6.06 system to the latest bzr using apt-get banned it only knows about version 0 .17.  Is this the latest release supported for dapper or am I doing something wrong?03:22
* igc food03:29
* piedoggie tosses pizza03:29
ubotuNew bug: #153786 in bzr "pack repositories do not retry when concurrent operations pack" [Undecided,New] https://launchpad.net/bugs/15378603:30
ubotuNew bug: #153787 in bzr "annotation is slow in pack repositories" [Undecided,New] https://launchpad.net/bugs/15378703:35
ubotuNew bug: #153788 in bzr "pushing from packs to knits is slow and does not indicate why" [Undecided,New] https://launchpad.net/bugs/15378803:55
ubotuNew bug: #153789 in bzr "old packs are kept indefinately" [Undecided,New] https://launchpad.net/bugs/15378903:55
lifelessabentley: still around ?04:22
lifelessabentley: I've found the bug04:26
lifelessabentley: find_seen_ancestors accesses 1000's of revisions04:26
poolie_lifeless, to confirm, there's no good reason why our pqm needs to use https?04:50
=== jdong_ is now known as jdonginator
lifelesspoolie_: ack04:52
lifelesshows the review going?04:52
poolie_interruptedly, but getting more into it now04:52
poolie_one more question, about the bug of problems when retiring packs04:52
poolie_would it work better, i wonder04:53
poolie_to not move the packs, but instead keep a journal of retired packs04:53
poolie_and just exclude them from the index04:53
lifelesstwo problems with that04:53
lifelessone is reconcile/gc operations where you want to change the data clients see04:54
lifelessthe second is that it becomes a clock synchronisation problem04:54
lifeless(if you do it by count of operations a fast client breaks slow clients, if you do it by clock a bad clock results in clients being broken)04:54
lifelessnot to say its the wrong solution04:55
lifelessbut I don't think its any more complete, just will have some impact on frequency04:55
poolie_hm04:57
=== jeremyb_ is now known as jeremyb
lifelessspiv: is the search order of a set stable in a single process?05:58
lifelessspiv: that is if I have a set S, and do list(S) == list(S) is that guaranteed true ?05:59
spivlifeless: I don't think so.06:01
spivlifeless: because values with colliding hashes might come out differently, iirc.06:01
spivlifeless: http://rafb.net/p/WV5cRP27.html demonstrates a case where s_a == s_b, but list(s_a) != list(s_b).06:07
lifelessspiv: I don't care about different list instances06:07
lifelessspiv: just repeated iterations of the same list.06:07
lifelessI have an API to use that returns a list for the things in an iterable; if I pass in a set to it, I need the same iteration order to zip them back up again06:08
spivIf the two sets are constructed the same way, and are manipulated the same way (so have the same sequence of additions, removals, etc), then in CPython you're probably safe.06:08
lifelessno06:10
lifelessSAME INSTANCE06:10
spivOr if you're asking about the same set object, with no changes to the state of that set object between listifications, that's probably safe as well.06:10
lifelesssorry for shouting but it was clearly not getting through06:10
spivBut I don't think that's guaranteed.06:10
lifelessI'm looking for more than "probably"06:10
spivShouting on IRC doesn't hurt ears, I'll cope :)06:10
lifeless:)06:11
lifelessstill somewhat rude :006:11
i386Your so polite lifeless, yet irc so vile..06:12
i386wait, ive been drinking with you before. I take it all back06:13
spivlifeless: yeah, I cannot find any guarantees on that in the documentation (or source) for set or for frozenset.  It strikes me as something that it might be uncontroversial for frozensets to guarantee, but I doubt python-dev would extend that to sets.06:16
lifelessi386: :)06:22
lifelessspiv: thanks06:32
Tesla|Worksabdfl: hi, man :-)06:42
poolie_lifeless, hi, more than half done07:42
poolie_lifeless, several of the methods changed to return tuples- can you remind me why?07:42
lifelesstwo reasons07:44
lifelesshistorical data isn't meant to be mutable, so tuples are a better fit07:44
lifelessGraphIndex, which backs mapped knits returns tuples07:44
lifelessso the test was broken as some repo's returned lists and some tuples, so I had to coerce it one way or the other07:45
lifelessand I chose tuples07:45
sorenIf I have some code that I'd like automatically contain the revision number of the bzr tree it's in, how would I do that? Should I add a call to "bzr revno" somewhere in my build system to save it, or is there something like CVS' magic $Revision$ markers or something entirely different?08:21
mwhudsoni'm pretty sure there's nothing like $Revision$08:23
mwhudsonyou could probably write a post-commit-hook to put it in a file somewhere, i guess08:23
spivThere's no $Revision$ magic at the moment.  Keyword substitution leads to awkward problems that we haven't tackled yet.08:24
sorenAh, bzr has post-commit-hooks? I did not even know that. /me blushes08:24
mwhudsonat least, i think it does :)08:26
poolie_soren, you should use the version-info command to write it into a file08:29
sorenpoolie_: Ok.08:30
sorenpoolie_: How about commit hooks? Does bzr have anything like that?08:30
poolie_soren, yes, though at the moment they're exposed as python hooks not as shell commands08:32
sorenpoolie_: Oh, ok.08:33
poolie_basically, you should write a python module in ~/.bazaar/plugins/08:33
poolie_and have that call08:33
poolie_Branch.hooks.install_hook('post_commit', your_hook_here)08:34
poolie_we know many people would like to just specify a shell command and we will try to do that soon08:34
sorenpoolie_: Right. I'd especially like the commit hooks to be part of the source repository so that anyone using the source tree will have them.08:35
sabdflspiv: does your "speed up reconcile" patch also speed up check?08:53
spivsabdfl: it does, but it would only speed up the new checks added by the reconcile work.08:57
spivsabdfl: so I expect it will still be very slow.08:57
sabdflthanks spiv. i had to ^C a check on LP yesterday after 5 hours when it hit 1.7GB RAM08:57
spivOuch.08:57
sabdflany prospect of cutting that down easily?08:58
spivI don't know of any good reason why it needs to consume unbounded memory, so quite possibly.08:58
spivThat does smell a bit funny.  The check/reconcile code is a bit ugly, it has to delve into the sorts of details I didn't even know existed until quite recently :)08:59
spivBut I would not be surprised to find there's something grossly inefficient lurking in that code.08:59
=== poolie_ is now known as poolie
fullermdDoes seem like a section of the code that hasn't gotten much optimization attention.09:10
fullermdAfter all, only pessimists would run check in the first place   ;)09:10
mwhudsonyou would think that check could work one revision at a time and so that memory use shouldn't really grow09:18
mwhudsonmaybe that's naive though09:19
* fullermd points and laughs at mwhudson's naivete.09:20
=== ealden_ is now known as ealden
zerokhi :)09:38
=== mwh_ is now known as mwh
Slant_LaptopI checked out a Subversion repo using bzr. Then branched it to do some work. Now I can't remerge my work... apparently the repository formats are incompatible. Can anyone help me merge my code back upstream?12:28
Lo-lan-doWhat's your error message?12:30
=== kiko-zzz is now known as kiko
niemeyerWould you guys have anything to do with this spam: Britney Spears poses nude in Bazaar12:32
=== mrevell is now known as mrevell-lunch
Slant_Laptopbzr: ERROR: Repository KnitRepository('file:///home/scott/Projects/transit/move-to-paste/.bzr/') is not compatible with repository KnitRepository3('file:///home/scott/Projects/transit/transit-svn/.bzr/')12:34
Slant_LaptopLo-lan-do: Sorry, that was to you.12:35
Lo-lan-doHow recent is your bzr-svn?12:36
Lo-lan-doYou may have to do "bzr upgrade --format=dirstate-with-subtree"12:37
Slant_LaptopLo-lan-do: On which repo?12:45
Slant_LaptopLo-lan-do: Bazaar (bzr) 0.90.012:45
zerokno release this month? ;)12:49
jelmerLo-lan-do, the non-bzr-svn one12:50
jelmerzerok: been delayed a bit in order to have packs (new, much faster, format) in12:51
Slant_LaptopGrr.12:54
Lo-lan-doSlant_Laptop: I think "<jelmer> Lo-lan-do, the non-bzr-svn one" was for you12:54
Slant_LaptopNow it appears to have forgotten the common ancestor.12:54
Slant_Laptop:-\12:54
jelmerSlant_Laptop, was the original branch created using bzr-svn 0.3?12:55
Lo-lan-dojelmer: Will bzr-svn use that packs format, or will it keep its own non-documented format?12:55
Slant_Laptopjelmer: I don't know. Whatever is in gutsy. How can I check?12:55
jelmerLo-lan-do: dirstate-with-subtree is not bzr-svn specific12:55
jelmerit was meant to be the next format (as part of the move to nested trees)12:56
Lo-lan-dojelmer: I know, but apparently only bzr-svn uses it...12:56
jelmerLo-lan-do: bzr-svn requires a format that supports subtree data12:56
jelmerthere will be a variant of packs that supports subtrees as well12:57
Slant_LaptopOk, so now I'm trying to merge the branch back into the svn checkout...12:57
Slant_LaptopHow can I manually specify the common ancestor?12:57
Slant_Laptop(Which I happen to know is rev 80)12:57
jelmerI think you should be able to do something like 'bzr merge -r80..'12:57
jelmerbut that will just do a cherrypick, not track history12:58
Slant_LaptopIt says "all changes applied succesfully" but no changes have actually been made.12:58
jelmerperhaps "-r80..-1" or something12:59
Slant_LaptopWee.12:59
Slant_LaptopException.12:59
Slant_LaptopThat was fun.13:01
Slant_LaptopMy X session died.13:01
Slant_LaptopI missed anything that may have been said, sorry.13:01
Lo-lan-doSlant_Laptop: You didn't miss anything13:01
Slant_LaptopDarn. ;-)13:01
Slant_LaptopWell, then it does seem I'm kinda screwed. There isn't any way to get these patches upstream?13:02
jelmerSlant_Laptop: What exception did you get?13:02
Lo-lan-doYou can always try a bzr diff -rsomething and commit the patch to SVN by hand13:02
Slant_Laptopjelmer: One sec, I'll pastebi.13:03
Slant_Laptopjelmer: http://pastebin.com/d168541a813:04
jelmerSlant_Laptop: if this is a public project, please file a bug.. that shouldn't happen :-)13:06
Slant_Laptopjelmer: It's not, sorry. :-(13:06
jelmerother than that, I'd recommend just using diff and patch like Lo-lan-do says13:06
jelmeror perhaps version 0.1 of the rebase plugin13:06
Slant_LaptopThere's an awful lot of patches and logs. Darn.13:07
Slant_LaptopRebase?13:07
Lo-lan-dojelmer: By the way, current bzr-svn refuses to work with bzr 0.91.  Is that deliberate?13:07
Slant_LaptopLo-lan-do: I thought there was a way to export a series of patches with the version information attached to them, and then merge that into a tree?13:08
Lo-lan-doThat may be what's referred to as "bundles", but I haven't tried that yet.13:09
jelmerSlant_Laptop: yes, but that uses the same mechanism as merge13:10
jelmerLo-lan-do: yes, there were incompatible changes so the next version of bzr-svn will only be compatible with 0.9213:10
Lo-lan-doI see.13:10
Slant_Laptopjelmer: Oh, darn.13:11
jelmerSlant_Laptop: rebase (a plugin) just replays the commits while retaining commit metadata13:11
jelmerSlant_Laptop: You may be able to use 0.1 of that (http://bazaar-vcs.org/Rebase)13:12
Slant_Laptopjelmer: Checking that out.13:13
zerokjelmer, cool :D (sorry for the late reply... too many windows open :S )13:13
zerokfaster is great ... on my 12" powerbook bzr is dead slow :(13:14
jelmermwh: your push bug should be fixed now13:14
Slant_LaptopIs there a way to install plugins without needing root?13:18
Slant_Laptop:-\13:18
datosure. install them under ~/.bazaar/plugins/name_of_the_plugin13:19
Slant_Laptopdato: Cool. Thanks.13:21
datoSlant_Laptop: just note that the directory names should not contain hyphens. eg. install bzr-svn under plugins/bzr_svn or plugins/svn13:22
Slant_Laptopjelmer: Umm. Haha, I'm getting the same error. :-D13:23
jelmerabentley: ping13:24
jelmerabentley: do you have any idea what could be causing the error at http://pastebin.com/d168541a8 ?13:25
Slant_Laptopjelmer: How do you tell rebase the ... uh, base?13:26
jelmerSlant_Laptop: sorry, I have a class to attend right now13:26
Slant_Laptopjelmer: Ok. Thanks for your help thus far.13:26
jelmerif you'd rather fix this than use diff+patch, please send me an email (jelmer@samba.org)13:26
Slant_Laptopjelmer: I kinda need to commit several hours ago. ;-) So I'll be writing a script to diff+path now. Thanks, though.13:27
=== mrevell-lunch is now known as mrevell
sabdfldoes one need to run bzr check before bzr reconcile, or can one just run bzr reconcile?14:14
zeasierneed some help with bazaar advocacy14:30
zeasierdiscussing using it at work14:30
zeasierbeen using it a while personally and don't have much experience with svn14:30
zeasiersome one mentioned atomic commits14:30
uwszeasier: bzr has those as well14:31
zeasierwhere if part of the commit goes wrong the whole commit gets rolled back14:31
zeasieryeah i thought it did14:31
uwszeasier: cvs had per-file revisions, which sucks since it can leave you in an inconsistent state afaik14:31
zeasieryeah that's why i wasn't prepared for that question, never used cvs14:32
uwszeasier: and you can also use bzr in a centralised way, i.e. you have to be up-to-date to the "main" branch before you can commit14:33
sabdflzeasier: you can use it both distributed, and centralised like SVN14:33
zeasieryeah i've heard of this14:33
zeasiermostly been using it decentralized so far14:33
zeasiermaking good progress though only our sys admin needs convincing14:34
uwszeasier: server requirements are NONE.14:34
zeasierbosses seem to be alright with it14:34
zeasieryeah that's very apealing14:34
uwszeasier: but you can run a smart server for performance14:35
uwsbut sftp/ssh access is enough14:35
zeasieri was pretty happy with the built in ssh support in the fiesty release14:35
uwsthat's the recommended way to use it indeed14:35
zeasierthough looks like we'll be using the central bzr apt repo, because of days like today14:36
zeasierwhere half of the office has time to upgrade and the other doesn't14:36
zeasierdon't know how picky bzr is about different versions14:37
zeasierbut don't want to push our luck14:37
uwslatest versions are pretty compatible with each other14:37
zeroksmall question regarding the centralized approach: when commiting to the central repo, are there some hooks that could be used on the server to for example send update mails or update a feed?14:41
=== mw|out is now known as mw
zeasierthat sounds like a plugin issue (don't know the answer) might try to find some docs on plugin apis14:46
zerokyeah, i was just wondering since i found some docs on the hooks but everything smelled very client-sidey ;)14:49
zeasierone thing you could do is create a wrapper script14:49
zeasierlike zbzr or something14:50
zeasierintercept commit commands and send what you want14:50
zeasierthen forward the rest to bzr14:50
zeasierin anycase i'd imagine any solution you use would have to be client side14:51
zeasierunless the smart server has hooks or something14:51
zerokyeah. tnx :)14:52
zeasier(again don't take my words as authority)14:52
zerok;-)14:53
zerokanyway: time to go home. cu later :-)14:53
=== bac_afk is now known as babc
=== babc is now known as bac
=== cprov is now known as cprov-lunch
=== Solarion_ is now known as Solarion
hsn_bzr on windows is using builtin ssh client?16:54
hsn_i need to setup public key auth16:55
jelmeryes, it's using paramiko16:55
jelmerit should be able to talk to pageant, for example16:56
hsn_oh, it works17:02
hsn_how to reference user home directory in sftp url? sftp://hsn@10.0.0.2/~hsn/java-devel/ dont works17:03
=== kiko is now known as kiko-fud
* zerok wants to thank whoever insisted on making the api that simple :D http://dpaste.com/22802/18:22
james_wzerok: we tried to stop them.18:29
zeroki can imagine :)18:29
datooh, dpaste.com is pretty18:55
jam-laptopyeah, though it breaks all the indentation18:56
Pengdpaste.com sucks. When you reply to a paste, it doesn't link them together.18:56
jam-laptopunless there isn't any18:56
jam-laptopBut it is a little weird to iterate over all entries just to take the last one18:56
datojam-laptop: really? that'd be, uhm, bad.18:56
jam-laptopI suppose it is a little bit prettier than http://rafb.net/p/a6VXmd22.html18:58
datoI use rafb.net, but it annoys me when I have to paste non-ascii stuff: always serves my utf8 as latin118:59
Penghttp://paste.pocoo.org/ ?18:59
zerokjam-laptop, sure, it was just a quick-hack :)19:00
mwhudsonrafb only seems to keep pastes for about a day19:00
datojam-laptop: indentation seems to work here?19:01
jam-laptopdato: yeah, I just misread the initial post, it didn't indent anything19:01
datook19:01
zerokjam-laptop, and i couldn't find a simple way to get the last changelog entry for that specified file without iterating over all the revisions in the first place ;)19:01
jam-laptopI can't say I like the color scheme of: http://paste.pocoo.org/show/6556/19:02
jam-laptopbut it seems to have the same level of syntax highlighting as dpaste19:02
zeroklooks like the default pygments19:02
jam-laptopzerok: try this one19:02
jam-laptopzerok: http://paste.pocoo.org/show/6557/19:03
jam-laptopie.revision is the last revision that modified the file19:03
jam-laptopI think the difference between that and the log stuff19:04
zerokah thanks :)19:04
jam-laptopis that the log will also track down entries that merged it19:04
jam-laptop(So if I change setup.py and you merge it without changing, ie.revision points to me, but log will also include your merge)19:04
zerokrequires an explicit read-lock i guess :)19:04
jam-laptopzerok: yeah19:04
jam-laptopBut i would do that anyway19:04
jam-laptophttp://paste.pocoo.org/show/6559/19:05
zerokyeah sure, this was just more or less a quick hack to find out if this would end up like that expedition i had with hg in the same territory :P19:05
jam-laptopOtherwise it has to read the working state for the path2id19:05
jam-laptopand then read it again for the .inventory19:05
jam-laptopzerok: was it better or worse ?19:05
zerokwell, i'm still on the whole hg thing so bzr beat it by an hour so far :P19:06
zerokbzrlib.errors.InvalidRevisionId: Invalid revision-id {None} in KnitRepository('file:///Users/zerok/projects/rstsuite/.bzr/') :S19:06
jam-laptop... oh, that is because this is the working tree.19:06
jam-laptopsorry, you want the basis19:06
zeroknp, speed isn't really an issue with this project when it comes to determining that timestamp :)19:07
jam-laptophttp://paste.pocoo.org/show/6560/19:08
jam-laptopzerok: you could also look into "bzr version-info --all --format=python"19:08
zerokO_o19:09
jam-laptopIt dumps the state of the whole tree19:09
zerokwell, it will be used inside of a python program :-)19:09
jam-laptopand some basic information about the revisions to this poin19:10
zerokthanks again :)19:10
jam-laptoppoint19:10
jam-laptopThere is also a --format=rio19:10
jam-laptopand I think we are about to merge a --format=C19:10
zerokO_o19:10
zerokthere shouldn't be any problem with unicode in changelog messages, right?19:12
jam-laptopzerok: We support Unicode messages19:15
jam-laptopProblems are up to you :)19:15
zerokah ok, just wanted to make sure :)19:15
jam-laptopFor example, trying to commit a iso-8859-1 formatted message and your LANG=C19:15
jam-laptopor LANG=en_US.UTF-819:16
jam-laptopThe one we see the most often is someone trying to use Unicode19:16
jam-laptopbut their system claims to be ASCII19:16
zerok:S19:16
jam-laptop(thus we have no way to interpret it)19:16
zeroki had some problems a while back thanks to probably a broken bash or simply a missing font for my terminal and just switched to a VEDITOR ;-)19:17
=== kiko-fud is now known as kiko
ubotuNew bug: #154021 in bzr-eclipse "Reverse odering of revisions in Bazaar Log window" [Undecided,New] https://launchpad.net/bugs/15402120:01
gotgenesWhat's the syntax to rolling back changes on a file using bzr merge?20:05
james_wgotgenes: you want to make the contents of a file the same as it was a few revisions ago?20:08
james_wor you want to remove the changes made by a commit a few commits back in the history?20:08
gotgenesjames_w: that would be a bzr revert20:08
james_wyes20:09
gotgenesjames_w: is there a way to strip out changes from a particular revision?20:09
gotgenesthe second item20:09
hendrixskihey is this a good chanel to ask questions, or is it a dev channel?20:10
james_wgotgenes: bzr merge -r -3..-420:10
james_wand then bzr revert the files that you want to keep the same.20:11
ubotuNew bug: #154023 in bzr-eclipse "Missing message in Push progress dialog" [Undecided,New] https://launchpad.net/bugs/15402320:11
james_wI think that should work.20:11
james_whendrixski: this is a perfect place to ask, go ahead.20:11
hendrixskijames_w, cool20:11
james_wthough it might not be the best place to get answers :)20:11
hendrixskiI'm joining a startup. and we're contemplating cersion control20:12
hendrixskiI heard a talk by Linus about git, and why people who use SVN or CVS are "stupid and ugly"20:12
gotgeneshaha20:12
gotgenesI love that talk...20:12
hendrixskiand I heard bzr was easier to use20:13
james_whendrixski: I wouldn't listen to that too much.20:13
Lo-lan-doAccording to Linus, half of the people on Earth are stupid and ugly.20:13
Lo-lan-doAnd it's not always the same half, even.20:13
hendrixskigotgenes, yeah, he was telling Google developers that they're stupid20:13
gotgeneshendrixski: I think Bryan O'Sullivan's talk on Mercurial was much more informative20:13
gotgenesper DSCM20:13
gotgenesor DRCS20:13
james_whendrixski: bzr does aim to be easier to use than git yes. with it is is up to you though.20:13
hendrixskiLo-lan-do, lol  everyone except him20:13
gotgenesor however you like to call it20:13
hendrixskigotgenes, ah, I'll add that to list of things to research20:14
hendrixskiso... the question then is... for a business, that will be developing on top of some open source applications, and also makeing some proprietary components is bzr something we should consider?20:14
gotgeneshendrixski: check out some of my del.icio.us links http://del.icio.us/gotgenes/dscm20:15
gotgenesthe mercurial talk is in there20:15
* hendrixski check out gotgenes stuff real quick like20:15
gotgenesafter reading through, I decided on Bazaar20:15
james_whendrixski: I would say consider it definately, it might suit you perfectly.20:16
hendrixskigotgenes, now, DSCM stands for?20:16
james_whendrixski: first I would work out how you are likely to want to work, and see which systems allow you to do that.20:16
zerokhendrixski, distributed source code management20:17
hendrixskizerok, ah, makes sense20:17
james_whendrixski: then, as there will be at least one that can do what you want try them out and have a play, and see how they feel.20:17
james_whendrixski: I am assuming as you are a startup you will have developers that are happy using advanced tools, would I be correct?20:17
hendrixskijames_w, yeah, that's part of what we're trying to decide... if we're going to be working in the "there's only one official branch, and one lead dev who merges" or if we'll have everyone merge...20:17
hendrixskijames_w, that would be correct.  We're all about the latest tools.  Ubuntu, Xen, etc. etc.20:18
james_whendrixski: yeah, bear in mind that a distributed system allows you to defer that decision somewhat.20:18
hendrixskijames_w, although, bzr is kind of a new tool as well, and "all the rage"20:18
gotgeneshendrixski: What I like about Bazaar is that it still allows the centralized model to be used until the dev team has figured out how to move to the distributed model20:19
hendrixskijames_w, ah, that is a benefit20:19
james_whendrixski: also Bazaar allows you to work in a SVN style, where you don't even have to worry about merging, and then when you want to do more then you can go for it without affecting the other team members.20:19
* gotgenes points to james_w20:19
gotgeneswhat he said20:19
zerokhendrixski, well, basically all candidates imo are still quite young :)20:19
gotgeneszerok: exactly20:20
gotgenesbut my impression with Bazaar is that the project has direction20:20
zerokhendrixski, linux-only or do you also plan to support various operating systems?20:20
hendrixskijames_w, gotgenes, so basically one can set bazaar to "svn mode" and it has the look and feel of a centralized system... just with easier merges?20:21
james_whendrixski: many people prefer lots of branches and plenty of merging, but some feel that gets in their way.20:21
hendrixskizerok, mostly linux... it's for an appliance, and long term we'll need to make windows programs to interface with it.20:21
james_whendrixski: yes, for the core commands then 'alias svn=bzr' almost works.20:21
hendrixskinice20:21
james_w(i.e. bzr checkout, bzr commit, bzr update, bzr revert etc.)20:21
zerokhendrixski, in this case it will probably also be a criterium how easy the dvcs is to install on the platform20:22
james_whendrixski: do you have existing codebases?20:22
hendrixskiyeah, the too many branches thing scares me too.  When linux said " everybody has their own branch, sometimes many"... that sonuds like too much work20:22
gotgeneshendrixski: http://doc.bazaar-vcs.org/bzr.dev/centralized_workflow.html20:22
james_wonce you get used to it it can be very empowering, but it does make you keep a lot in your head.20:23
hendrixskizerok, my understanding is that any ftp server will do, right?  plus you can host a branch off your laptop, no?20:23
gotgeneshendrixski: http://bazaar-vcs.org/Workflows20:23
zerokhendrixski, yes, but i'm talking more about the "client" :)20:24
* hendrixski checks out the workflow link really quickly20:24
zerokfor example there are some tools that are quite a pain to install on windows20:24
hendrixskizerok, ah. that's good to know20:25
zerokalso some require additional tools for merging20:25
hendrixskizerok, such as?20:26
zerokhg requires a 3-way-merging tool since it does no merging by itself20:26
zerokor conflict resolution that is20:26
hendrixskijames_w, about your code-base question: we have two open source projects that we'll be working with, those code bases exist... and we have a few things we've tinkered with, but for the most part... no, no code base of our own yet.  very early stage20:27
hendrixskizerok, hg?20:27
zerokmercurial, hg http://www.selenic.com/mercurial20:27
* hendrixski check out link20:28
hendrixskizerok, ah... hg = mercury,  so it's the company name... lol20:28
zerokmore the product name, but yeah :)20:28
zerokas has been said, there are 3-5 options you have and you will probably do best by just checking them all out ;)20:29
hendrixskijames_w, so does bzr also work well for pulling from upstream svn servers and making our downstream modifications?20:29
james_whendrixski: you don't have to say what they are, but how large are the codebases? (no of files in working tree).20:29
james_whendrixski: the marvellous bzr-svn does that.20:30
hendrixskizerok, yeah.  we may just do that, I just have a TON of questions to help me know what to expect. :-)20:30
hendrixskijames_w, and that's still beta, right?  is it industry deployment ready?20:30
hendrixskione is about 15,000 files,  one is probably 4,000 files20:31
james_wyeah, I guess it's still beta. jelmer is very responsive, and it works well on a lot of things, but I wouldn't embed it in a product or anything yet.20:32
hendrixskivery little of it will be modifying that code base... more just building on it.20:32
jelmerpulling data out of svn works pretty well, pushing data into it has a couple of open bugs20:32
gotgenesjames_w: Do you know where the documentation on how to use bzr-svn to convert a Subversion repository to a bzr repo is? I successfully installed bzr but am not sure how to use it.20:32
james_whendrixski: you've probably heard that bzr isn't the best for performace, and those sizes are quite large, but things should be getting better.20:33
gotgeneser, installed bzr-svn20:33
jelmer(none very big though)20:33
james_wgotgenes: bzr branch svn://whatever/trunk/20:33
hendrixskijames_w, ah, and that just made me realize, bzr itself is not at version 1.0 yet... is it production-ready?20:33
james_wgotgenes: there is also svn-import if you want a full import of everything.20:33
hendrixskiactually... how do I check the number of files in a directory?20:34
jam-laptophendrixski: well, we have 8k+ unit tests which make sure we don't do anything foolish20:35
zerokhendrixski, including subdirectories?20:35
jam-laptopI would argue that we have been more stable than most for a long time20:35
zerokhendrixski, find . | wc -l20:35
hendrixskizerok, yeah20:35
gotgenesjames_w: how does svn-import work? bzr svn-import is an unknown command20:35
jam-laptopWe are also approaching 1.020:35
hendrixskiah, nice20:35
jam-laptop(hence the jump to 0.90+)20:35
hendrixskioh... wow, way smaller than I thought... they're both at about 5K files20:36
james_wthere have been a few of regressions recently, so it's not perfect, but generally it is stable.20:36
james_whendrixski: jam-laptop will be able to give you and idea of the performance of that better than me.20:36
james_whendrixski: there are many people who run of the tip of bzr.dev (i.e. always running development code), and there are few problems that hit.20:37
jam-laptopjames_w: yeah, well we made some pretty major changes recently, and part of that ended up jumping from 6k tests to 8k :)20:37
hendrixskijam-laptop, james_w, ah, so _mostly_ stable, would there be anything that would be considered a "show=stopper" like, it eats your code base if you misspell something?20:37
jam-laptophendrixski: not that kind of bugs20:38
hendrixskiok20:38
hendrixskiwell.  from everything I'm hearing here it sounds like I'll tell the coworkers that we should try it out20:39
hendrixskinow, I can just apt-get it in Ubuntu and try it out, right?  with that svn command james_w mentioned up above.  no other major headaches?20:40
jam-laptophendrixski: sure, though you may want to add the new apt repository20:43
jam-laptophttp://bazaar-vcs.org/releases/debs/20:44
jam-laptopwith fiesty,edgy,dapper depending on what you are using20:44
jam-laptop(We are on a monthly release cycle, so you can usually get something a bit better from there)20:44
jam-laptop0.15 specifically was one of the ones with some regressions in our rename tracking20:45
jam-laptop(The biggest regressions we've had are that sometimes Bazaar gets confused about the working tree, we've never, to my knowledge, had data loss from committed data that wasn't hardware problems)20:45
hendrixskiah, well.. gonna be switching to gutsy as soon as we verify (on a VM) that it doesn't break anything... but that repo you listed will always have a newer version?20:45
jam-laptopI'm not sure which version gutsy has, but it obviously had a freeze a month or so ago20:46
hendrixskiyeah, .15 is the one I see on the feisty repo's now.  By regression, you mean a step back where things went afoul, right?20:46
jam-laptopjust a "echo deb http://bazaar-vcs.org/releases/debs/gutsy ./ >> /etc/apt/sources.list"20:46
jam-laptophendrixski: something that worked in 0.14 stopped working in 0.1520:46
jam-laptop(regression)20:46
hendrixskioh, I just added it using vim... I guess it's faster to echo, huh20:47
jam-laptop0.16 fixed almost all of them20:47
jam-laptop0.17 squashed the last ones I knew of20:47
hendrixskiI C20:47
hendrixskigood thing I'm not gonna be test driving .15 then :-)20:47
hendrixskithat probably saved me a headache and a half.  thanks jam-laptop :-)20:47
jam-laptopyeah, I know we wanted to get an update into the official Feisty repos20:49
jam-laptopbut they are pretty strong about not abusing "Security"20:49
jam-laptopsince it wasn't a strictly security issue20:49
jam-laptopAnd I'm not sure what the other issues were with the other 'backports' or whatever20:49
hendrixskiand they didn't want to put in a few dpatch's into the packages to fix the regressions?20:50
jam-laptopWell, the fixes came long after Feisty was released20:51
jam-laptopwell, after20:51
jam-laptoponly like a month :)20:51
hendrixskiwell, in a 6 month release cycle, a month is a long time20:51
jam-laptop0.15 was a pretty massive upgrade over 0.14 in other respects, it just brought a lot of code in20:52
jam-laptopand there were a couple bits that weren't correct20:52
jam-laptopmostly on handling projects with lots of files.20:52
jam-laptop5k shouldn't be a problem20:52
hendrixski:-/  oh, the sources.list thing... had to change it to **vcs.org/releases debs/  for apt to accept it :-/20:53
jam-laptophendrixski: sounds like you are still missing some bits20:54
jam-laptopit *should* be20:54
jam-laptopdeb http://bazaar-vcs.org/releases/debs/gutsy ./20:54
jam-laptopor20:54
jam-laptopdeb http://bazaar-vcs.org/releases/debs/feisty ./20:54
jam-laptopin your case20:54
hendrixskiand I'm missing a gpg key20:54
hendrixskiyeah, I cw'ed gutsy to feisty20:55
hendrixskimeh, I'll figure it out20:56
jam-laptopI think it is a20:56
jam-laptopgpg --recv-key XXX20:56
jam-laptopgpg --export XXX | sudo apt-key add20:56
jam-laptopsorry20:56
jam-laptopgpg --export XXX | sudo apt-key add -20:56
hendrixskiI gotta get back to "real work" and not "dicking around on IRC" ... even though I solve more problems on here than anywhere else20:57
jam-laptophendrixski http://bazaar-vcs.org/DistroDownloads20:57
hendrixskiah, right, gpg --export20:57
jam-laptop gpg --keyserver subkeys.pgp.net  --keyserver-options http-proxy --recv-key EEA6AD6A20:57
jam-laptop    gpg --armor --export EEA6AD6A | sudo apt-key add -20:57
james_whendrixski: sounds like 'research' to me, I'd class that as real work.20:59
hendrixskiman, I have to comment out all the ubuntu repositories in my sources. list 'cause they're slow as balls... I guess their servers are going at a snails pace due to gutsy frenzy21:01
hsn_there is new ubuntu release?21:02
jam-laptopyeah21:02
hendrixskijames_w, I would too, I guess my coworkers went on IRC a few times and talked about... whatever, porn or something, so they think it's a bunch of neck-beards talking about useless crap21:02
jam-laptopgutsy is out21:02
hendrixskihsn_, yeah, 7.10 hit servers today21:03
jam-laptopI thought 'apt-get install' was a bit slower than usual21:03
james_wjam-laptop: is .get_weave_or_empty going to stick around. It sounds weave specific. Is it just an unfortunate name to get something with a generic interface?21:03
jam-laptopAccording to the other channel21:04
jam-laptopUbuntu is going at about 7Gb/s21:04
hendrixskiyeah, those servers are handling about 6 million people downloading an entire distro... in one day21:04
jam-laptopAnd if you count mirrors21:04
jam-laptopit is something like 18 Gb/s21:04
jam-laptopApparently to be an official US mirror you need >50Mb/s21:05
jam-laptop(just reading this from the other channel)21:05
hendrixskisweet. got it to show up version .1621:08
ubotuNew bug: #154045 in bzr-eclipse "Add support for bound branches" [Undecided,New] https://launchpad.net/bugs/15404521:20
sohmestraI've got bzr-svn (0.4) installed, along with python-svn, and subversion on debian etch. However, when I attempt to branch a subversion branch, it tells me that the python svn bindings aren't installed.21:27
sohmestrasee: http://dpaste.com/22833/21:27
jelmersohmestra: you need python-subversion, not python-svn21:27
sohmestradoh!21:27
ubotuNew bug: #154047 in bzr-eclipse "Add push after commit checkbox into commit dialog" [Undecided,New] https://launchpad.net/bugs/15404721:31
dato(http://chistera.yi.org/~adeodato/code/scripts/web/dpaste/)21:32
jelmerdato: after some more thought21:34
jelmerdato: I don't think merges can be rebased at all21:34
jam-laptopjelmer: why couldn't you rebase them?21:49
jam-laptopI suppose it should have human intervention21:49
jam-laptopbut it would just be repeating the merge with a new parent21:49
jam-laptopOr it could even be implemented as replaying the diff21:50
jelmerjam-laptop: right, so you'd be replaying a merge21:50
jam-laptopand just setting the merge parent21:50
jelmerrather than reapplying the diff21:50
jam-laptopI would guess that is actually more what users would want (replaying the diff)21:50
jam-laptopsince it is likely to have whatever fixes they did21:50
jam-laptopAt least in my head "rebase" is redo what I did over here21:51
jam-laptopSo replaying the diff is reasonable21:51
jelmerbut if the branch on top of which you're rebasing already has a part of the changes you are trying to rebase things blow up21:51
jam-laptop(I would actually implement it as a cherrypicked merge over and over again)21:51
jelmerand that's usually the case21:51
jelmeryes, a cherry picked merge is what it's doing at the moment21:52
jam-laptopIf the branch you are rebasing above already has the changes you are rebasing you have the same problem21:52
jam-laptopI suppose that is less common21:52
jam-laptopthan if you had a merge21:52
jam-laptopjelmer: I think it is common if you are rebasing against Trunk and you have done some merges against trunk21:52
jam-laptopIt is not common if you are merging a 3rd party's changes21:53
jelmerjam-laptop: the situation here is21:53
jelmerwhere you have done some hacking of your own21:53
jelmerthen merged trunk and committed that merge21:53
jelmerthan ran 'bzr rebase'21:53
jelmers/than/then/21:53
jam-laptopYou could use ancestry checks to determine which is reasonable21:54
jam-laptop(if the merged revision is already present, skip it, else redo the diff and set the merge)21:54
jam-laptophttp://rafb.net/p/Fc4Gny15.html21:55
jam-laptopCertainly it doesn't make sense to set A as the merge parent of C21:55
jelmerright21:55
jam-laptopbut http://rafb.net/p/7z0Slc86.html21:56
jam-laptopIf you are rebasing C on top of B21:56
jam-laptop(ignore F in that graph)21:56
jam-laptopYou would want to keep D21:57
jam-laptopmerging into E21:57
datojelmer: mmm, was your comment actually directed at me?21:57
jelmerdato: yes, because of bug 12674321:58
ubotuLaunchpad bug 126743 in bzr-rebase "failure rebasing a merge" [High,Triaged] https://launchpad.net/bugs/12674321:58
jelmerjam-laptop: thanks21:58
datoah, thanks for the pointer. as if I could remember that. ;-)21:58
jelmervila: ping22:29
=== cfbolz__ is now known as cfbolz_
pooliegood morning23:15
mwhudsonhello poolie23:19
abentleyjelmer: It looks like that cherrypick is trying to add a file to a directory that isn't versioned.23:33
jelmerabentley: Is it ok for it to fail that way or is this a sign one of the trees is broken or perhaps a bug in merge?23:35
abentleyI'd call it broken handling of an obscure conflict.23:35
abentleyDefinitely a bug in merge.23:36
jelmerabentley: ah, thanks23:41
jam-laptoppoolie: good morning23:53
pooliejam-laptop, hi23:54

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