/srv/irclogs.ubuntu.com/2008/01/16/#bzr.txt

lifelessthat would be about right00:00
lifelessraw index reads - dictionary compressed00:00
lifelessget_parents as is in .dev - no compression at all00:00
lifelessI bet slapping a gzip around it and doing 64K of compressed data will more than compensate00:00
lifelessalso we could add a sliding window00:01
lifeless64K first response00:01
lifeless128K second response00:01
lifeless192K third response00:01
lifelessanother possibility is history shortcuts causing existing revisions to be retransmitted00:02
lifelessbut I'm not at all sure about a good way to avoid that without excessive server work (have to read the entire search from scratch each time, to generate the seen-and-do-not-transmit-list)00:02
lifelessinstrumenting the client to report on duplicate revision receipt with -Dhpss would be a good way to analyse this00:03
* spiv tries00:07
spivlifeless: wow, yes, lots of retransmitted revisions.00:10
lifelessright00:10
lifelessI'll get this patch finished, which will give infrastructure for handling this cleanly00:10
lifelessthe other two things are still good things to do00:11
lifelesswhats happening is that the path (say) 5 deep along mainline gets us deep history slowly00:11
lifelessbut the path 5 deep along long lived but rarely committed to branches takes us deep very quickly00:11
lifelessso that the first request gets us two different pointers in the mainline00:12
lifelessand the server doesn't know when the slower pointer advances up to where the faster pointer jumped to; so it does not filter out the results.00:12
spivlifeless: http://rafb.net/p/dv4ApB92.html00:12
lifelessthe client knows, so it only asks for what it does not have, but when the server expands the results, this occurs.00:13
spivlifeless: so by the looks more than half the data is wasted.00:13
lifelessspiv: thats ok, all the duplicates will be in data we're sending to counteract round trips00:13
lifelessspiv: so its not a huge failure; just expected00:14
spivRight, but at the expensive of other data we could be sending to counteract round trips :)00:14
spivs/expensive/expense/00:14
lifelessspiv: no00:14
lifelessspiv: thats where you are wrong; the server could choose not to send this data, but its not at the expense of the data needed to walk :)00:14
lifelesspossibly we could sensible advance past those pointers to choose up to 64K of additional data00:15
spivlifeless: I meant in an impossibly optimal world, the server would know what the client has already seen00:15
* spiv blinks00:15
spiv150.440 retransmitted revisions: 0 of 000:15
spivI guess those must be ghosts.00:15
lifelessso I think the biggest immediate problem is the lack of gzip on the content00:16
* spiv nods00:16
lifelessthat will increase the payload of 64K to == or > than packs achieve00:18
lifelesswhich will reduce the maximum iterations to traverse all history00:18
lifelessand thus the amount of retransmits too00:19
poolielifeless, do you remember the url of your progress bar branch?00:19
poolieif you don't offhand it's not a big deal00:19
ubotuNew bug: #183380 in bzr "init-repo using hpss on remote host should use format remote hostunderstands" [Undecided,New] https://launchpad.net/bugs/18338000:21
lifelessrevno 3034 is pushing now to http://people.ubuntu.com/~robertc/baz2.0/nested-pb00:23
lifelesspoolie: ^00:23
pooliethanxs00:24
spivlifeless: FWIW, in 111 get_parent_map calls, 38427 of 53606 items received were already transmitted.00:24
lifelessspiv: thanks00:26
poolielifeless, heh, looms :)00:27
pooliefoom, I added a summary of the release to the front page00:28
* igc dentist appointment - bbl00:28
ubotuNew bug: #183391 in bzr "setup.py should have project metadata" [High,Confirmed] https://launchpad.net/bugs/18339101:30
lifelesspoolie: ping01:46
pooliepong iddle i po01:47
lifelessI'd like a teddy bear that asks questions01:47
poolieurgently?01:47
lifelessyeah, I think01:47
poolieok01:47
pooliecall01:47
lifelessthanks02:00
lifelesspoolie: I don't understand your comment in bzrlib.tests.interrepository_implementations.test_interrepository.TestInterRepository.test_interrepository_get_returns_correct_optimiser02:14
=== jamesh_ is now known as jamesh
=== `6og is now known as Kamping_Kaiser
poolielifeless, the point of the comment is that the relation is not necessarily two-way02:43
poolieIR1 may wish to be tested with Rx, Ry02:43
pooliebut that does not guarantee that IR1 is the preferred interrepo for Rx,Ry02:43
lifelessso with that disabled the tests for IR1 may not execute02:44
lifelessas the tests are all written on the assumption that it is the preferred interrepo02:45
lifelessas the interrepo paramerisation chooses the Rx and Ry, we can guarantee that IR1 is the preferred interrepo for that combination if we wish02:45
pooliewell02:45
poolieas i recall, i disabled that test because there were some repos that were not parameterized correctly02:46
poolieand therefore appeared to be being tested,but they actually were not02:46
lifelessI'll look at it later; I think it explains some of the problems I encountered with the journalled inventory stuff02:47
poolieit does seem like it'd be useful to reenable it and see whether it fails, or at least what class causes it to fail02:48
Verterokabentley: hi, I was about to send a bug/error report regarding bundlebuggy.02:58
Verterokit's throwing a KeyError when I try to do a search02:58
Verterokhttp://rafb.net/p/VYvot846.html03:00
igcpoolie: how is 1.1 more efficient than 1.0 in storage?03:10
poolieigc, better ordering when packing03:26
pooliethat was my summary of one of the improvements03:26
abentleyVerterok: Okay, thanks.03:26
igcpoolie, lifeless: I thought that just made log faster? Does it reduce storage as well?03:27
pooliei meant efficient in time, i guess...03:28
pooliemaybe it implies space, and i don't think that has changed03:28
abentleyWhat  were you searching for?03:28
Verterokabentley: np, I tried to debug it locally, but no TG, etc installed in my laptop03:28
igcpoolie: cool. Just the wording "efficient storage" on the Welcome page confused me03:29
pooliefeel free to edit03:29
igcshall do :-)03:30
Verterokabentley: my email: guillo.gonzo, to check if and old merge request is still there03:30
abentleyOkay, so the issue is that Bundle Buggy contains some merge directives with an invalid format string.03:31
abentleyAnd when it's parsing those merge directives, the whole thing breaks.03:32
poolieok, out for a bit03:32
Verterokok, so it's only need a cleanup. (great it's not a bug :D )03:33
lifelesswell it is a bug I think; because people may send bad directives anytime03:38
lifelessso it needs to either ignore them on input, or filter them later03:38
VerterokI assumed the old directive isn't a recently submitted one, but you right03:43
AfClifeless: (I asked the other day about packs and bzr://, but I assume that if I switch both server and client+ repositories & branches to the new format it at least wont hurt, right?)03:54
abentleylifeless: I agree it's a bug.  I can patch around it in BB, but really bzrlib should never raise KeyErrors.03:56
lifelessabentley: I think letting KeyError though sometimes is ok03:59
lifelessabentley: but yeah BzrError stuff is usually nicer to work with03:59
abentley"Never" may be a bit strong, but I think it should be, pardon the pun, "the exception".03:59
lifeless:)04:00
abentleyOur public APIs are generally higher-level than that.04:01
lifelessI think deliberately exposing KeyError is ugly, but I think trying to catch every possible underlying error is a timewaste04:02
abentleySure.  I just think that cases where you can get KeyError are pretty obvious, and if you're surprised by them, it's probably programming error.04:21
Odd_BlokeI'm currently using bzr-svn to avoid SVN.  However, if I want to get a patch which looks like the one SVN would generate (to send upstream), what should I do?04:29
lifelessbzr diff --old svn://thing04:31
lifeless?04:31
lifelessI'm packing it in today; I'm a little under the weather (trying to avoid catching the lurgy Lynne has had for a bit(04:32
lifeless[not to mention I started early ;))04:32
Odd_BlokeNo '--old' option, apparently.04:32
lifelessdiff svn:// .04:33
lifelessthen04:33
lifelessbecause you have bzr < 1.004:33
Odd_BlokeThanks. :)04:33
Odd_BlokeYou may now go off-duty. ;)04:33
igcabentley: is lca going to become the default merge algorithm?04:39
abentleyI would like that.04:40
igcI'm thinking we should switch it early in a cycle to maximise testing04:40
abentleyI'm already aware of at least one bug.04:40
abentleyAnd it can't actually be LCA merge, because there are a few cases that LCA merge doesn't handle.04:41
igcah - ok04:41
abentleySo it needs to be "AutoSelectMerge", which would generally select LCA.04:42
igcunderstood04:42
abentleySo it's not just flipping a switch.04:42
abentleyBut maybe I should get hacking on AutoSelectMerge.04:43
igcabentley: lca sounds pretty sweet to me04:43
igcjust wanted to make sure we got more people benefiting from it by default04:43
igconce it is fully ready that is04:44
abentleyIt is pretty nice, and I'm using it as my default.04:44
igcvia an alias?04:44
abentleyYeah.04:45
abentleyI think it's the best in its class for handling criss-cross.04:45
abentleyBut there are other classes of history-based mergers that may handle certain cases better.04:46
abentleyThey are quite expensive for us to use, though.04:46
abentleyAnd they rely on data that's typically hidden from the user, so where they go wrong, they're completely impenetrable.04:47
igcabentley: sounds like the basis for a conference talk later this year say :-)04:48
abentleySure, that would be fun.04:48
AfC[Sorry for asking a question then dropping off; had an X crasher here]05:40
patternis there any way to tell bazaar to exclude certain files/directories when doing a "bzr export" ?05:59
AfCWhat does the (native) prefix on each line on `bzr help formats` mean?06:01
AfCpattern: not that I've noticed. Technique we've used quite successfully across darcs, git, and now bzr is to do the export and then to trim the stuff that's unwanted and then create the tarball from there (... all in the `make dist` target)06:02
AfCpattern: [among other things, getting the name of the top directory being tarred up corresponding to the standard release version number pattern]06:03
AfCpattern: [for example, the dist target in http://research.operationaldynamics.com/bzr/java-gnome/mainline/Makefile (third target up from the bottom)]06:04
AfCpattern: [though yesterday I learnt there was a slicker way to determine the no changes state]06:04
spivAfC: I believe (native) signifies that the format is not from a plugin.06:06
AfCspiv: that was my guess.06:06
spivAfC: in my bzr install, subversion isn't native, and the rest are.06:06
spivWhich is right; only the subversion format in that list is from a plugin.06:06
patternthanks, AfC06:06
patternnice makefile you got there :)06:23
patternAfC, tell me one thing... how do you populate that $(VERSION) in your makefile?06:23
patterndo you get if from bazaar?  or do you set it by hand?06:24
AfCpattern: our top level ./configure extracts it with a regex from a file called src/bindings/org/gnome/gtk/Version.java - it's a constant in the sources06:31
AfCwhich we then06:32
AfCwrite to an intermediate file.06:32
AfCBack up:06:32
AfC(context):06:32
AfCSo my approach to the configuration problem (called "Equivalence", ie, it's equivalent to configure) is a few steps:06:32
AfC[and note that this is a Java specific discussion; Java is a funny beast and has specific requirements and opportunities]06:33
AfCA. In Java, you only need to to 3 things: 1. Locate prerequisite libraries and form a CLASSPATH env variable | -classpath VM argument.06:34
AfC2. locate and qualify [test] Java compilers and then choose one06:34
AfC3. locate and qualify [test] Java runtimes and then choose one06:34
AfC(that may be installed; I'm a Free Java hacker and I play in the Classpath community, so switching between runtimes to test compatibility etc is a big deal for me; note that most people just think in terms of "is Java installed"06:35
patternhow does the version constant get in to the source?06:36
AfCbut given the lack of redistributability of Sun's Java for so so long (until about 18 months ago, only 6 months before Sun switched to announcing that Java 7 will be open source)06:36
AfCpattern: manually06:36
AfCpattern: that's the origin of the data06:36
AfC(ie, not data in configure.ac being pumped into a source file)06:37
AfCeven people with Java installed often have it in some wacky place. Total nightmare. Getting better, but still)06:37
patternok06:37
AfCB. If you know what operating system you're on, you know *exactly* where to look for things. Debian policy says gtk.h is in exactly this spot. Fedora packages put their .jar files in exactly that directory. Etc.06:38
AfCSo, figure out the OS, then probe specific locations. And if not found, you can tell the user exactly what package to install in order to to do something about it.06:39
AfCAnyway. That all takes place in what is (at present) a Perl file06:39
AfC[gotta hate prototypes. They never die. This is a > 1800 line Perl script. YEEETCH06:39
AfCtotally not normalized, been meaning to refactor it for now 4+ years, etc06:40
AfCas it happens, at this point, I intend to fold this experience into Robert's fabricate. So this whole discussion is somewhat academic. But I will now answer your question]06:40
AfCI used to use Make entirely for the actual build.06:41
AfC(as it turns out, after ~20 years of happily and successfully using Make I hit, in the space of single week, two show stopping limitations. But anyway)06:41
AfCSo what the top level ./configure spits out is06:42
AfCa Makefile fragment06:42
AfC[which we stash in .config]06:42
AfCwith nothing but the variable definitions06:42
AfCthe Makefile then simply does06:43
AfC-include .config06:43
patternah, i see06:43
AfCand ta-da is fully configured and instructed with options paths and variables06:43
AfC(anyway, the fact that the actual build is now a Python script is irrelevant - it sources the same data)06:43
AfCso to answer your question,06:43
AfC./configure grabs the version number out that source file, and then puts it in a line like06:44
AfCVERSION=4.0.506:44
AfCin .config06:44
AfCwhich is then available to the `make dist` target.06:44
AfCThat's it06:44
patternright06:44
patternmakes sense06:44
patternthanks for taking the time to explain that to me, afc06:44
AfCThanks. It's been a powerful design. I'm rather bitter I haven't had the time to refactor it. I have some pretty nice ideas about syntax for expressing prerequisite data  and configurations, (after all, I come from the Infrastructure Management world) but doing domain specific language parsers is sorta beyond my programming skill set at the moment.06:46
AfCI'm hoping that I'll be able to plug some of the conceptual aspects into lifeless's build system as it comes to fruition. Having had to write even an ad-hoc build engine I know how complex that work is - but how awesome it will be finally have something that's going to get it right.06:47
patternsounds like you're on the right track06:49
=== AnMaster_ is now known as AnMaster
* igc dinner07:50
=== asak_ is now known as asak
AfCbug 16428810:56
ubotuLaunchpad bug 164288 in bzr "bzr serve leaves connections in CLOSE_WAIT a *long* time" [Medium,Confirmed] https://launchpad.net/bugs/16428810:56
AfCIt's worse than I thought.10:56
fullermdIt usually is.11:09
AfCheh11:14
spivAfC: great blog post about open source11:55
=== asac_ is now known as asac
=== doko_ is now known as doko
AfCspiv: thanks mate12:41
ubotuNew bug: #183504 in bzr "'bzr status' crash if .bzrignore containts  Latin-2 chars" [Undecided,New] https://launchpad.net/bugs/18350413:00
=== mrevell is now known as mrevell-lunch
=== mrevell-lunch is now known as mrevell
abentleyubotu: paste14:38
ubotupastebin is a service to post large texts so you don't flood the channel. The Ubuntu pastebin is at http://paste.ubuntu-nl.org (make sure you give us the URL for your paste - see also the #ubuntu channel topic)14:38
Odd_BlokeHmm, I currently have my bzr-svn branch checked out at the root (i.e. with trunk, branches, tags).  Is there a way I can transfer the changes I've made to a new checkout of just 'trunk' without losing history?15:29
jelmerOdd_Bloke: No15:30
jelmersorry15:30
Odd_Blokejelmer: Not your fault, I suck. :)15:30
ubotuNew bug: #183539 in bzr-log-rss "Malformed XML" [Undecided,New] https://launchpad.net/bugs/18353915:31
Odd_BlokeI'm just going to end up submitting a single patch upstream anyways. :p15:31
Odd_Blokejelmer: I've just got http://paste.pocoo.org/show/21677/ .  Any idea what I'm doing wrong?15:41
jelmeryes, the version of bzr-svn you're using is too old for the version of bzr15:41
Odd_BlokeOh wait, I put the new one in the wrong place. ¬.¬15:42
Odd_BlokeThere we go.15:43
Odd_BlokeAll is well with the world.15:43
Odd_Blokejelmer: Thanks. :)15:44
Odd_BlokeAm I right in thinking that a branch of an SVN repo is resumable?16:04
jelmerOdd_Bloke: only if it's being run inside a shared repository16:06
Odd_Bloke\o/16:07
Odd_BlokeI did it right! :D16:07
Odd_Blokejelmer: Thanks again.16:07
dleeAnyone know if the Windows version of Bzr is supposed to handle gracefully the problem of having file name case change at random?  I'm working with an app that has the annoying habit of saving files with semi-random case for characters in the file extension.  This generated a conflict on a pull while ago.16:24
ubotuNew bug: #183559 in bzr "bzr switch should have a -r option" [Undecided,New] https://launchpad.net/bugs/18355916:35
Solarionis there a way to make bzr-svn not push a bunch of commits but instead just one, final commit?16:46
Solarioni.e. when I have made a lot of small changes ('cause that's my style), and then push it back to the svn server, bzr-svn commits each commit I made instead of just bringing the svn server up to the current version in one single commit.16:46
lukscommit to a feature branch, merge to trunk when it's ready, push to svn only from trunk16:47
Solarion"feature branch" is what?16:48
luksbzr branch trunk foo16:48
Solarionone I'm actively developing16:48
Solarionright16:48
luksa branch dedicated to a feature16:48
Solarionsounds complicated, but it's better than the insanity of keeping bzr and svn from stomping on each other in the same directory16:48
rjekI am routinely amazed by the number of people on the Subversion mailing list who can't operate a mail client.16:50
Solarionluks: so I geuss the answer is "no"; I'll have to maintain my own separate repo if I want to stay sane.16:51
fullermdrjek: I'd like to think I would be, but I think the N other mailing lists I follow have inured me to being amazed by such   :p16:51
luksbranch, not repository16:51
Solarionluks: what is difference?16:51
jelmerSolarion: it would be possible to provide a plugin that automates what luks describes16:51
Solarionjelmer: I'd rather just not commit each commit16:52
luksSolarion: http://doc.bazaar-vcs.org/latest/en/user-guide/index.html#branch16:52
luksSolarion: then don't commit each commit :)16:52
fullermdCommit to not commiting each commit?16:52
Solarionluks: I thought committing small changes was good16:52
rjekfullermd: I suppose so.  I like to still have some hope for the human race.16:52
Solarionluks: ah, thanks for the link16:53
jelmerSolarion: combining those commits would mean changing them16:53
jelmerSolarion, that breaks the basic model of bzr-svn16:53
fullermdrjeck: Hope for...   dude.  Myspace exists.  It's too late to hope.16:53
rjekWhy would you not want all the smaller individual changes pushed to the upstream subversion?16:53
Solarionjelmer: but it sounds like the commits are already combined when merging into another bzr branch16:53
rjekfullermd: You make a depressing but good point.16:53
rjekie, why would you want to lose history?16:54
fullermdThe thing to hope for now is "Maybe the asteroid will hit closer to them than me, so I can enjoy their demise before embracing mine   ;)16:54
rjek:)16:54
Solarionrjek: apparently my boss wants each individual commit to build, not just HEAD16:55
SolarionI don't want to guarantee that each commit will build; I want to keep a finer-grained history16:55
Solariononly make sure that what I push to svn actually builds16:55
jelmerSolarion: You have to commit a merge - that creates a new commit16:55
luksmerging branches to trunk is really the best solution for this16:56
jelmerSolarion: "bzr push" is meant to just propagate changes, not change them in any way16:56
jelmerSolarion: furthermore, if you combined revisions, you would have to have push change your local branch16:56
Solarionso I'm just failing to use the tool properly.  :)16:56
luksSolarion: just have two branches, "trunk" and "work"16:57
lukscommit small changes to work16:57
luksand then you are ready, merge to trunk, push to svn16:57
rjekSolarion: The usual way of doing that is to push to a branch in svn, and then merge that branch.16:57
luks(that's if you don't want to deal with feature branches)16:57
Solarionbut I'm already maintaining a feature branch, my local copy.16:58
luksthen you need also a mirror of svn trunk16:58
Solarionluks: why do I need a mirror?16:58
rjekIf you're just using bzr as a method of doing disconnected subversion, and you want your branches pushed as one big change, svk may be a better solution.16:59
luksto merge your feature branch to it16:59
Solarionrjek: I'm using bzr as a method of staying sane.  :)16:59
* rjek wonders if you can do some evil by having an svn checkout also be a bzr branch :)16:59
rjekadd .bzr to the svn ignore list. :)16:59
Solarionrjek: I've done that.  It kinda sucks.16:59
rjekI'm not surprised.16:59
Solarionthe suckage is maintainable when you just have a copy on your workstaion, but keeping workstation and notebook in sync gives you the full suckage17:00
rjekKeep a checkout of svn to one side, and then get bzr to give you a patch that you apply to the svn checkout?17:01
rjekPersonally, I'd push to a branch on the svn server, and then merge to trunk: that way revisions on the trunk always build and you don't lose history.17:01
Solarionrjek: what do you mean precisely?17:06
Solarion3 branches: svn repo, bzr trunk, bzr feature.  Merge between repo and trunk to maintain sync, push/pull between feature and trunk?17:07
fullermdOther way around, I'd think.17:15
luckythere was a command, at least back in the 0.11 version, that would show me the size of my repository in KB and so on, has it been removed?17:16
Solarionmerge between feature and trunk; push/pull between trunk and svn?17:16
fullermdYeah.  Or better, automate the second part by making the trunk a checkout of the svn tree.17:17
fullermdThen you can just 'update ; merge ../feature ; commit' to bring stuff in.17:17
SolarionI need trunk to be centralized17:23
=== brilliantnu1 is now known as brilliantnut
abentleySolarion: by "centralized", you mean you want it to be located on a central server?18:40
Solarionabentley: yeah18:42
SolarionI think I've figured out a good system18:42
Solarionplus, whenever it is I leave, my bzr branch can migrate with me without any loss of history or increase in annoyance18:43
abentleySolarion: you know about checkouts, right?18:44
=== brilliantnu1 is now known as brilliantnut
=== bigdo1 is now known as bigdog
Solarionabentley: "know about" in what sense?19:16
abentleyThat they allow you to keep your branch in one place and your working directory somewhere else.19:17
Solarion"they" who?19:17
abentleycheckouts19:18
Solarionyou mean checkouts from svn19:18
abentleyI mean Bazaar checkouts19:18
Solarionthere's no such thing as a bzr checkout19:18
abentleyI use them daily and was involved in their implementation.19:19
datolucky: bzr info -v19:20
abentleySee "bzr help checkouts"19:20
Solarionmy impression is that the two branches are on equal footing, aside from policy decisions19:20
datolucky: giving the size needed a bit of time, so it was moved from `bzr info` to `bzr info -v`19:20
abentleySolarion: I'm not talking about branches, I'm talking about checkouts.19:21
abentleyBranches, are indeed equal.19:22
Solarionabentley: ah, I wasn't aware of this then19:22
abentleyIf you want to maintain a branch on a central server, checkouts are a useful tool for that.19:25
Solarionindeedy19:26
hendrixskiI'm going to have to pull an earlier revision of something from an svn that happened before a certain date which I can easily find by doing bzr log19:30
* Solarion reads up on checkouts19:30
hendrixskinow I've tried this before, and I remember it's not just the revision number I need to get that from svn19:31
hendrixskibut forgot what... I was hoping someone can tell me what I'm supposed to be looking for?19:31
luckydato: ah, okay, thank you19:34
luckydato: thats what i was looking for19:34
datolucky: you're welcome19:34
jelmerdato: any chance you can sponsor an upload of bzr-pqm?19:36
datojelmer: yeah, send me a mail with the dsc url, and I can do it tomorrow19:36
hendrixskilike, I think I need a revision ID, but I can't seem to find a parameter for bzr log in the man pages that would also show me the reivision id19:36
datohendrixski: --show-ids?19:36
jelmerdato: Cool, thanks19:37
hendrixskidato, that did it19:37
hendrixskialrighty, now let's use that revid to pull from svn :-p19:39
* hendrixski crosses fingers19:39
Solarionabentley: interesting thing19:42
=== cprov is now known as cprov-out
dysingerSo anyone in here using bzr-svn on OS X Leopard ? :D I can't get it to work.20:42
rjekBah, I want to put over 100MB of test case data into version control.  That's not going to be comfortable.20:42
foomwell, with svn it's no problem. dunno about bzr. :)20:43
rjekIn svn, I'd just bung it in with the source, and choose not to check it out when I'm at the wrong end of a wet string.20:43
rjekBut that's not really an option in bzr.20:44
LeoNerdPut it in its own branch?20:44
rjekI could do.20:44
LeoNerdIt's a result of different world views. bzr has revisions. Within a revision, there are files20:44
rjekBut it kinda breaks my neat hierachy. :)20:44
LeoNerdCVS/SVN have files. Within files there are revisions20:44
LeoNerdThese are very basic and different ways to look at the world; one can't easily fit the other20:44
rjekIndeed.20:45
foomsvn stores files within revisions.20:45
LeoNerdNot really.. SVN is a versioned filesystem20:45
foomit's just that it lets you mix and match in your working directory20:45
foomthe repository structure is completely revision-based20:45
* rjek nods.20:46
LeoNerdIt's a versioned filesystem, where a commit on a directory atomically references all files witihn it20:46
lifelessdysinger: I know some folk have20:48
dysingerlifeless:  I have been dying to get off of git-svn if you could direct me it would be awesome.  I have been banging my head with svn and patches on leopard with no luck.  Leopard comes with SVN/Python and SVN/Python SWIG pre-installed and prefers it's own install over /usr/local20:50
lifelessdysinger: you can probably control that with PYTHONPATH, which prepends to the path python looks for such libraries20:52
foomdysinger: why dying to get off of git-svn?20:52
lifelessfoom: to use bzr ? :)20:52
foomlifeless: obviously, but I thought maybe there was a reason. :)20:52
dysingerYeah I don't mind git-svn so much as the rest of my team wouldn't use it because of the learning curve.20:52
dysingerbzr is easier to wrap your mind around.20:52
lifelesswhy did the chicken cross the road?20:52
Manfreso i could eat it20:53
dysingerand you don't have to do things like git push dev :refs/head/my-branch20:53
dysingerand other BS20:53
foomi mean, I have a reason why I don't want to use git-svn: it doesn't seem to store enough data in svn to allow cross merging with other git-svn users and pulling the same changes from svn to work20:53
dysingerI cross merge with other git-svn users20:54
foomlast time I tried it was 6 months ago or so I think20:54
dysingerBut it's a PITA - basically it means pull and pushing to SVN & also pulling and pushing to a server with a clone of your git-svn20:54
dysingerso you can share your local branches with someone else20:54
dysingergit is way to complex for the average user IMO20:55
lifelessdysinger: I have noticed you popping in and out on IRC... if I can make a suggestion; open a 'question' on bzr-svn - https://answers.launchpad.net/bzr-svn20:55
dysingerI could only sway my top dev to try it with me.  Everyone else on the team is lost with Git.20:55
foomyes, it really does have a poor UI.20:55
lifelessdysinger: this is a support forum, and will mean you don't have to be online at the same time as the bzr-svn developer[s]20:55
foomi'm sure it makes sense if you're linus. other than that, no, not really. :P20:55
dysingerlifeless: sure.20:56
dysingerthanks - I just am used to using IRC20:56
lifelessIRC is great but it can be lossy; and this is dragging on for you :)20:56
dysingerI already spoke to the bzr-svn maintainer about it a couple weeks back with no luck.20:57
dysingerI'll just keep using bzr for private projects for now.20:57
foomyou could do the bzr-svn bit on a different machine. :)20:57
jelmer'evening folks20:58
fullermdJeez, didn't even have to say his name that time...20:59
dysingerI added the OS X Leopard bzr-svn to questions at launchpad.  Hopefully I can help and we can get to the bottom of the problem so that all OS X users can use it.  DVCS is only useful to a lot of people if they can still interact with SVN.21:11
dysingerhttps://answers.launchpad.net/bzr-svn/+question/2232621:11
jelmerdysinger: You may also have to run 'make install'21:14
dysingerThat's right there in the script21:14
dysinger...21:14
dysingermake check21:14
dysingersudo make install21:14
dysingermake swig-py21:14
dysingermake check-swig-py21:14
dysingerIt puts everything in the right place21:15
dysingerand21:15
dysinger# Check it ---21:15
dysingerpython -c "import svn.delta; print svn.delta.__file__"21:15
dysingerfinds the right python script21:15
dysingerbut python -c "from svn.delta import svn_delta_invoke_txdelta_window_handler" doesn't work21:15
jelmerwhat does the following print21:16
jelmerpython -c "import svn.delta; print svn.delta.__file__"21:16
jelmeralso, is LD_LIBRARY_PATH portable to Mac OS X?21:17
jelmerit looks like that should be DYLD_LIBRARY_PATH21:17
dysinger OK I'll try that21:17
dysingerone sec21:18
=== bigdo2 is now known as bigdog
dysingerok sorry I got distracted on work.  Before patching svn I get /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/svn/delta.pyc as expect for python -c "import svn.delta; print svn.delta.__file__" ...21:34
dysingerAfter I got /usr/local/lib/svn-python/svn/delta.pyc21:35
jelmerand it still doesn't work?21:35
dysingerno21:35
dysingerI tried both LD_LIB... and DYLD_LIBRARY_PATH21:36
dysingerset to /usr/local21:36
dysinger python -c "import svn.delta; print svn.delta.__file__"21:36
dysingerDuece:subversion-1.4.6 tim$21:36
dysingerDuece:subversion-1.4.6 tim$ python -c "from svn.delta import svn_delta_invoke_txdelta_window_handler"21:36
dysingerTraceback (most recent call last):21:36
dysinger  File "<string>", line 1, in <module>21:36
dysingerImportError: cannot import name svn_delta_invoke_txdelta_window_handler21:36
jelmerdoes grepping for svn_delta_invoke_txdelta_window_handler in /usr/local/lib/svn-python/svn/delta.py return anything?21:38
dysingerno21:42
jelmerare you sure the patch applied ok?21:43
dysingerThe patch for svn applied cleanly21:43
jelmerDid Subversion rerun swig?21:43
dysingerone sec21:43
dysingerPatch seems to have applied ok21:44
dysingerpatching file subversion/bindings/swig/include/apr.swg21:44
dysingerpatching file subversion/bindings/swig/include/proxy_apr.swg21:44
dysingerpatching file subversion/bindings/swig/include/svn_types.swg21:44
dysingerpatching file subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c21:44
dysingerHunk #4 succeeded at 533 (offset 3 lines).21:44
dysingerHunk #5 succeeded at 640 (offset 3 lines).21:44
dysingerHunk #6 succeeded at 1534 (offset -1 lines).21:45
dysingerHunk #7 succeeded at 1552 (offset -1 lines).21:45
dysingerHunk #8 succeeded at 1603 (offset -1 lines).21:45
dysingerHunk #9 succeeded at 2272 (offset -1 lines).21:45
dysingerpatching file subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h21:45
dysingerHunk #2 succeeded at 202 (offset 1 line).21:45
dysingerHunk #3 succeeded at 319 (offset 1 line).21:45
dysingerpatching file subversion/bindings/swig/svn_client.i21:45
dysingerpatching file subversion/bindings/swig/svn_delta.i21:45
dysingerHunk #2 succeeded at 152 (offset 3 lines).21:45
dysingerpatching file subversion/bindings/swig/svn_ra.i21:45
dysingerpatching file subversion/bindings/swig/svn_wc.i21:45
dysingerDuece:subversion-1.4.6 tim$21:45
dysingergrepping in the source dir now returns21:46
dysingerDuece:subversion-1.4.6 tim$ grep -r svn_delta_invoke_txdelta_window_handler *subversion/bindings/swig/svn_delta.i:svn_error_t *svn_delta_invoke_txdelta_window_handler (21:46
dysingerDuece:subversion-1.4.6 tim$21:46
jelmeryes, but was SWIG rerun?21:46
dysingerI did make swig-py after i built iit21:46
dysingerit21:46
dysingerand make check-swig-py and make install-swig-py21:47
jelmerif you grep for svn_delta_invoke_txdelta_window_handler after that, does it return anything?21:48
jelmeranything but the .i file, I mean21:48
dysingernot in /usr/local but let me check again in the build dir.  I wouldn't think it would be in the build dir and not in /usr/local - one sec.21:49
jelmerthen it didn't run SWIG21:49
dysingershould I be doing make swig and not make swig-py ?21:49
dysingerSorry I am a ruby/java guy and novice python21:50
jelmerdo you have SWIG installed?21:50
dysingery21:50
jelmercan you try running extraclean-swig and building it again?21:52
jelmermake extraclean-swig, that is21:52
dysingersrue21:52
dysingersure one min21:52
dysingerIF we can figure this out and it works I am going to go get some Champagne right now and spray it everywhere and put it on my blog with instructions.  :)  (still compiling)21:54
ubotuNew bug: #183636 in bzr "Internal error when switching an anonymous svn checkout to an authenticated one" [Undecided,New] https://launchpad.net/bugs/18363621:55
jelmer:-) Any luck?22:03
dysingernot yet still working on it22:03
dysingermake extraclean wiped out my ./configure I think it wouldn't compile22:04
jelmerjust extraclean-swig should be sufficient rather than extraclean22:04
dysingery that's what I meant22:05
dysingerbut now I get  make swig-py22:05
dysingermake: *** No rule to make target `subversion/bindings/swig/python/svn_client.c', needed by `subversion/bindings/swig/python/svn_client.lo'.  Stop.22:05
dysingerre configure and re make doesn't fix22:05
dysinger:/22:05
dysingershould I even need extraclean if I am applying the patch to a fresh checkout?22:06
dysingerI wouldn't think so22:07
jelmerdysinger: did configure find swig?22:08
dysingerLet me check - I would think so make swig-py and check-swig-py works.22:08
jelmerdysinger: swig isn't necessarily used for those targets22:09
dysingeroh ok - will check22:09
dysingerThat may be the problem22:10
dysinger ./configure   --without-apache   --without-apxs   --with-ssl   --prefix=/tmp   --libdir=/usr/local/lib | grep swig22:11
dysingerchecking for swig... /usr/bin/swig22:11
dysingerconfigure: WARNING: Detected SWIG version 1.3.3122:11
dysingerchecking swig version... 1.3.3122:11
dysingerconfigure: WARNING: Subversion requires 1.3.24 or later, and is known to work22:11
dysingerconfigure: WARNING: with versions up to 1.3.2922:11
dysingerconfigure: Configuring python swig binding22:11
dysingerI wish Apple wouldn't try to Jam on bunch of dev tools in the default system.22:12
dysingerOS X comes with everything Python / Ruby / Java / Perl and every lateral tool you can think of by default. :/22:13
dysingerI like /usr/local and from scratch22:13
lifelessyou could use ubuntu on that hardware :)22:13
dysingerI have tried it - it's cool on the MBP22:13
fullermdOS X comes with ubuntu by default?   ;)22:14
dysingerno you have to install it.22:14
dysingerI tried it when I had to reinstall OS X anyway a couple months ago on my MBP22:14
dysingerEverything works.22:14
dysingerI doubt it would "just work" on my Mac Pro 8-core Xeon though22:15
dysingerWho knows22:15
dysingerI am a die hard Linux/BSD fan too - not just a mac nerd - I just like the mac desktop22:16
dysingerIt's still better than Gnome IMO22:16
dysingerI use all Xen servers though22:16
dysingerI wish OS X had virtualization like that22:16
dysingerjelmer - thanks for helping again - I am done banging my head.22:18
jelmerdysinger: it works now?22:18
dysingerno22:18
datoheh22:18
dysingerI'll keep trying22:18
dysingerIf you know of anyone else trying on OS X Leopard - i have that question open22:19
dysingerand my address is tim@dysinger.net22:19
fullermdWell, I like my environment better than Gnome too, but it's kinda the opposite direction from Mac   :p22:19
dysingerKDE ?22:19
fullermdctwm22:19
dysingerwow22:20
dysingerI use to only ever use blackbox and xterm22:20
dysinger10 years ago22:20
jelmerdysinger: what fails now?22:21
fullermdIt does what I want it to, and otherwise stays the heck out of my way and doesn't burden me with icons and inferior icon managers and trays and docks and all that crud.  Perfection   :)22:21
jelmerdysinger: are you using GNU make?22:23
dysingerJelmer - well after I re-downloaded subversion 1.4.x source again, applied the svn patch, configure, make && make swig-py and grep svn_delta_invoke_txdelta_window_handler I get only the subversion/bindings/swig/svn_delta.i file22:24
fullermdLooks like a gmake message.22:24
dysingerGNU Make 3.8122:24
jelmerdysinger: you really need to run extraclean-swig22:25
jelmerbefore check-swig-py22:25
dysingerok one sec22:25
dysingerSame as last time.  As soon as I run extraclean-swig it won't compile any longer22:27
dysingermake: *** No rule to make target `subversion/bindings/swig/python/svn_client.c', needed by `subversion/bindings/swig/python/svn_client.lo'.  Stop.22:27
jelmerdoes that change if you run autogen.sh without the --release argument?22:28
dysingerok there we go22:28
jelmeractually, did you run with --release earlier?22:31
dysingerOMG it works22:35
dysingerparty time22:35
dysingerI will write it up in my blog and on the wiki22:35
dysingerthanks jelmer22:36
jelmerit's already on the wiki...22:36
lifelessdysinger: great22:36
dysingerOS X is on the wiki?22:36
jelmerdysinger: The installation instructions for python-subversion on the wiki page already included "autogen.sh --release"22:36
lifelessjelmer: perhaps a script people can run?22:36
dysingerYeah copying that straight to mac didn't work and the subversion version is old22:37
jelmerlifeless, it's a copy-n-pastable at the moment22:37
jamspiv: ping22:37
lifelessabentley: ping22:51
abentleylifeless: pong22:52
lifelessabentley: I have a little design thing I want to talk about before coding; because its likely that if I have it wrong you'll bb:reject me :)22:52
abentleyFire away.22:52
lifelessabentley: here is the context, I want to change 'missing_revision_ids' to return a SearchResult (which I sent a patch to introduce that object yesterday)22:53
lifelessbut missing_revision_ids _currently_ is defined as returning in topological order22:53
lifelessthe reason to do this is that the search result has both all the keys (for local data pulling), and the recipe to recreate the search (for hand off over RPC to get a data stream)22:54
lifelesscurrently on initial pull of e.g. python you upload 50K revision ids. This takes a while ;)22:54
abentleyOkay, makes sense so far.22:55
lifelessnow, I'm going to deprecate and rename missing_revision_ids for api versioning, but thats not what this discussion is about :)22:55
lifelessthe question is about the impact...22:55
lifelessSearchResult doesn't know about topological ordering, and I've given it a few hours thought and it seems hard to really guarantee good results22:55
lifelesspretty trivial searches can start unordered; we can only really order by accumulating all the parent data (e.g. the graph) and then doing a topo_sort at the end22:56
lifeless(e.g. A:[B], B:[C], C[NULL], make_breadth_first_search(A, C)22:56
abentleyIf you're defining a new API, I don't think you need to require topo ordering.22:57
lifelessgoodo. the corollary is that fetchers that want topological ordering will need to do that post-getting-the-list-of-keys22:58
igcmorning22:58
lifelessanyhow, sweet. I'll make it so.22:58
lifelesshi igc22:58
igchi lifeless22:58
abentleyI think topological ordering is nice if cheap, but frequently the callers don't need it.22:59
jammorning igc22:59
abentleySo not worth paying a big price for in the general case.22:59
abentleyAs long as there's no backwards compatibility issue, I'm quite happy to drop it.23:00
lifelessabentley: its actually really hard to reliably generate due to history shortcuts23:00
spivjam: pong23:00
jamspiv: I'll just mention it in the phone call23:01
lifelesshi, I'm joining in today, not in the zone atm23:01
spivok23:01
jamspiv: getting some weird results from your new chunked streaming api23:01
jam... why doesn't gvim get an entry in the Applications menu23:03
spivjam: do you have a -Dhpss -Dtimes log for the slow pull?23:16
abentleyjam: I think gvim should go under "games".  It's been described as using a video game to edit files, and that fits for me.23:16
pooliespiv, i thought -Dtimes was going to always be on?23:19
pooliejam, i think you can turn it on in 'edit menus'23:19
pooliei agree it's weird23:19
=== abentle1 is now known as abentley

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