/srv/irclogs.ubuntu.com/2008/06/19/#bzr.txt

Jc2kPieter: there are ~520 repos with commits varying from 200 to 25,00000:01
lifelessmoin00:06
Jc2klo lifeless00:07
james_whi lifeless00:07
lifelessJc2k: you can do 'bzr pack && rm .bzr/repository/obsolete-packs/*'00:07
Jc2kalready done that00:07
awilkinslifeless: Isn't it about 0600 there?00:08
lifeless090800:08
awilkinsAh, it's tomorrow00:08
awilkinsLast we spoke it was 2200 at you00:08
Jc2k(before i rm'd the obsolete packs it was about 10gb bigger)00:08
lifelessyes, it usually comes after yesterday :)00:08
awilkinsIt's only just today here.... :-)00:08
lifelessJc2k: is that across all repositories?00:08
lifelessJc2k: are there working trees00:09
lifelessJc2k: try a break-down per project00:09
Jc2k*overloads*00:09
lifeless:)00:09
lifelessback in a little bit grabbing breakfast00:09
Jc2klifeless: all my figures are for all 520ish repos as one00:09
Jc2klifeless: there were some working trees (mostly trunk), but i think i squished em00:09
lifelessso, one mergarepo ?00:10
Jc2kno00:10
awilkinsjam: Want to talk about my patch for #240910 ?00:10
Jc2k520 repos00:10
Jc2k/srv/bzr/module1, /srv/bzr/module200:10
lifelessphew :)00:10
Jc2kand i did du -s -m /src/bzr/ :p00:10
Jc2k*srv, even00:11
lifelessJc2k: oh, you've deleted the obsolete packs dirs00:11
lifelessJc2k: you need to keep the directory around, only delete the contents00:12
Jc2koh00:12
Jc2k>_<00:12
lifelessjames_w: ^00:12
lifelessotherwise it will cry when it next tries to autopack00:12
* Jc2k rejigs his script to do lots of mkdir :)00:12
lifelessso00:13
lifelessI think I can say where the size is00:13
lifelessyou have very many tags00:13
lifelessand each tag in the way its beinig brought across is a separate branch, which is to say:00:13
lifelessthetagdir00:13
lifeless.bzr00:13
lifeless.bzr/format00:13
lifeless.bzr/branch00:13
lifeless.bzr/branch/format00:13
lifeless.bzr/branch/lock00:13
lifeless.bzr/branch/branch.conf00:13
lifeless.bzr/branch/last-revision00:13
lifelessso the first thing we could do is use --apparent00:14
lifelessthe second thing is to turn the tags into actual tags in trunk00:14
lifelessjelmer: ^ this is planned, yes?00:14
mwhudsonbeuno: hello00:15
lifelessJc2k: https://bugs.edge.launchpad.net/bzr-svn/+bug/8110200:16
ubottuLaunchpad bug 81102 in bzr-svn "Tag support" [Wishlist,Triaged]00:16
lifelessJc2k: I'll bet that starting with just a --apparent on your script makes things look better (because you are no longer measuring how inefficient ext3 is)00:16
* jml will see the sydney sprinters soon00:17
Jc2klifeless: where do i stick this magical --apparent? on du ?00:18
lifelessJc2k: yes00:18
Jc2kkk00:18
lifelessjml: I'm hacking intensly here, ring me if you need shit00:18
lifelessJc2k: it tells du to sum the visible size, not the blocks/extents allocated00:18
Jc2ki see00:19
lifelessif the apparent size is also ridiculously high we can look for bad deltas etc00:20
PieterJc2k: how did you repack the git repos?00:20
lifelessbut if its not then I'm going to stick by my tags theory00:20
james_wJc2k: we could probably come up with a pretty simple script to convert the tags to bzr tags after the fact.00:21
Jc2kPieter: everything is here00:22
Jc2khttp://live.gnome.org/JohnCarr/Git00:22
Jc2kjames_w: it would have to cope with getting run repeatedly00:22
james_wJc2k: yup00:22
PieterJc2k: you might want to repack the bigger repos with a higher --window. see http://vcscompare.blogspot.com/2008/06/git-repack-parameters.html00:23
lifelessa couple of notes on size00:24
lifelesswe have a plan to change to a better delta format00:24
lifelesswe know from testing we can halve the effective size of the pack repository contents doing this00:24
lifeless(this is all on the list, I can find pointers)00:24
lifelessI think using a larger window is a bit like cheating, because most users won't repack themselves (or know to), and further the automatic packing git has recently added won't use this higher window - and the higher window has a cost00:26
lifelessunless one is in a storage crisis, disk space is unlikely to be a determining factor on whether something is pleasant/effective to use00:26
lifelessoh, finally - we're just about to land the work to allow not downloading all the history anyway, which makes repository size even more moot00:27
* Jc2k is looking forward to stacked branches00:27
Jc2klifeless: still 30gb00:35
* Jc2k heads for bed00:37
lifelessJc2k: ok00:47
lifelessJc2k: could you do a project-by-project -00:47
lifelessdu -s -m --apparent bzr/* ?00:47
lifelessand mail me or something00:47
lifelessbkor: or you, if Jc2k is gone :)00:48
PieterJc2k: your gtk+ repo e.g. goes down from 250MB to 70MB if you repack more tightly00:54
PieterJc2k: so you might be able to decrease that 6GB significantly00:54
devnotesHi, I'm having a problem creating a branch when running bazaar on Windows, can someone help?01:12
lifelesssure01:13
devnoteswhen I execute "bzr branch lp:do" I get the following error:01:13
devnotesPermission denied (publickey).01:13
devnotesbzr: ERROR: Connection closed: please check connectivity and permissions (and tr01:13
devnotesy -Dhpss if further diagnosis is required)01:13
devnotesAny thoughts?01:13
lifelessI think you've done 'bzr launchpad-login'01:13
devnotesSorry, not following you.01:14
lifelessbut your username is wrong, or you don't have pagent running01:14
lifelessok01:14
lifelesslp:do is a directory service url01:14
devnotesok01:14
lifelessthis does a lookup over the web for the real url01:14
devnotesok, so I am typing the wrong value then?01:15
lifelessif you have told bzr what your launchpad username is, the real url is something like bzr+ssh://bazaar.launchpad.net/someuser/someproject/somebranch01:15
lifelessif you have not told bzr what your launchpad username is, you get given anonymous access via http01:15
lifelesscan you run 'bzr launchpad-login' please01:16
devnotesit replies with nickp-developernotes01:17
devnotessorry, that is 'nickp-developernotes' specifically.01:17
lifelessok01:17
lifelessis that your launchpad account name?01:17
devnoteswell, my "name" on launchpad is "developernotes", but I believe I use an email address to actually login.01:18
lifelesslaunchpad can be confusing01:18
lifelessis https://edge.launchpad.net/~nickp-developernotes you ?01:18
devnotesyep, that's me01:19
lifelessok01:19
lifelessso, to access bzr+ssh you need to have ssh working01:19
lifelessthere are a number of possible problems01:19
devnotesok01:19
lifelessone is that the ssh agent is not working01:19
devnotesI provided my account on the webpage with my ssh key I have generated before.01:20
devnotesssh agent local on windows?01:20
lifelessanother (recently added one) is that your key is one of those generated by a buggy version of ssh, and has been blacklisted.01:20
lifelessthere are others01:20
lifelessbut lets check for the agent first01:20
devnotesok01:20
* spiv hops on a train01:20
lifelessdo you have pagent (the putty ssh agent) or some other agent that you use to unlock the ssh key?01:21
* mwhudson finds a bug in simpletal :/01:21
lifelessor do you get asked a passphrase and type it in?01:21
devnotesno, do I need to download putty?01:21
lifelessno, I don'tthink we need it01:21
devnotesasked a passphrase when I do what?01:21
devnotesexecute the branch command?01:21
lifelessyes01:22
devnotesno, it just replies with the error right away01:22
mwhudsonoh well, it's not too bad01:22
lifelessdevnotes: ok. I think you have a passphraseless key that is blacklisted. Uhm, how to check for this.01:22
lifelessdevnotes: stand by a second, I will see if I can confirm this for you01:23
devnotesok01:23
lifelessssh-vulnkey +sshkeys01:24
lifelessNot blacklisted: 2048 26:59:18:ae:09:6b:fc:e6:47:98:ff:7d:8a:30:5d:cc nickp01:24
lifelessok01:24
lifelessyour key is fine01:24
devnotesok01:24
lifelessso, I would guess bzr is not finding your key correctly01:25
lifelesscan you run bzr --version01:25
lifelessthere will be a log file location listed in the output01:25
lifelesscan you look inside that log file01:25
lifelesshopefully there will be some clues01:25
lifelessjam: you use windows right? any help?01:25
lifelessmarkh: ^01:25
devnoteswhat information do you want from the .bzr.log file, it's very long01:26
lifelesswell have a look down the bottom01:27
lifelesssee if it says anything about agents/keys/errors01:27
lifelessor you could remove the file01:27
lifelessand run the failing command again01:27
lifelessthen open it and it will have just that commands errors01:27
devnotes0.111  bzr arguments: [u'branch', u'lp:do']01:28
devnotes0.112  looking for plugins in C:/Users/Nick/AppData/Roaming/bazaar/2.0/plugins01:28
devnotes0.112  looking for plugins in C:/Program Files/Bazaar/plugins01:28
devnotes0.132  encoding stdout as sys.stdout encoding 'cp437'01:28
devnotes2.352  ssh implementation is OpenSSH01:28
devnotes3.594  Traceback (most recent call last):01:28
lifelessplease post that sort of thing http://pastebin.com/ in future - its faster and easier to read.01:29
devnotessorry, I'll do that now01:29
lifelessno problem01:29
devnoteshttp://pastebin.com/m3db7eeaa01:30
lifelessdevnotes: ok, one good thing here is we now know the ssh its using01:30
lifelessdevnotes: so we can debug a little deeper ourselves01:30
lifelessdevnotes: please do:01:30
lifeless"ssh nickp-devnotes@bazaar.launchpad.net"01:31
pooliehello lifeless01:31
lifelessyou should see something like:01:31
lifelesshi poolie01:31
lifelessNo shells on this server.01:31
lifelessConnection to bazaar.launchpad.net closed.01:31
devnotesPermission denied (publickey).01:32
devnotesdo I need to execute this from cygwin?01:33
pooliethat conuts as success01:33
lifelessdevnotes: its fine as is01:33
lifelessdevnotes: now, we need to figure out if it is trying your ssh key and it doesn't match, or if its not finding your key01:34
lifelessdevnotes: please try01:34
lifeless"ssh -v nickp-devnotes@bazaar.launchpad.net"01:34
lifelessthe output will be long01:35
lifelesswe're looking for lines like:01:35
devnotesyep, what are you looking for?01:35
lifelessdebug1: Connection established.01:35
lifelessdebug1: identity file /home/robertc/.ssh/identity type 001:35
lifelessdebug1: Offering public key01:36
lifelessdebug1: Server accepts key01:36
lifeless- but you could just copy and paste everything to pastebin and I'll look at it for you01:36
devnotesmines says "identity file /home/Nick/.ssh/identity type -1"01:36
abentleylifeless: What is the behavior of BzrDir.sprout supposed to be when the source bzrdir doesn't have a branch?01:37
devnoteshttp://pastebin.com/m770894d701:37
lifelessabentley: I chose rather arbitrarily to have it make a branch (because sprout is meant to make a new line of development).01:38
lifelessabentley: it could reasonably be defined to error instead01:38
devnoteshuh?01:38
lifelessdevnotes: the lines with abentley: in front of them are a seperate conversation01:38
abentleylifeless: understood.01:39
devnotesgotcha ;-)01:39
lifelessdevnotes: I think the -1 indicates an error01:39
lifelessdevnotes: please try again, with -vv instead of -v, and post the output01:40
fullermdI think type -1 indicates an RSA key...01:40
fullermddebug1: identity file /home/fullermd/.ssh/identity type 001:40
fullermddebug1: identity file /home/fullermd/.ssh/id_rsa type -101:40
fullermddebug1: identity file /home/fullermd/.ssh/id_dsa type 201:40
lifelessfullermd:01:41
lifelessdebug1: identity file /home/robertc/.ssh/id_rsa type 101:41
* fullermd ponders.01:41
fullermdAh, I don't have an id_rsa.  Weird.  I thought I did.01:41
lifelessfullermd: :)01:41
lifelessfullermd: thanks thats very helpful01:42
fullermdSo, yeah, looks like no user keys at all.01:42
lifelessdevnotes: can you look in your .ssh directory01:42
lifelessdevnotes: you should have a file called 'id_rsa', if you don't, then we have identified the problem and can look at how to fix01:43
fullermdWell, either id_rsa or id_dsa should work.  But with a -1 on both (and on identity, which is the v1 key)...01:43
lifelessfullermd: https://edge.launchpad.net/~nickp-developernotes/+sshkeys01:44
lifelessfullermd: I wasn't guessing as to file name :)01:44
devnoteshttp://pastebin.com/m606ae93a01:44
fullermdlifeless: Ack!  You r hax0red him!01:44
devnotesinside my .ssh folder I have 3 files.01:45
devnotesid_rsa, id_rsa.pub, known_hosts01:45
lifelessdevnotes: ok01:45
lifelessdevnotes: for some reason ssh is not finding them01:46
lifelessdevnotes: is it possible you have two folders called .ssh ?01:46
devnotesI'll do a search01:46
devnotesyes, I can see two right now, one in "C:\cygwin\home", another in "C:\Users"01:47
lifelessok01:47
lifelessas an experiment, please try copying the id_rsa and id_rsa.pub files to the other .ssh folder01:48
devnotesthe dir "C:\cygwin\home" only contains a known_hosts file01:49
lifelessafter copying them, try01:49
lifeless"ssh nickp-devnotes@bazaar.launchpad.net"01:49
devnotescrap, just found another folder called ssh, note there is no period in front of it.01:50
devnotestwo different directories....01:50
lifelesswell01:50
lifelessto start with, the .ssh folder that has known_hosts only01:50
lifelessthat is the one to copy the two files I named into01:50
devnotesfiles copied, now what?01:52
lifeless"ssh nickp-devnotes@bazaar.launchpad.net"01:52
devnotesIt asked me for a passphrase this time, 3 times actually, I am trying to remember my password and then I got "No shells on this server.  Connection to bazaar.launchpad.net closed."01:53
lifelessdevnotes: excellent01:54
mwhudsonwell, that means you connected successfully01:54
lifelessdevnotes: now run your original bzr command and it should work01:54
lifelessdevnotes: something in your setup has changed, but I don't know what. ssh, the secure transport we use, thinks your home directory has moved01:55
devnotesthanks a million!01:56
lifelesshappy to help01:57
devnotesso when I execute "bzr branch lp:do" it takes awhile and comes back with "branched 371 revision(s), where did those go?01:58
lifeless"dir do"01:58
devnotesgot it....I was looking for another directory for some reason01:59
devnotesdo I need to cd into that dir to execute the push then?01:59
lifelessyes02:00
poolieyes we should print that02:02
pooliethe destination directory name02:02
devnotesdoes the transfer normally take a while, it's been spinning with 0/4 for a while now02:04
poolieit can take a while, it depends on how much history is there02:04
devnotesgotcha02:06
jmllifeless: I've got a subunit branch for you to review at lp:~jml/subunit/split-right02:12
lifeless$ bzr break-lock02:48
lifelessKilled02:48
lifelessouch02:48
lifelesshaving set a ulimit -v I can't alter it!02:48
spivHeh.02:49
lifelessI'm doing some scaling testing on bzr02:50
lifelessas part of background idling tasks02:50
lifelessand its fun:02:51
lifelessh$ bzr pull http://bazaar-vcs.org/bzr/bzr.dev02:51
lifelessFatal Python error: PyString_InternInPlace: strings only please!02:51
lifelessAborted02:51
lifelessexsqueeze me!02:51
mwhudsonoof02:52
abentleyspiv: I have a test to ensure that cloning a format produces the same format on the output.03:20
abentleyThis test fails when the source repository is a RemoteRepository.03:21
abentleyDo you have an idea how I should fix the test?03:21
poolielifeless: wee!03:22
pooliei doubt if you will reliably get a clean MemoryError03:22
spivabentley: there are already some tests like that in the suite03:22
poolielifeless: also, i suspect there is already a practical limit on heap allocation at not much more than 2g03:22
* spiv echoes the "wee!"03:23
pooliewell, on a 32bit machine, i guess yours is using 64bit userspace03:23
spivabentley: are you cloning to somewhere on the same transport?  Obviously you can't clone a RemoteBzrDir to a LocalTransport :)03:23
lifelesspoolie: you do actually03:24
lifeless  File "bzrlib/progress.py", line 435, in clear03:24
lifeless    self.to_file.write('\r%s\r' % (' ' * (self.width - 1)))03:24
lifelessMemoryError03:24
lifelessfor instance03:24
lifelessclearly the exact point that the error occurs will not always be where the leak is though :)03:24
pooliemm03:24
abentleyspiv: Yes.  To ../transport03:24
pooliei guess it may happen that the large allocation fails but there's enough to allocate stuff when doing the exception03:25
poolielifeless:  was that from running the test suite or actual use?03:25
lifelesspoolie: actual use03:25
lifelesspoolie: so the basic idea is to pretend to have a smaller machine03:25
lifelesswe'll see what users with smaller machines see03:25
lifelessbut not have to thrash on swap to find out03:25
abentleyspiv: It doesn't seem like this was meant to be the point of the test.03:26
lifelesspoolie: having found a use case that fails, normal analysis tools start to become relevant03:26
spivabentley: what does "same format" mean in this context?03:26
abentleySame repository format.03:27
abentleyIt's about making sure the on-disk format matches.03:27
spivabentley: so there's test_sprout_from_hpss_preserves_format in repository_implementations already, which seems like a related test.03:30
spivabentley: it uses bzrdir.BzrDir.open(self.get_vfs_only_url(...)).open_repository() to always get a non-Remote object when it wants to inspect the on-disk format.03:31
spivabentley: I think that's a reasonable way to do it.03:31
spivabentley: will that work for you?03:31
abentleySure, thanks.03:31
spivnp03:32
abentleyspiv: Wait.03:32
pooliei'm going to do a couple more mails then go back into finishing the versionedfiles merge03:32
spivHmm?03:32
pooliethanks for your answer lifeless03:32
abentleyget_vfs_only_url is only implemented on remote objects?03:32
lifelessabentley: its a test suite helper method03:32
spivNo, it's on TestCaseWithMemoryTransport03:32
lifelessabentley: the test suite has three transports: readonly, branch/reopsitory (the default), and vfs-only03:33
lifelessvfs-only is the backing transport for the Remote* objects used by the server side03:33
lifelessso you can peek at what is going on03:33
abentleyOkay.03:33
abentleyDoes get_vfs_only_url work when the bzrdir format is not RemoteBzrDirFormat?03:36
lifelessit should always be set03:38
abentleyGot it.03:38
abentleylifeless: Sprout doesn't create the branch until the fetch is complete.  Do you think that's an important behavior?03:39
abentleyIt would be easier for me if I could just set stacking before fetching.03:39
lifelessI think its important that we don't have a branch object other people could open and get the wrong repository/no repository error03:40
lifelesshow that is achieved I am not too concerned by03:40
lifelessyou can set stacking on a repository directly, by calling the add_fallback_repository method before the fetch is done03:41
abentleylifeless: Yes, I see this, and doing this in the repository acquisition policy is the other option I'm contemplating.03:41
pooliehm, mhammond is seeing much slower plain http pull than i am on linux, even for a similar repository03:43
pooliemaybe there is something about his repo03:43
=== thumper_laptop is now known as thumper
jamlifeless: I use windows, but I use pageant or cygwin's openssh03:59
jamlifeless: I don't know how to configure paramiko to use keys without pageant03:59
=== kiko is now known as kiko-zzz
lifelessjam: you like like to idle in #gnash for a bit, or abentley, or both of you - project migrating to bzr04:08
Scoobertnoob with question04:09
abentleylifeless: I got an email from you, but I couldn't really understand the bit about state.04:09
lifelessabentley: I was referring to where the conversion data was04:09
lifelessin case it was bad or needed tweaking or whatever - jam wrote the converter in question04:10
abentleyThat was on rookery?04:10
lifelesstungsten04:10
lifelessI put the tarball of the output repository + branches on rookery04:10
lifelessanyhow, I'm hand holding during my tz04:10
lifelessbut if one of you could lurk there your tomorrow it would be good, I think04:11
lifelessScoobert: shoot04:11
Scoobertk04:11
lifelessScoobert: (generally, don't wait, just ask :))04:11
Scooberttwo developers add something to the end of the same module(happens alot on a virgin project)... = conflict for just about any VCS  ... why oh why04:12
abentleyOkay.04:12
lifelessScoobert: do you mean, you have a file like (say) foo.c04:13
lifelessScoobert: and dev one adds a function to the bottom04:13
lifelessScoobert: and dev two, in their own branch, adds a function to the bottom04:13
lifelessScoobert: and then when you merge, there is a big conflict?04:13
Scoobertprecicely, lifeless.04:13
Scoobertany way to avoid?  (i love bzr btw)04:14
lifelessScoobert: so, its because we treat files as text, rather than some more abstract thing that means 'C source code'04:14
Scoobertof course...and thank goodness it's true since we version more than mere code.04:16
Scoobertbut wish one could configure a merge algo to ignore conflicts at the EOF, or at least treat them as 'special' conflicts.04:16
lifelessScoobert: if we knew it was C code we could say 'dev 1 added funcX' and 'dev2 added funcY' so there is no conflict04:16
lifelessas it is yeah, we see an insertion at EOF from two people and it conflicts04:17
lifelessuhm, generally anywhere between functions this concept of two-insertions shouldn't conflict would be nice (if they had no identical lines, for instance)04:17
Scoobertfor instance I script out all the stored procs for my DB at the end of each day and VC them.  I'm glad bzr recognizes any and all differences in that case04:18
lifelessperhaps file a bug. we do have pluggable merge methods so its possible for someone to experiment with this04:18
Scoobertall right.  Thanks.04:19
lifelessabentley: where can people get hitchhiker?04:19
lifelessnvm found it04:20
abentleylifeless: I've added some fun stuff since I announced it, e.g. non-interactive mode.04:21
lifelessabentley: we have to reverse engineer the hosting facility on savannah04:21
abentleylifeless: Oh, fun.04:22
lifelessyou can ls right ?04:22
abentleylifeless: Sure.04:23
abentleySee help for a list.04:24
lifelessthanks, it helped04:33
mwhudsoni should write a plugin that shows a bazaar branch in loggerhead04:39
mwhudsonany funky ideas for the names of the plugin or command ?04:40
lifelessserve --http?04:41
mwhudsonthat works i guess04:42
mwhudsonespecially as we should make loggerhead actually serve up the .bzr files04:42
mwhudsonlifeless: do you have an example of adding an option to a command in a plugin that i can crib from?04:45
abentleylifeless: I just fixed some bugs in hitchhiker's "info", "cat" and "get" commands as of revno 16.04:45
lifelessabentley: cool, I think we're done for now though, no write access -> not much to do04:46
abentleylifeless: This is the first public bzr: server I've seen, so it's kinda fun to play with.04:47
lifelessah :)04:47
mwhudson_lifeless: do you have an example of adding an option to a command in a plugin that i can crib from?05:13
mwhudson_^ did that get a reply?05:13
lifelessmwhudson_: oh yes; uhm, in this case I'd decorate the command I think (see the thread with jml re 'status' in loom)05:14
lifelessmwhudson_: but I have written a plugin somewhere that actually introspects the command and adds an option05:14
lifelessmwhudson: GET AN INTERNET05:15
mwhudson_grrrrrrr05:15
lifelessmwhudson_: oh yes; uhm, in this case I'd decorate the command I think (see the thread with jml re 'status' in loom)05:15
lifelessmwhudson_: but I have written a plugin somewhere that actually introspects the command and adds an option05:15
lifelessdon't remember the name of it :P05:15
mwhudson_heh05:15
mwhudson_i'll look at loom05:15
jmlmwhudson_: it's worth reading the thread too.05:16
jmlmwhudson_: you should note your findings and submit them as a doc patch.05:16
lifelessok found it05:16
lifelessold_format_type = builtins.get_format_type05:17
lifelessbuiltins.get_format_type = get_format_type.decorate_get_format_type(05:17
lifeless    old_format_type)05:17
lifeless# XXX: This is ugly, fix bzrlib to make it cleaner. Right now changing the05:17
lifeless# parser does not help because the old name is bound into the Options array for05:17
lifeless# each command.05:17
lifelessfor command in commands._get_cmd_dict().values():05:17
lifeless    if isinstance(command.takes_options, (set, list)):05:17
lifeless        for option in command.takes_options:05:17
lifeless            if not isinstance(option, bzrlib.option.Option):05:17
lifeless                continue05:17
lifeless            if option.type == old_format_type:05:17
lifeless                option.type = builtins.get_format_type05:17
lifelessyes, I know pastebin, sosueme05:17
mwhudson_oh well, that's a bit more complicated than i need i think05:19
lifelessthat alters a option for many commands that use it05:19
lifelessmy suggestion of decorating was intentional05:19
lifelessabentley: how does one tell a branch to preserve history /05:20
lifelessabentley: (as in ,where is the doc to tell someone what to do)05:20
abentleyIt's in bzr help configuration.05:21
abentleyappend_revisions_only05:21
abentley(If I understand the question)05:21
lifelessso, its 'edit .bzr/branch/branch.conf and insert append_revisions_only=True' ?05:21
lifeless(I want to tell rob savoye to do this on trunk)05:21
abentleylifeless: yes.05:23
lifelessthanks05:23
abentleylifeless: also, you can set it when you create the branch.05:23
abentleybzr init --append-revisions-only05:24
lifelessabentley: conversions though, don't have new branches :)05:26
abentleylifeless: It looks like BzrDir.clone is supposed to clone branch references verbatim.  This suggests it's not a good basis for 'bzr push', and probably explains a bug with pushing from lightweight checkouts.05:34
lifelessabentley: well, its meant to preserve the state yes; its definitely related to the occasional bug with push; what should be happening is that the opened branch's bzrdir is used to clone() from05:35
lifelessbut for some reason sometimes people clone() from the tree's bzrdir - which is ok for cloning the checkout, but erroneous for push (which should only be working on the branch)05:36
abentleylifeless: but if you clone from the branch's bzrdir, you won't get a tree.05:37
lifelessthats true05:39
abentleyIt seems like if we used sprout instead, then clone could life up to its name.05:41
lifelesswe could; though doesn't that confuse too - push is used to publish a branch, not to make a new line of development ?05:42
mwhudson_lifeless: this is where i've got to: http://pastebin.ubuntu.com/21320/05:45
=== mwhudson_ is now known as mwhudson
lifelessmwhudson: looks like it will work05:48
lifelessmwhudson: unlike your internet05:48
abentleylifeless: Yeah, but any branch is potentially a new line of development.  cp -r was the original "bzr branch".05:55
abentleyThere's a small amount of policy that branch should handle and push should not.  But they basically do the same thing.05:56
abentleylifeless: I'm especially running into weirdness because bzrdir.open_branch().repository may or may not be the same as bzrdir.open_repository + fallbacks.06:02
abentleyAnd if I'm cloning the root of a shared repo with stacked branches, I think I'm completely SOL.06:04
lifelesswell, even without stacking, branch.repository is not guaranteed to == branch.bzrdir.open_repository06:05
abentleylifeless: Sure.  It's the partial revisions I worry about.06:08
abentleyFetching a revision when you don't have all the texts for its tree.  That kind of thing.06:08
lifelessabentley: Can you expand on that? Do you mean a single repository that has a revision but not the matching text deltas ?06:09
abentleyYes.  Because the text deltas are older than that revision, so they're in the stacked_on repository.06:10
lifelessI think I'm misunderstanding; the text deltas are surely precisely the same ages as the revision06:13
=== yacc__ is now known as yacc
yaccDoes hadoop start one and the same map tasks on multiple nodes concurrently?06:56
lifeless?06:56
yaccoops, wrong channel ;(06:58
kumi2heh06:58
kumi2I was also going to ask something irrelevant, but you beat me to it06:58
yacckumi2, sorry.06:59
yacckumi2, I cheated, I only slept 2hours, so it's really unfairly easy for me to say something stupid :-P07:00
kumi2:)07:03
PieterI hate it when that happens07:14
dholbachgood morning07:37
dholbachcan somebody tell me how in a bound branch with local commits I'd find out the timestamp of the last 'pushed commit'?07:37
lifelessbzr missing ?07:38
dholbachlifeless: do you know what in bzrlib I'd need to look for? I just don't know how to distinguish between a local commit and a 'pushed commit' - I'd prefer if the operation was light-weight :)07:47
lifelessdholbach: there really isn't a difference, except one is not in the master branch07:48
lifelessdholbach: distributed system, symmetrical behaviour etc07:48
lifelesse.g. bzr log MASTERURL and bzr log LOCALURL and see the difference07:49
dholbachHRM07:49
dholbachto not hammer the main branch of 5-a-day-data (where lots of people commit the bugs they worked on to) we used commit (either forced or if the last commit was 60+ minutes ago) - now we pondered using local commits instead and 'pushed commits' every 60+ minutes instead07:51
lifelessdoes just commit not work  ?07:52
dholbachit does, it's just a problem if you use the 5-a-day client on two machines, where local commits might work better07:53
lifelesswhy would they work better?07:54
dholbachI guess you don't get conflicts that easily :)07:54
lifelessWell, I'm looking for some statement of problem from you07:54
lifelessso we can discuss07:54
dholbachright now calling the tool just adds stuff to a text file, every 60+ minutes it does a commit07:55
lifelessit sounds like 'we are seeing conflicts when we commit a lot from different machines' is your problem07:55
lifelessis it one text file for everyone07:55
lifelessor one per user07:55
lifelessor one per bug07:55
lifelessor ..?07:55
dholbachone per user, in one branch07:56
lifelesswhats the 60 minute delay for?07:56
dholbachwe had a lot of problems with locks on bzrlp07:56
dholbachwe have nearly 120 committers and 5000 revisions in the last 5 months07:57
lifelessso07:58
lifelessthe general thing to reduce concurrency is to add branches07:58
lifelessrather than delaying commits07:58
dholbachOK07:58
lifelesswhy do you have one branch ?07:58
dholbachI wanted to make it easy to make statistics from just getting one branch :)07:58
lifelessso this is for stats07:59
lifelessnot for people to not tread on each other?07:59
dholbachI agree we could change it to branch-per-person07:59
lifelessso08:00
dholbachhttp://daniel.holba.ch/5-a-day-stats/ is what I generate from the one branch08:00
lifelesslp can list the branches for you08:00
lifelessa small script can easily merge every branch that has new commits by using lp to determine that08:00
lifelessand you then have one branch with all your people08:00
dholbachI'll look into changing that08:01
lifelessscreen scrape https://code.edge.launchpad.net/5-a-day-data08:01
dholbachespecially with the Global Bug Jam coming up in early August, I'd like to have that situation fixed :)08:01
lifelessoh, this would be interesting to toss bzr-search at08:02
lifelessto answer 'who fixed X' :P08:02
dholbachit's not necessarily about "Who fixed it?" but "Who made bug report X better?" :)08:02
dholbachhi mvo08:03
lifelesswell08:03
lifelesswho touched X08:03
dholbachright-o08:03
lifelesshave you seen bzr-search?08:03
mvohi dholbach08:03
dholbachlifeless: no, not yet08:03
lifelessabentley: API question for you; do you think having VF.get_sha1s return a dict would be better?08:04
lifelessabentley: seems it would be more useful to me, for stacking08:04
lifelessdholbach: read planet.08:04
abentleylifeless: Yeah, that's more likely useful.  Or at least key/val pairs.08:05
lifelessabentley: I'll change it to a dict I think, sha1s's are small08:06
=== thumper_laptop is now known as thumper
lifelessdholbach: http://advogato.org/person/robertc/diary/87.html08:11
dholbachI'm playing with it right now :)08:11
dholbachlifeless: NICE08:12
dholbachstill it says "Unable to load plugin 'search' from '/home/daniel/.bazaar/plugins'"08:12
lifelessdholbach: does it?08:13
dholbachyeah08:13
lifelessdholbach: what bzr version do you have?08:13
dholbach1.3.1-1ubuntu0.108:13
lifelessgarh08:13
lifelessget 1.408:13
lifelessor 1.508:13
dholbachget it into hardy!08:13
lifelessor 1.6b08:13
dholbachat least it should be in hardy-backports08:13
dholbachor something08:13
lifelesswe have a ppa08:13
lifelesswith builds for hardy08:14
dholbachthat's not the same :)08:14
lifelessI know08:14
lifelessanyhow, that just means it won't update the index on push/pull/commit08:14
lifelessyou can run 'bzr index' to incrementally update08:14
dholbachyeah08:14
dholbachgood night lifeless08:17
lifelessI was sayin gnight to poolie :)08:17
lifelessI have much to do still08:17
dholbachah ok :)08:18
=== thekorn_ is now known as thekorn
=== weigon__ is now known as weigon
Jc2kmorning all09:34
matkorHi !09:39
matkoris there any way to bzr cp file (to other location in same  branch ) ?09:39
PengNo.09:40
lifelesshi Jc2k09:42
lifelessmatkor: not yet, it is planned in some regard09:42
Jc2khi lifeless, just grabbing the du thing now09:42
lifelessJc2k: can you do du -s -m --apparent bzr/*09:42
lifelessJc2k: :)09:42
lifelessJc2k: I would like that, compared with git - then we can see if the pattern is consistent09:42
lifelessJc2k: or perhaps there are some outliers09:42
Jc2klifeless: jesus wept, gimp is 10gb09:46
lifelessahha!09:46
lifelessand how big is the git gimp09:46
Jc2kone sec09:47
lifelessso this would be useful:09:47
lifelessbzr size, git size, ratio09:47
lifelessin a tabular form09:47
lifelessthe worst ratio is the first one we should look at09:47
Jc2kbzr, http://pastebin.ca/105090009:47
* Jc2k runs command to get git foo09:48
AfCJc2k: whoa09:56
* AfC admits that he was very concerned about the revelation that bzr-svn operates in a manner that creates (was it file properties?) that are visible to other users of an underlying Subversion repository. That doesn't seem to be the sort of thing that is likely to impress people.09:58
AfCJc2k: by the way, I thought you did a really nice job with http://gnome.unrouted.co.uk/10:04
PengWhat does bzr-svn do?10:06
AfCPeng: read the thread around http://thread.gmane.org/gmane.comp.version-control.bazaar-ng.general/41686/focus=42933 . Dear Dr Winder is a tad persistent for my tastes, but he and Ben seem to be pointing out a behaviour that could lead to bad PR for Bazaar.10:18
AfC(though I cannot think, off hand, what bzr-svn could do differently given its long declared mission of storing full Bazaar branch information in a foreign repository)10:19
PengOh.10:21
PieterJc2k: did you get my notes on git's repack?10:39
lifelessPieter: why do you have to supply an option?10:45
Pieterthe default has a low setting. it can be ok for smallish repo's, but you get a lot better results witha higher --window10:45
lifelessso why isn't the default higher?10:47
Pieterbecause it takes longer10:47
lifeless(what is the impact on people of telling them to do this10:47
lifeless(so that it can be evaluated more deeply than just 'it can be foreced to do XXX'10:47
Pieterthe default was mostly just a guessed value, as nobody had done any benchmarks before10:48
Pieterbut you typically only need to do it once for a repository, after that people shouldn't repack --aggressive anymore10:48
lifelessbzr tries to manage this so most users never need to run pack at all10:49
Pietergit autopacks every xx commits too10:49
lifelessthough folk seem to be working around a couple of perf bugs by running pack :(10:49
Pieteryou just need to do it the first time because git-svn doesn't produce good packs10:50
lifelessyes, I know - they brought that in after bzr released a packs repository, AFAIK10:50
PieterThere had been some patches, but there was a lot of resistance for auto-repack from older git users10:50
Pieterbecause it can take some time to do, they wanted to do it themselves10:51
lifelesswhat was the objection ?10:51
lifelessah, raced with you :)10:51
lifelessso with bzr some folk have said it should be manual11:00
lifelessbut to date, once I point out its amortising latency noone has objected further :)11:01
Pieter:D11:02
lifelessone of the big differences ibetween bzr and git that I can see is the size of the remote api11:04
lifelessgit is extremely minimal, but we allow all branch operations - create/delete/commit/push/pull/uncommit/diff/cat/etc over the wire from the standard client11:04
Penghg is minimal too: http://www.selenic.com/mercurial/wiki/index.cgi/WireProtocol11:08
lifelessyup11:08
lifelessthis makes doing adhoc queries harder without a web UI running11:08
lifelessas well as making various scripts etc more complex11:08
PengISTM though that hg has had an effective smart protocol for ages, while bzr is still working on clunking together something complicated and inefficient.11:10
PengWhich is rude to say, but it's the impression I've been getting.11:10
PengAnd, the reason is that you (and that's a collective "you") weren't focusing on the smart protocol for a long time, and are trying to create something feature-rich and robust.11:11
=== kiko-zzz is now known as kiko
PengBut still; hg's decision seems to have worked out decently for them.11:11
PengYeah...I don't know why I just said all that.11:14
gourmoon phase?11:15
lifelessappearances matter :P11:15
lifelessso bzr works very well with no smart server, hg requires one to scale decently11:15
lifelesshg's wire protocol only scales if you keep the heads() list small11:16
lifelessand yes, we're now writing a full smart server and the tension is getting the smallest possible set of methods11:16
Penggour: Yeah. That works.11:16
lifelessbecause more than are needed is bloath11:17
lifelessbut not enough is slow11:17
gourPeng: ;)11:17
lifelessif we required a streaming protocol, it would be a lot easier11:17
lifeless(git does this AFAICT)11:17
lifelessbut we wanted to tunnel cleanly over http11:18
PengIf you created a minimal API, would that ruin dumb server performance?11:18
lifelessno, abstract interfaces for the win11:19
lifeless(and we have a minimal interface, just too minimal, and done a bit naively - first cut) - we're improving that release by release11:20
liwmmm. bzr performance. I should do some more torture.11:24
Jc2kAfC: its bzr-mirror.gnome.org now :) you should join #gnome-bzr11:25
gourany chance for gnome to embrace bzr?11:26
Jc2kgour: all i have to say is, bzr-mirror.gnome.org works, git-mirror.gnome.org... resolves to 127.0.0.1.. :P11:27
gour:-D11:27
gourwhat about projects like postgresql, wxwidgets...? any of them talk about migration?11:28
Jc2kAfC: btw, im not concerned about the use of properties at all. i think its awesome. obviously revision properties would be better...11:30
Jc2kAfC: but if you look at gnome-specimen in loggerhead, you see how it preserved some data that svn would ahve thrown away11:31
Jc2kAfC: spot the commit that was done in SVN: http://bzr-mirror.gnome.org:9876/gnome-specimen/trunk/changes11:31
lifelessliw: running that 22GB repository is interesting11:38
lifelessliw: I think we need to disable one of the internal caches, or make it LRU or something11:38
Jc2klifeless: i did my ratio the wrong way around but i actually found a bunch of repos where Git sucks ass11:39
Jc2klifeless: 1mb of gnome-cookbook BZR to 37MB of Git gnome-cookbook11:40
liwlifeless, I have about three months' worth of daily snapshots of Debian/Ubuntu mirrors, I was thinking that it would be fun to build a repo with all those source packages...11:40
Jc2klifeless: on the other hand, my git mirror of f-spot is 11mb and my bzr mirror is 482mb..11:41
lifelessJc2k: please do11:41
lifelessmeh, liw please do11:41
lifelessJc2k: ok11:41
Jc2ki wonder11:41
lifelessJc2k: lets get some more figures behind this11:41
Jc2kf-spot i could have cocked up11:41
lifelessJc2k: the revision count for each import11:41
Jc2k*checks*11:41
liwlifeless, "meh"?11:41
lifelessJc2k: (perhaps bzr-svn is getting more history)11:41
lifelessliw: meh at nmistyping names :)11:41
liwlifeless, ah11:42
lifelessJc2k: and get the tag count for each project11:42
Jc2kyup, f-spot i cocked up11:42
Jc2ksome of the ones i did manually at first had working trees11:44
Jc2klifeless: you have google docs? i'll throw this on a google docs spreadsheet?11:47
Jc2klifeless: don't suppose you know the foo to get total revisions in a git repo and a bzr repo?11:49
PengDoes "bzr pack" fix un-optimal things, like if fulltexts appear more frequently than they should for some reason (like bzr-fastimport)?11:49
james_wJc2k: bzr info -v lists the revision counts I believe11:49
PengLike, does it re-encode/reprocess things, or just shuffle data around?11:50
james_wJc2k: for a single branch "git rev-list | wc -l" will do it I think11:51
Jc2kgah, too brain dead to splice the output of bzr info -v11:54
Jc2kand i have many branches for the git mirrors in some cases11:54
lifelessPeng: bzr pack does not do that [yet]12:07
lifelessJc2k: I can get gdocs12:07
lifelessJc2k: for bzr, I was suggesting 'bzr revno'12:08
Pieterjames_w: that revision count sometimes doesn't correspond to the number of commits "git log" gives btw12:24
james_wwhy not?12:24
Jc2kPieter: i got your notes, but right now i'm more interesting in getting my mirrors to work than packing them tbh ;)12:27
Pieterjames_w: I don't know, I just noticed it12:28
kikohey12:42
kikothis bzrlib thing12:42
kikowho wrote it?12:43
lifelesskiko: some randoms12:50
kikolifeless, I have to say, it's just blown me away as to how cool it is. and I don't ever say that!12:51
lifelesskiko: excellent :)12:51
kikolifeless, I think these randoms know that they are doing12:56
kikolifeless, what's the easiest way to print the last log message committed to a working tree?12:59
mwhudson_tree.branch.repository.get_revision(tree.branch.last_revision()).message i think13:01
* mwhudson_ zzzs13:01
lifelesstree.last_revision()13:01
lifelessbut yes13:01
kikomwhudson_, ah, thanks.13:02
gourkiko: invoke "bzr log -r last:1" :-)13:03
kikogour, I am a bzrlib maven. I don't mess with no commandline!!13:03
cyberixIs bazaar going to have a sprint at europython this year?13:19
lifelesscyberix: I don't think so, because the bzr folk that would be likely to go are going to GUADEC, and the dates are the same13:27
lifeless(bzr core folk I mean). obvisouly anyone is welcome to organise seomthing :13:28
lifeless:)13:28
cyberixThe ones at europython are going to be my first sprints ever, I'm not even sure what they are13:38
cyberixI've been told that it is about people coding rapidly together13:38
lifelessyah13:39
cyberixI use bzr so it might be more interresting to me than some arbiray web framework13:39
jelmercyberix, afaik larstiq was going to europython this year14:10
lifelessnight all14:30
lifelessVerterok: is beuno feeling better?14:30
lifelessJc2k: I'll try to catch up with you tomorrow morning14:31
Jc2klifeless: kk14:31
Jc2knight14:31
jaypipesstatik: http://blogs.mysql.com/kaj/2008/06/19/version-control-thanks-bitkeeper-welcome-bazaar/14:43
statikjaypipes: hurrah! i'm trying to post something about it now too14:47
jaypipesstatik: this coming within the hour from Giuseppe: http://datacharmer.blogspot.com/2008/06/from-bazaar-to-sandbox-in-5-moves.html14:48
beunolifeless, howdy  :)14:51
beunoslept 12 hours, everything is looking better now14:51
jambeuno: /cheer14:51
beunohey jam!14:51
beunojam, are we going to have a "This week in Bazaar", well, this week?14:52
jambeuno: we should, statik agreed to it14:53
jamwe'll probably be mostly talking about the above announcement14:53
beunooh, it's official?  col!14:54
beuno*cool14:54
jambeuno: yeah, about 3-6 months of the last year has been working on that14:54
jamnice to have it mostly public now14:54
beunoyeah, it got delayed too, didn't it?14:55
beuno(blog seems down to me)14:55
jamwell, official announcements always seem to14:55
jambeuno: both blogs open for me14:55
gourjay! new bigger customer for bzr14:56
=== jam changed the topic of #bzr to: Bazaar version control system | http://bazaar-vcs.org | please test 1.6beta2 | http://irclogs.ubuntu.com/ | http://planet.bazaar-vcs.org/ | http://blogs.mysql.com/kaj/2008/06/19/version-control-thanks-bitkeeper-welcome-bazaar/
beunoodd, doesn't open here14:57
jaypipesgour: indeed, indeed. :)14:58
gourwhat about postgresql? still cvs?14:58
jamgour: last I checked14:58
jamwhich was ~6 months ago14:58
gourthey're nice potential customer...i was thinking about wxwidgets lately as well14:59
beunojam, I suppose congratulations are in order, your work payed off (and I suppose statik's too)14:59
jamthanks15:00
jamyeah, statik was really the power broker here15:00
jamI just did the conversion15:00
jamand we've been supporting them as they hit hiccups15:00
* gour congrats to all15:00
jamIts actually quite good to have a group like them, as it starts pushing at our seams15:00
gourjam: what do you think about postgresql and wxwidgets?15:01
jamgour: I like both of them :) I have no idea what their community is like, or how open they are to suggestions about VCS15:01
jamI was on postgres a long time ago15:01
jam(the mailing list)15:02
goursqlite?15:02
statiki've heard some mild inquiries about postgres, we sure would be happy to help them convert if there is someone in the postgres dev community that wants to work with us15:02
jamgour: the big problem is that I'm a developer/user, and not really a politician. Statik is the guy to go to, if you want someone to do what you want :)15:02
statiksqlite would be interesting too, but I think most dev there is done by one person15:02
goursqlite is CVS15:03
james_whi jam15:03
james_whi statik15:03
james_wcongratulations15:03
jamhi james_w15:03
jaypipesjam: we like pushing on the seams. ;)15:04
statikthanks! all i did was talk, jam did the real work :)15:04
gourstatik: get gnome & xfce for now  ;)15:04
statikyes, several people are going to GUADEC to help, and that gnome-bzr mirror is pretty nice15:05
jamstatik: politics out-weigh technology every time.15:06
Jc2kgnome isn't going to be easy, a lot of the core people are already distracted by Git15:08
goursame with gtk15:11
=== abentle1 is now known as abentley
gourbtw, i use haskell and moved to bzr from darcs...haskell community still sticks to darcs although e.g. ghc has problems with it15:12
jamgour: did you try darcs "2"?15:15
jamI at least thought I heard it had changed some fundamental bits to work better15:15
jamI do wish we could have their cherrypicking support15:15
jamjust haven't figured out how to represent it well in a snapshot model15:16
gourjam: see top of http://bugs.darcs.net/ it happened in the week when i was seriously evaluating bzr ;)15:17
jam"No I don't think so, it is a non-local problem"15:18
jamouch15:18
jamgour: I forgot that the comments are in reverse order... a bit hard to read actually15:19
jamI guess if you are following the issue tracker, the thing you want to read is at the top15:19
Jc2kgour, statik, jam: on Git vs Bzr in GNOME, best read is:15:19
Jc2khttp://mail.gnome.org/archives/desktop-devel-list/2007-September/msg00064.html15:20
abentleystatik, jam: contrats.15:20
Jc2khttp://mail.gnome.org/archives/desktop-devel-list/2007-September/msg00062.html15:20
Jc2khttp://mail.gnome.org/archives/desktop-devel-list/2007-September/msg00169.html15:20
gourjam: i had similar (read: serious issues in darcs-1 as well) - that's why i'm here now ;)15:22
jamanyone know how to tell pidgin that you really want your tab back where it was (in the other window)?15:23
jamI guess the best I found was to add another tab, so the tab bar shows...15:24
jamthen you can drag it15:24
jamgour: glad to have you :)15:26
semsliethanks for the links Jc2k. I've been looking out for something like that.15:27
gourhowever, availability of gui tools, good win32 support etc. are some add-ons (useful to my peer devs) why bzr is chosen15:27
Jc2ksemslie: the whole thread amused me.15:28
Jc2ksemslie: behdad misunderstands bzr-svn very badly and says it cant do stuff it can a lot, for example15:30
Jc2ksemslie: behdad also threatens to take his ball in at one point, too15:30
semslieI'm looking forward to reading it. kilner and I have been using bazaar against a subversion repository via bzr-svn for a month or two now so I'd like to compare notes with what I've experienced.15:35
semslieJc2k: my experience has been good on the whole, with one or two edge cases that confused me but were understandable given the nature of using a dvcs against a centralised one.15:37
Verteroklifeless: hi, sorry for the delay (just 1h :P )15:38
Jc2ksemslie: i'm a big fan of bzr-svn, hence http://bzr-mirror.gnome.org :)15:38
beunomornin' Verterok15:38
Verterokbeuno: g'mornin'15:38
vilahi all15:39
vilayeah for a new project using bzr :)15:40
semslieJc2k: me too, but I also feel that the whole experience could be even better. bazaar impressed me so much that I'll take crashes against svn with a pinch of salt and work out how to get around them, but it would be nice to see that experience become smoother.15:40
beunohey vila15:42
vilahi beuno, currently working on bzr-upload :)15:42
beunovila, oh, very cool15:43
beunothat needs to be made more public ASAP  ;)15:43
beunojelmer even has a deb ready for that as soon as we give him the green light15:43
vilabeuno: wow, I need to find some more free time then :)15:45
beunovila, I haven't lost any data with it, ever. That seems a good enough15:46
beunosymlinks thingie could be patched, and some other tweaks15:47
beunobut most people can use it as-is I think15:47
james_wJc2k: thanks for the links. I thought one of your posts was the best that I read.15:55
Jc2kjames_w: :) which one?15:55
vilabeuno: I have a half-working version for a more robust full upload (half-working cause it triggers a bug in bzrlib, or said otherwise, I overused some function), but that gave the hints for a full working one. Once done, I'll address chmod bits15:55
james_wdoes this work with the tools? Does that? Are we going to have a centralised with offline access model? or a gatekeeper?... <- that one15:55
Jc2kah :)15:56
james_wgood things to be asking, but it didn't seem to have any effect.15:56
Jc2kjames_w: for the whole thread behad just seemed to crying "i want git" and not really responding too well to anything that wasnt "i agree"15:57
Jc2ki fear that the DVCS discussion at GUADEC will be similar15:57
james_wyup15:57
PieterIt'll be decided the GNOME-way15:58
james_wit seems like there is a fair chance that it ends up with svn sticking around and then everyone using that as a backend, with some modules going off and doing there own thing if the leaders desire.15:58
Pieterwhich is "let's wait a few dozen more years"15:58
Jc2kPieter: i wish GNOME had a BDFL. right now its a free for all at the individual modules level, with seemingly no real goals for the project as a whole.16:00
beunovila, great, I'll be spying on your LP branch16:00
Pilkystatik, jam: congrats on the MySQL announcement16:00
Jc2kplus stuff like, how many canvas libraries do we need?16:01
statikthanks!16:01
vilabeuno: ok16:01
statikPilky: I saw someone was converting BazaarX to work with Git, the cross-pollination is pretty neat :)16:01
Pilkyyeah, I'm meant to be talking with him today to see how we're going to manage all of this16:02
vilathe more people collaborate, the less they waste energy bashing each other tool :)16:02
Pilkybecause the idea is that they'll share the majority of the same code16:02
Pieteras long as they don't call it GitX :)16:03
Pilkyand the UIs should be almost identical, except for where git and bzr differ16:03
Pilkyheh, it's called Gitty16:03
Pietergood16:03
Pietercause GitX is mine16:03
Pilkyheh16:03
Pilkyof course the bar has been set now with Versions so having more people working on the same code is going to help quite a lot16:04
* vila thinks jam can detect every mispelled 4 letters word beginning with h :-)16:06
Pieterlooks like gitty doesn't do anything yet16:06
PilkyOf course it complicates things quite a bit with regards to hosting the projects16:06
PilkyPieter: yeah, Colin (the guy who's working on it) couldn't commit to github through his company's firewall yesterday16:07
Pilkyit would be nice to try and closely brand BazaarX and Gitty together in the long run16:08
Pilkyespecially as they're going to be virtually the same app16:08
Jc2kPilky: stick it in SVN, and use git-svn and bzr-svn :)16:09
PilkyJc2k: I've considered that, also comes down to how the project will be structured16:09
PieterI wouldn't work on a git/bazaar gui project that uses svn16:10
Jc2kim sure there are plenty of git people who wouldnt use a git GUI that was hosted in bzr.16:11
PilkyI'd prefer not to, but it's going to be complicated either way16:11
Pietermy git-bzr works perfectly fine for my needs16:13
Pieteri can just do git bzr pull / git bzr push16:13
Pieterhttp://frim.frim.nl/GitX6.mov btw16:13
Pilkyin theory all that would need to happen is references to BZRCore would need to be replaced with GITCore16:14
paskyPieter: doesn't git log by default hide merges?16:14
Pieterno16:14
Pilkyunfortunately there's a few areas where I work around bzr for speed16:14
PilkyPieter: looks nice16:17
Pilkylooks like it only does browsing at the moment16:17
Pieteryes16:18
PilkyI guess Gitty and GitX will appeal to different groups atm, depending on what they want from a GUI16:19
PieterVienna:m pieter$ time bzr branch lp:mysql-server/5.016:19
Pieterbzr: ERROR: Target directory "5.0" already exists.16:19
Pieterreal0m19.882s16:19
Pieternice how it takes 20 seconds to give that error16:19
PilkyI haven't got branch history planned for BazaarX until 0.516:19
PieterI first want to add multiple branch support / multi repo support.. then look at a gui for committing and perhaps blaming16:20
paskyPieter: oh, right I was confused16:21
Pilkyyeah, we're going from the committing side of things first16:21
Pieterand I want to do some fancy things like a rebase -i frontend16:22
Pilkyhmm16:22
=== gour_ is now known as gour
Pilkywe've got some interesting stuff planned, for example I want to try and us FSEvents to automatically do bzr mv16:23
Pilkyso you can rename a file in an editor, or the finder and BazaarX will detect that and do the bzr mv for you16:23
Pieterah16:23
Pieterluckily git doesn't need that16:23
Pilkybut I believe git doesn't have quite as comprehensive as system for doing moves and renames, correct?16:24
LeoNerdBut then doesn't git get very upset if you rename and modify a file at the same time?16:24
Pieter(I thought FSEvents only works on the directory level? so you don't get any info on which file was changed)16:24
Pieterthe renaming stuff works ok in most situations16:25
Pilkynope, I believe it works on the file level as well16:26
jelmerPilky, That seems like something that would be useful to bazaar in general16:26
jelmerPilky: I.e. as a separate plugin, independent of a particular GUI16:26
PieterMercurial has it already16:26
Pieteryou can just take that16:26
Pilkyremember, it's used for notifying time machine and spotlight for informing them when to update16:26
Pilkyjelmer: we may run it as a background process16:27
PieterPilky: time machine doesn't use kernel info, and spotlight doesn't use fsevents16:27
Pilky?16:27
PilkyFSEvents were created for spotlight16:27
Pieterno, they are separate16:28
Pilkythey were added in Tiger, but made public in Leopard16:28
james_wJc2k: from the wiki you may want to remove the claim that bzr has never had a regression.16:28
Pieterfsevents is a userlevel interface that is less powerful, spotlight has its own kernel access16:29
PilkyPieter: if they don't use FSEvents then what do they use, seems stupid to have 3 separate file system notification systems16:29
PieterPilky: yeah, they probably did it because you can't get file notifications with fsevents16:29
Pilkyhmm, so it's all the same system, just with different levels of access16:32
asabilhas there been any suggestion about changing the bzr branch/pull/push output ?16:34
asabilbecause the way it is now, it gives the illusion that bzr is very slow16:35
PieterPilky: you can use the kernel interface, but you need root for that16:37
Pilkyyeah, not ideal16:38
Pieteryou could just put it in with the applescript exploit16:38
LarstiQcyberix: I'll be at EP, if you want to meet up.16:41
datoLarstiQ: not sure if you're making DebConf, but I'm not making it myself16:41
datoLarstiQ: and hi!, of course :)16:41
Mezw00t - best ever function ever16:44
Mezbzr shelve works on svn branches16:45
PilkyPieter: by the looks of things, using kQueue is going to be the best way to do it16:47
LarstiQdato: I'm not, alas. Extremadura though, that I should be able to make :)16:50
LarstiQMez: cool :)16:50
datoLarstiQ: nice. I should *so* bury in shame if I don't make Extremadura myself ;)16:51
LarstiQdato: if that happens, I'll come look you up :P16:52
dato*g*16:52
MezLarstiQ, cept it thinks everything done by svn:keywords is a change16:54
jelmerHi dato, LarstIQ, Mez16:58
jelmerMez: that's a known bug unfortunately - bzr needs to support keywords first16:58
Mezjelmer, yeah... and it wont let you only shelve from a single file/dir16:59
jelmerMez: Hmm, I thought that worked17:00
jelmerMez: Do you get an error or something?17:00
* LarstiQ dines17:02
Mezjelmer yeah17:07
Mez  File "/home/mez/.bazaar/plugins/svn/branch.py", line 106, in unprefix17:07
Mez    assert relpath.startswith(self.get_branch_path())17:07
MezAssertionError17:07
vilabeuno: more robust full upload done, look, test, report, enjoy :)17:08
* beuno pulls17:09
jelmerMez: Ah, thanks17:10
vilabeuno: It should now be possible to upload even if the remote dir is "dirty". bzr-upload will just clear its way. Of course that may be destructive, but that's the point :)17:10
Mezjelmer, hope it helps17:11
jelmerMez: Any chance you can file a bug?17:11
beunovila, as in, delete all files unrelated to the tree?17:11
Mezjelmer, am in the middle of a massive merge..17:11
vilabeuno: no, not *that* destructive :) Only the files or dirs that are in the way17:11
beunovila, can you enlighten me on what "in the way means"?17:12
vilathe cases I had in mind was files renamed into dirs and vice-versa. These cases would have triggered weird errors17:12
vila"in the way" == "files or dirs that needs to be deleted because we want to upload dirs or files at the same location"17:13
vila-2s/renamed/changed/17:13
beunovila, ah, seems reasonable17:13
beunovery cool17:13
vilasymlinks will have to be handled in the same way if/when we want to support them17:14
beunoI may attempt to fix that, although I've been secretly waiting for jelmer to run into that bug enough time for him to attempt to first  :p17:15
jelmerI did look into adding support for that17:15
jelmerbut gave up when I couldn't find a function to create them in the Transport interface17:15
vilabeuno: *Now* I can't imagine a scenario anymore where a full upload will not allow restoring a clean state remotely17:16
beunovila, so you're happy-ish for more people to start using it?17:17
vilayup17:17
beunoyay!17:17
beunoI'll writeup a blog post/email later on17:17
james_wgo team!17:18
jelmervila/beuno: Time to file that ITP?17:18
beunojelmer, go!17:18
vilathe lack of chmod bits may still bit some people, but that's far less important than getting a remote dir totally screwed up17:18
beunovila, I have a few branches with work done on bzr-upload, but they are either unfinished, or don't have tests yet, so I'd rather stop pushing more untested code then get that in. Hopefully I'll be able to make some time for it soon17:19
vilawhich could happen, for example, if two people try to upload at the same time, two branches that have diverged and contain some kind changes17:19
beunovila, that's what patches are for  :)17:19
paskyHas anyone ever made any detailed comparison of patience diff and the classic Meyers diff? Like taking a corpus of commits and comparing the two diff outputs and judging the difference for sensibility?17:19
vilabeuno: on that subject, I was already wondering if it's time to have more branches for the plugin so that we can experiment more freely and then merge the official branch when ready17:20
paskyor is there just anecdotal evidence available?17:20
vilabeuno: so create your branches and I'll review them17:20
vilajelmer: excuse my ignorance, but was is an ITP ? :)17:21
beunovila, ok, will clean some of them up. I just want to be able to provide code changes with tests as well17:21
james_wpasky: jam is most likely to know of anything like that, he's done a lot of tweaking.17:22
beunovila, Intent To Package in Debian. It's basically telling everyone that you're going to be packaging that software17:22
vilabeuno: good. On the dry-run option, I've looked at the existing tests and I may able to refactor them so that you can reuse most of them17:22
vilas/may able/may be able/17:22
beunovila, ah, that would be cool. I couldn't find a way to do that without duplicating the tests that it affected and pass on the dry-run option17:23
vilabeuno: the idea is to separate the setup/exercise/verify/teardown parts. setup and teardown are already down, exercise and verify should be separated so that you can reuse the exercise part, do your own upload (with --dry-run option) and do your own verify17:25
vilas/already down/already done/17:25
vilaand yes, I'd like to be able to amend my commits like I fix my typos in IRC :)17:26
gourlike darcs' amend-record?17:26
fullermd`bzr sed`  ;)17:27
beunohaha17:28
beunovila, that sounds perfect. Like always, you rock17:28
* gour thinks statik rocks too bringing demanding customers to bzr17:29
statikthanks :)17:29
paskyjames_w: thanks for the hint ;)17:31
paskyi'll ask when i see him around17:31
=== kiko is now known as kiko-fud
awilkinsjam: Ping?17:34
bkorhas someone seen http://vcscompare.blogspot.com/2008/06/git-mercurial-bazaar-repository-size.html ? the table is hard to read, it is about bzr using 2.8 times more storage than git17:34
jelmerI think that's from Pieter in this channel17:42
Pieteryeah17:51
jelmerstatik: Congrats! Really awesome to see MySQL aboard17:57
cyberixLarstiQ: sure, why not18:00
=== kiko-fud is now known as kiko
engieHi. Has anyone come across systems for avoiding stale comments by associating them with a section of the file & a revision, then getting the VCS to flag them up on commit if there are any changes in that section?18:09
bkorPieter: did you get feedback from bzr devs why it is so big?18:09
jelmerI think we need to remove the comments indicating we're smallest from that wiki page18:10
jelmeror at least more clearly indicate they're not very representative18:11
Jc2kNO18:11
jelmerJc2k, ?18:11
Jc2ki have git, svn and bzr for all GNOME. for some modules bzr gets caned badly, but i've also got some where bzr canes git.18:11
Jc2kthe no was a protest at my laggy wifi connection on this train :p18:12
Jc2ki will post figures when i have verified all things are fair18:12
jelmerah, ok18:12
jelmerActually looks like there already is a comment up there18:13
jelmerJc2k, it would be interesting to see in what situations one of the two is better18:13
gour...and why18:14
gour:-)18:14
Jc2ki seem to remember gnome-games making git-svn suffer18:14
jelmerbeuno: Are you a DD?18:21
beunojelmer, no. Do you need a sponsor?18:22
jelmerbeuno, yep18:22
beunoI can get you one  :)18:22
* beuno goes fetch a DD18:22
beunohrm, out for lunch18:23
jelmerno hurries18:23
jelmerbzr builddeb http://bzr.debian.org/pkg-bazaar/bzr-builddeb/unstable/18:23
jelmerwill build the package18:23
beunoalright, I'll drag her in here as soon as she's back18:24
jelmerthanks18:24
beunocool, thanks jelmer :)18:24
jelmerI'll be away tonight, will be back in ~5 hrs18:24
beunojelmer, np, that will give her some time to review18:27
PieterJc2k: but, you didn't repack those repositories at all18:28
Pieteror, without any --window flag18:29
Pieterbkor: I think general consensus was that bzr can still do a lot in generating better packs18:29
Ngis it just me or did the progress bar on branching code go away?18:39
beunomwhudson__, while working on the new theme I found a few more issues with my clean url branch. So I'll delay that a bit more until I solve those too18:46
=== mwhudson__ is now known as mwhudson
awilkinsjam: Ping?19:26
pygihey strangy, what's  up?:)19:26
strangyjust bzr cloned my subversion repo19:26
strangy:)19:26
strangyfrom assembly19:26
strangyassembla19:27
strangypygi: and you?19:29
pygistrangy, working on some articles =)19:29
Jc2kPieter: i did git --bare gc --prune --aggressive19:31
engieHi. Is there a recommended way to abort a commit from a pre_commit hook in a plugin?19:31
mwhudsonbeuno: what issues?19:32
Jc2kPieter: am i expected to know how gc works sufficiently to correctly balance alien arguments like --window and --depth to suit each one of the 520 modules?19:32
beunomwhudson, with revision comparison19:32
beunoin /revision19:32
beunoit uses revid to compare19:32
beunoand we're using revnos now19:32
mwhudsonbeuno: did you try _my_ zpt.cleaner_urls branch?19:32
mwhudsoni think i fixed that19:33
beunomwhudson, ah, I merged that into my branch, but it didn't travel all the way into my new theme one because it encountered 16 conflicts, which made me revert  :)19:33
beunocool then19:33
mwhudsonheh19:33
beunoI'll merge those in and fix the remaining issue with next/prev19:34
Jc2kPieter: and your still missing the point that we can learn from the differences between an out of the box git mirror and an out of the box bzr mirror and fine cases where both projects can be optimized19:34
Jc2kPieter: i presume the reason that git doesnt pack more agressively by default is for speed?19:34
mwhudsonbeuno: paper over the issue, i think you mean :)19:34
Jc2kPieter: also, how often am i meant to set the git gc cronjob to run?19:35
beunomwhudson, paper over?19:36
mwhudsonbeuno: sorry, just as i said in my mail, navigation is kind of messed up in loggerhead anyway19:36
mwhudsoni'm not expecting you to fix that :)19:36
beunoah, heh19:37
beunoright, I wasn't familiar with the expression19:37
mwhudsonoh, sorry19:37
beunoso, yes, patch it up the best way possible until we do something sensible with that19:38
beunobtw, this may seem like an odd question19:39
beunoyou wouldn't happen to know a revision in the bzr tree that has multiple merge points (merged from in LH), would you?19:40
mwhudson>2 parents?19:40
mwhudsonthere are a couple, i think, i went looking for them a while back19:40
Lo-lan-doG'day all19:41
beunoI'd be happy with 2. I want to test something, but I went back ~20 pages and couldn't find any19:41
Lo-lan-doIs there a mostly stable web interface for bzr?19:42
Lo-lan-doI hear about loggerhead, but I don't see much activity on the webpage, and it's not in Debian...19:42
Lo-lan-do(Or Ubuntu, I guess)19:43
beunoLo-lan-do, me and mwhudson have been working on it like crazy the past month or so19:43
Lo-lan-doYay :-)19:44
beunoLo-lan-do, https://edge.launchpad.net/loggerhead19:44
beunoget trunk, it's the latest and greatest19:44
mwhudsonbeuno: all mainline commits have 2 parents :)19:44
beunomwhudson, not according to LH: http://bazaar.launchpad.net/~bzr/bzr/trunk/changes19:45
* mwhudson gets confused by graph iter_ancestry19:45
mwhudsonbeuno: no, really: each mainline commit has two parents: the previous mainline commit and the revision being merged19:46
Lo-lan-dobeuno: Is there an online demo somewhere?19:46
beunoLo-lan-do, not of the current trunk, but, well, Launchpad runs it19:46
mwhudsonLo-lan-do: http://bzr-mirror.gnome.org:9876/mango/trunk/19:47
beunoah19:47
beunoit seems we do  :)19:47
beunomwhudson, is that running your wsgi branch?19:47
mwhudsonbeuno: yes19:47
Lo-lan-domwhudson: Tha,ks19:47
beunomwhudson, very cool. I should merge that into one of the branches I'm working on so I can start punching wholes in it19:48
PieterJc2k: you're expected to know that if you're converting a 6GB repo, yes19:50
=== mw is now known as mw|food
beunomwhudson, but we don't show both parents in LH, do we?19:50
PieterJc2k: after that, you should never have to run gc --agressive again19:50
beunomwhudson, right, well, LH doesn't show it19:50
mwhudsonwell, the left hand parent is shown in an implicit way i guess19:50
PieterJc2k: and git gc will be performed automatically, you don't need to do that yourself19:50
db-keenI've made several unrelated changes, how can I hold back, and not commit modified versions of certain files?19:51
engiedb-keen: Have you tried the bzr shelve command?19:51
beunomwhudson, ok. But we have a loop for "merged in" and "merged from", so I was wondering in what cases that actually loops19:51
mwhudsondb-keen: yes, bzr ci path will commit only changes under path/19:51
mwhudsonbeuno: oh right19:52
mwhudsonhang on, i can give you a list of revids19:52
PieterJc2k: you can just take a window of 100 for everything if you want19:52
db-keenengine: that looks like what I want, thanks!19:52
Jc2kPieter: but git packed automatically as it imported, so why is it so important to pack it again?19:52
mwhudsonbeuno: http://pastebin.ubuntu.com/21464/19:53
PieterJc2k: because the packs that git-svn produces are suboptimal19:53
mwhudson(14 parents??)19:53
Jc2kPieter: is that considered a bug that will be fixed?19:53
Pieterno19:53
beunomwhudson, that's it, thanks  :)19:53
Pieterif it would repack every time in between, it would cost a lot of time19:54
Pieterso it's better to just do it once at the end19:54
mwhudsonbeuno: http://bazaar.launchpad.net/~bzr/bzr/trunk/revision/robertc@robertcollins.net-20060503100143-94b0e2f638dbbb8d seems a good example19:55
mwhudson(but you have to use merge --force to get this to happen i think so it's going to be rare)19:55
beunomwhudson, Please try again -  Sorry, there was a problem connecting to the Launchpad server.19:56
mwhudsonodd19:56
beuno(nicer errors)19:56
mwhudsonit worked for me19:56
beunothere, refresh 3 or 4 times and it got it19:56
mwhudson:/19:56
Jc2kPieter: as im mirroring, over time would the backs because sub optimal again?19:56
Jc2k*packs19:56
beunomwhudson, when are you deploying zpt on LP?19:56
Jc2k(thanks for answering me btw, the git mirror has been a pain so far)19:57
mwhudsonbeuno: should be next wednesday19:57
Jc2k(and no one in GNOME seems to know the right way to do things)19:57
beunomwhudson, gather some before-statistics, so we can compare  :)19:57
mwhudsonheh, probably a good idea19:58
beunook, cool. Multiple parents doesn't break the new theme19:58
PieterJc2k: once the pack has been optimized, subsequent normal git-gc's will behave properly20:00
PieterJc2k: you just need to do this once20:00
Jc2kcool20:00
Lo-lan-doHm.  Seems like loggerhead isn't as straightforward as I had expected.20:03
Lo-lan-doI guess I'll wait for someone to package it (hi jelmer :-)20:04
blueyedHi. I have a bzr branch, which mirrors a CVS repo (using tailor). I've committed a previous rev. from a derived branch to the CVS branch and when the change came back, it caused a conflict with a newly added file ("conflict adding file ..."). That shouldn't happen, or is this expected?20:04
Jc2kLo-lan-do: hehe, it was really easy for me ;)20:05
jamstatik: this-week time20:05
statiki'll call you now20:05
Lo-lan-doJc2k: I'm getting errors about a "peak" module, even though I have the python-decoratortools package installed20:05
beunoLo-lan-do, you branched trunk?20:06
beunoyou need python-sqlite, python-simpletal20:07
beunoand turbogears20:07
beunopython-turbogears to be precise20:07
Lo-lan-doYup, I have all of these.20:09
Lo-lan-doBranched from http://bazaar.launchpad.net/%7Eloggerhead-team/loggerhead/trunk/20:09
beunoLo-lan-do, can you paste the full traceback?20:09
Lo-lan-dohttp://pastebin.com/d603a4b6720:10
beunoLo-lan-do, try installin python-pkg-resources20:11
Lo-lan-doAlready there20:11
mwhudsonLo-lan-do: you could try lp:~mwhudson/loggerhead/wsgi-ify20:11
Jc2kLo-lan-do: i am using wsgi-ify, which is why i said it was really easy :)20:12
* Lo-lan-do installs python-pastewebkit20:14
mwhudsonpython-paste should suffice20:14
mwhudson(at least that's the package name in hardy)20:14
Jc2kmwhudson: python-pastedeploy is needed too20:15
mwhudsonJc2k: is it?20:15
Jc2kon etch, yes20:15
mwhudsonhmm20:15
Lo-lan-dopython-paste isn't enough, apparently (on sid)20:15
mwhudsonwhat fails without it?20:15
Jc2kmwhudson: i can remove it and get you a traceback if you like?20:16
Lo-lan-doImportError: No module named paste20:16
beunoLo-lan-do, right, python-paste is needed  :)20:16
Lo-lan-doNow I get http://pastebin.com/df82c6d020:16
Lo-lan-dobeuno: That was with python-paste, but without python-pastewebkit20:16
mwhudsonthat's strange20:16
mwhudsonLo-lan-do: maybe try putting20:17
mwhudsonimport logging.handlers20:17
mwhudsonat the top of start-loggerhead.py ?20:17
mwhudsonLo-lan-do: but also try using the new serve-branches.py script20:17
Lo-lan-doAdding the import works20:18
beunomwhudson, I saw you started work for a bzr plugin  :)20:18
mwhudsonbeuno: yeah, it's pretty brainless20:18
mwhudsonLo-lan-do: ah, ok20:18
* mwhudson adds that to his branch20:18
mwhudsonLo-lan-do: but you may want to use serve-branches.py anyway :)20:19
beunomwhudson, thoughts on *just* showing side by side diffs in the new theme?  Currently we process and write out the diffs twice. Once for side by side, and once for unified.  Would doing that get me killed?20:20
Lo-lan-doHm.  For some reason, Iceweasel displays the XML as is.20:20
mwhudsonbeuno: not by me20:20
mwhudsonLo-lan-do: oh hang on20:21
=== mw|food is now known as mw
mwhudsoni think i forgot to push a fix20:21
beunomwhudson, we can re-add that option later on, with my ajax branch, since we will request only what the user wants20:21
mwhudsonbeuno: though i would if picking the unified view would make more sense20:21
mwhudsonthe side-by-side view tends to extreme wideness20:22
mwhudsonLo-lan-do: please pull again, you want revision 20420:22
beunowell, I'm a vimdiff man, so I prefer side by side, no matter the width. I can leave both, just thought we could make the transition with just one, and then re-add it later on with ajax-goodness20:24
Lo-lan-domwhudson: Better, thanks.20:24
mwhudsonbeuno: i don't have a strong opinion20:25
Lo-lan-doAlthough I suppose I'm still going to whine: could you only regenerate cached data if no revisions have been added?20:25
mwhudsonbeuno: only displaying one does make a lot of sense i think20:25
mwhudsonLo-lan-do: pardon?20:25
Lo-lan-doOtherwise it can take quite some time between startup and operational status20:25
mwhudsonLo-lan-do: oh i see20:25
mwhudsonLo-lan-do: no20:25
mwhudsonbasically20:26
mwhudsonloggerhead needs to merge sort the revision graph when it starts up20:26
mwhudsoni suppose it could cache this somewhere...20:26
Lo-lan-doThat's going to be a problem if I want to integrate it into a GForge plugin...20:26
mwhudsonwhy would you be restarting it frequently?20:27
Lo-lan-doEven if it only took one second per branch, there can be hundreds or thousands of branches...20:27
Lo-lan-doTo take new project and branches into account?20:27
mwhudsonyou don't need to restart to do that20:28
Lo-lan-doUnless there's a way to run loggerhead as a CGI, but then startup time is even more important.20:28
mwhudsonwell, you do if you use a config file, but that's a bad idea :)20:29
mwhudsonLo-lan-do: are you auto generating a loggerhead.conf at the moment?20:29
Lo-lan-doAt the moment I'm getting my first instalce of loggerhead to run so I can play with it, that's all :-)20:29
mwhudsonok20:29
mwhudsonwell, if you use the serve-branches.py version, it will pick up new branches as they are added just fine20:30
Lo-lan-doBut I'm all in favour of a daemon that needs no restarts, if one can add/remove branches to it.20:30
mwhudsonbut it's bound to the file system20:30
Lo-lan-dofam or something?20:31
mwhudsonif the information about what branches you have is somewhere else, you'll need to write some (simple) code20:31
mwhudsonLo-lan-do: hah, no, nothing that fancy20:31
mwhudsonit's lazy, it doesn't create the branch views until the first view of a branch20:31
mwhudson(which does mean the first view of a branch can be slow)20:32
Lo-lan-doOkay, so no list of existing branches?20:32
mwhudsoni think bzr needs to change a fair bit before we can get away from that, sadly20:32
mwhudsonLo-lan-do: right20:32
mwhudsonLo-lan-do: it's what's running on http://bzr-mirror.gnome.org:9876/20:32
Lo-lan-doOkay.  I suppose I'll generate links with "bzr branches" in the background.20:33
mwhudsonthat is just serve-branches.py running from the directory that contains all the repositories20:33
Lo-lan-doOh, hey, an f-spot branch.  I guess I can abandon mine :-)20:34
* mwhudson goes to to breakfast and stuff20:34
abentleybeuno: Showing only side-by-side diffs will get you killed by me.20:39
abentleyHaving to always switch it is annoying enough.20:39
beunoabentley, even if I bring it back in the next release?20:40
beunoit's stupid how it's done now, and wastes ton of resources20:40
abentleybeuno: So wouldn't it make more sense to stop it wasting resources?20:41
beunoabentley, yes. I have a branch for that, but it's too big of a change to land it this release20:42
abentleyYou'll waste more resources with ajax.20:42
beunoand why is that?20:42
abentleyBecause the expensive part is performing the sequence matching, and that only needs to be done once.20:42
abentleyBut if you ajaxify it, you20:42
abentleywill throw away the sequence.20:43
=== sii` is now known as sii
beunoabentley, well, today, we generate each diff twice per file changed per page. With ajax, we'll only generate it once, and when you actually want to see the diff to that file20:43
beunoso, I think we'll get a big win overall, even by doing sequence matching twice20:44
abentleyThe expensive part of generating a diff is the sequence matching.20:44
mwhudsonabentley: no, it's rendering all that html :)20:45
abentleyAnd avoiding retrieving the texts twice doesn't hurt either.20:45
beunoright, bzr is not an issue at all here20:45
mwhudsonthe actual getting the diff out of bzr is not the problem today in loggerhead20:45
* mwhudson really goes to have breakfast now20:45
abentleymwhudson: Diff generation is O(n^2).  Is generating HTML?20:45
beuno3sec to generate a 30k line diff, 30sec to make it HTML20:45
Lo-lan-domwhudson: What if a branch disappears?  Will serve-branches.py remove it from its cache and the list?20:45
beunoabentley, ^20:46
abentleybeuno: ^20:46
beunoheh, I don't follow  :)20:46
beunoyou're talking about the cost of generating in bzr, right?20:47
abentleyHTML generation ought to scale linearly.  File diffing scales with the square of the number of lines.20:47
abentleySo in the worst case, File diffing will always be slower.20:48
beunoI understand that theoretically, but, in practice, in out big-case scenario (36k line diff), bzr takes 3 seconds to generate it, and it takes us over 30 seconds to make that HTML20:49
abentleybeuno: This is with simpletal?20:50
beunoabentley, yes20:50
abentleyHow is the HTML being generated?20:50
beunoit's 1.40m with KID20:50
beunoabentley, mapping the diff object generated by LH with the template20:51
abentleyIt sounds like taking a more direct approach would be appropriate.20:52
beunoI'm working on the new theme now, where I'm trying to improve that20:52
beunoabentley, direct as in not using a template?20:52
abentleybeuno: Using a template only for the icing, using list.append(string) for generating the HTML.20:53
mwhudsonLo-lan-do: the listing is always done with os.listdir(), so yes20:53
mwhudsonLo-lan-do: it will stay in the cache (currently, at least, this much would be fixable)20:54
Lo-lan-doHmm.  That sounds quite interesting.20:54
engieHi. What's the best way to tell which of two revision numbers (as strings) is the latest?20:54
beunoyes, that's something I'd like to try eventually, or use a non-xml based templating engine for those bits. But, well, we have bigger problems at the moment, so we're trying to get those out of the eay first20:54
Lo-lan-doSurely the cache expires after some time, right? :-)20:54
mwhudsonengie: you can't20:54
mwhudsonLo-lan-do: nope!20:54
mwhudsonLo-lan-do: this is probably not ideal20:55
mwhudsonengie: in general20:55
abentleyengie: You can only do that when the revnos are in the same branch and have no dots.20:55
engiemwhudson, abentley: OK, thanks20:55
abentleyThen, the larger number is more recent.20:55
komputeshey guys, I have a project I'm working on, but every time i pull all the files that were executable loose the executable bit.20:56
komputeswhich means every time i pull it I have to chmod u+x those files. does anyone know why this is happening, how to circumvent this without ignoring the file all together.20:57
mwhudsonkomputes: well, that shouldn't be happening20:58
komputesmwhudson: I doubt that one of the other project members are playing a trick on me20:59
mwhudsonbut bzr does track the execute bit20:59
jamjames_w: Elliot mentioned that you had a screencast, is that something I can link publicly for "this week" ?21:00
komputesmwhudson: does the fact that ownership of the file changes from user to user have anything to do with the error i'm having?21:00
statikjam: http://www.theregister.co.uk/2008/06/19/mysql_dumps_bitkeeper/21:01
komputesstatik: very nice ;)21:02
Lo-lan-domwhudson: Is all the caching in serve-branches.py done in memory?21:04
mwhudsonLo-lan-do: not all of it, but a fair chunk yeah21:05
mwhudsonmemory usage has been a bit of a problem with loggerhead, but so far the blame's more been on the rendering than this caching21:05
Lo-lan-doHmm.  There's definitely going to be problems with that on a forge.21:06
mwhudsonwell it's a problem on launchpad too, so we're actively working on it :)21:06
Lo-lan-doGlad to hear it :-)21:08
Lo-lan-doAlso, the RSS/atom link gives me Internal Server Error.21:09
Lo-lan-doBut apart from that, I'm quite impressed, and I'm eager to see it stabilised and deployable :-)21:10
awilkinsVerterok: Aha, you are here21:10
awilkinsHow's that xmlrpc stuff going? Want an enthusiatic dogfooder?21:10
mwhudsonLo-lan-do: the atom feed i fixed just now21:10
Lo-lan-domwhudson: http://pastebin.com/d1e6721d0 for the error21:10
mwhudsonLo-lan-do: yeah, that one ;)21:10
mwhudsonpull again21:10
Lo-lan-doNo revisions to pull.21:11
mwhudsondarnit21:11
mwhudsoni hadn't pushed it, pushing now...21:11
Verterok awilkins: Hi :)21:11
Verterokawilkins: it's going quite good, I just implemented error reporting in xml :D21:12
Lo-lan-doYay, it works :-)21:13
awilkinsVerterok: My users are running into the lethargic performance of the plugin ; if it's stable enough, I'll take an order of 6 to go ....21:13
awilkinsVerterok: Well, I'll try it out on their data, and if it blows up, I'll try to fix it.21:14
Verterokawilkins: I'm using it in a daily basis (dogfooding, as you said)21:14
awilkinsVerterok: Sounds good - is the performance up? Is the XMLRPC a socket-based server?21:15
Lo-lan-domwhudson: Also, a link to go "up" one directory would be welcome.21:15
awilkinsVerterok: More to the point, are there public branches :-)21:15
=== dpm_ is now known as dpm
mwhudsonLo-lan-do: hm, good idea21:16
mwhudsonLo-lan-do: file a bug? :)21:16
Verterokawilkins: regarding performance, the bzr-java-client testsuite runs in aprox 45 sec. against the CLI ~4min :D21:16
Verterokthe current server is a extension of the python SimpleXMLRPCServer21:16
Verterokawilkins: yes, there are public branches...21:17
awilkinsVerterok: I bet the differential on Windows is even greater ; it doesn't like to start processes.21:17
awilkinsVerterok: Are they on lp?21:17
Verterokawilkins: I didn't test it on windows yet, so your help is more than welcome :)21:17
Verterokawilkins: should be on lp...let me check21:18
Verterokawilkins: oops, I keep pushing to my server, I'll push the xmlrpc branch to lp in a sec.21:18
=== kiko is now known as kiko-afk
Verterokawilkins: I must go for 30min, I'll push as soon I finish this21:19
awilkinsRoger roger21:19
* Verterok heads to a boring meeting21:21
Lo-lan-domwhudson: http://pastebin.com/d21742d321:23
mwhudsonLo-lan-do: i'm not sure something so simple will work in all cases21:24
mwhudsonLo-lan-do: maybe it should, though!21:24
=== yacc_ is now known as yacc
Lo-lan-doSeems to work here, although only when in a branch.  I can't go up to /gforge/ if I'm in /gforge/patched/ for instance (the branch is at /gforge/patched/foo/)21:26
Lo-lan-dohttp://pastebin.com/d769c9742 fixes that :-)21:31
Lo-lan-do(Proof of concept, needs tuning, and so on)21:31
aldolathi there! :)21:34
Lo-lan-domwhudson: http://pastebin.com/d2e6819e4 and I'll stop bugging you about it :-)21:35
aldolatcan I delete a project of mine in LP?21:35
strangyaldolat: no .. you must make a ticket for that21:36
strangyand that annoys me21:37
aldolatthis is not good... an admin of a project should have the possibility to do that21:38
aldolatimho :)21:38
strangyi agree but in this case it does not have that permission21:39
aldolatclear & simple :D21:39
aldolatthx. bye! ;)21:42
engieIs there a command that tells me what the revision number would become if I committed right now?21:52
beunoengie, I suppose bzr revno + 121:53
beuno(not a command really)21:53
engieOK, thanks21:53
james_whi jam. I'd prefer not to link it publicly from it's current location. Could we defer it for a week?21:56
Verterokawilkins: still around?21:56
engieIs there a recommended way to abort a commit from a pre_commit hook in a plugin?21:57
engieAt the moment I throw an uncaught exception and it's pretty messy21:58
engieThis is to do some code sanity checking before committing21:58
lifelessmorning everyone21:59
vilastrangy: and how about *renaming* a project ? For hysterical raisins the webdav plugin is called bzr.webdav, I'd prefer bzr-webdav..21:59
vilahi lifeless21:59
Verterokmornin' lifeless21:59
mwhudsonengie: i think raising an exception is the way22:00
mwhudsonif you raise a subclass of BzrCommandError (i think it's that one) the message wll be displayed nicely22:00
engiemwhudson: OK, I'll grep for that and have a go22:01
strangyvila: i don't know ... i created a test project on launchpad just to test it .. and then i could not delete it, instead i had to make a ticket22:01
strangyvila: that is all i know ...22:01
vilastrangy: ok, thks22:01
awilkinsVerterok: Yes, just lurking intermittently22:06
Verterokawilkins: ok, I just pushed to lp both branches xmloutput+xmlrpc and java-client+xmlrpc22:07
Verterokawilkins: https://code.launchpad.net/~guillo.gonzo/bzr-xmloutput/xmlrpc22:07
Verterokand https://code.launchpad.net/~guillo.gonzo/bzr-eclipse/java-client-xmlrpc22:07
Verterokawilkins: I'm going to create the bzr-java-client project, so we can work on this as the "bzr-java team" :)22:08
statikjames_w: have you considered or tried uploading your screencast to archive.org?22:10
statiki've never tried with video22:10
james_whi statik, no, but I saw a recommendation that it could be good idea.22:11
awilkinsVerterok: Go bzr-java team :-)22:11
james_wI also considered ShowMeDo.22:11
* awilkins goes out to pcik capes22:11
james_wstatik: had any luck creating any?22:11
Verterokawilkins: go team! :D22:12
statikawilkins: are you working on netbeans or eclipse?22:12
awilkinsstatik: Eclipse (3.2)22:13
statikawesome22:13
awilkinsBlarrgh, ate too many jelly beans and have a serious sugar headache22:14
lifelessabentley: I'd love a get_mpdiffs that included deletes22:14
abentleylifeless: You mean actually including the deleted text?22:15
lifelessyes22:15
lifelesslike NewText22:15
lifelessbut GoneText22:15
lifelessfor a couple of use cases; the immediate one is to index it22:16
abentleyWell, I think it could be arranged.  The text builder would ignore it, of course.22:16
lifelessbut annotate has this limitation of being hard to identify deleted lines with it22:16
Verterokstatik: there some folks working on IDEA, and I think a Netbeans related mail reached the list a few weeks ago22:17
abentleylifeless: For a multi-parent diff, mpdiff is kinda arbitrary about which parent it assigns lines to.22:17
lifelessabentley: re loggerhead speed; we have a C differ, and bzr's core has been hammered on for speed - template engines may have had less detailed work done on them22:17
lifelessabentley: for my index needs thats fine, I don't care about ParentText, only New + Gone22:18
lifeless(and New is all I can get today, I was just speculating about moving to using mpdiffs and this seemed a useful dicussion to have22:18
abentleyI think it would be fine, as long as it was optional.22:19
lifelessbeuno: is there new bling to peek at?22:20
mwhudsonbeuno: ping22:25
beunolifeless, I've got the javascript for it done, need to integrate it into LH, which will be in a few hours when I finish cursing with the new theme22:25
beunomwhudson, pong22:25
lifelessbeuno: awesome!22:25
mwhudsonbeuno: ok, still working on theme stuff then, that's what i was going to ask :)22:25
mwhudsonbeuno: i think i may try finishing off zpt.cleaner_urls then22:25
mwhudsonbeuno: as i really really really want to merge it and wsgi-ify today22:26
beunomwhudson, yes. I'm working on the diff view, which is quite complicated to get right22:26
mwhudsonbeuno: i can believe that, and it's not something i can help with22:26
beunomwhudson, oh, cool. If you could, that would be great. If not, I'll do that after this22:26
mwhudsonbeuno: whereas i think i can fix up the urls just fine22:26
mwhudsonif with a bit of cursing22:26
beunomwhudson, perfect. I've got 2 gfx guys sitting here hearing me curse, and proposing new ways to structure the HTML every 20 minutes  :)22:27
mwhudson:)22:27
beunoI have a few ideas on how to improve the diff generation code (LH's, not bzr's), but it will need a few days work, so I'm deferring that for later on22:28
mwhudsonbeuno: if it helps at all, i seriously recommend stealing stuff wholesale from trac's diff view22:28
mwhudsonbeuno: if that means we lose side-by-side for now, *shrug*22:28
mwhudson(imo)22:28
jamjames_w: that's fine, he just commented on it in this_week, and I thought I could link it, but we can link it later22:28
beunomwhudson, yes, the trac is great for unified diff, but I think more people will scream at us if we loose side-by-side than with unified. Of course, eventually we'll have both22:30
beunomwhudson, emailed you what the current diff looks like22:36
mwhudsonbeuno: the "<< previous" looks funny22:40
mwhudsonbeuno: but it looks fine22:40
beunomwhudson, yes, I'm not going to show a previous if there is none, so I removed the CSS bit, which made it ugly looking  :)22:41
mwhudsonok :)22:41
beunoI was trying to dump the diff text directly without having to go line by line, to speed it up, but it's going to be impossible without changing large amounts of code22:43
beunoso I'm back to doing it with the line-by-line approach22:43
Verterokawilkins: I forgot to mention, the xmlrpc java-client dependencies are available at: http://guille.beuno.com.ar/maven-repo/22:44
mwhudsonfair enough for now22:44
mwhudsoni agree that it would be really good to change this though22:44
beunomwhudson, FWIW I'm getting a lot of those LP timeouts on LH22:49
=== mario__ is now known as pygi
* mwhudson takes a peek at the machine22:49
beunoI'm hammering http://bazaar.launchpad.net/~bzr/bzr/trunk/revision/bialix@ukr.net-20070922162037-d1ym5gbli9utowto mostly, if it helps22:51
beuno(hammering == accessing every ~5 minutes)22:51
mwhudsonthat sounds like a load even loggerhead should be able to cope with :)22:51
mwhudsonthe machine seems a bit busy but nothing bonkers22:51
mwhudsonit runs too many services, that's the big problem22:52
beunoI haven't been able to see that page in a while now22:52
=== kiko-afk is now known as kiko
mwhudsonhmm!22:53
lifelessvostok still?22:54
mwhudsonyeah, for just a little longer22:54
lifelessI don't think its too many services22:54
awilkinsVerterok: Ta22:54
lifelessI think its inefficient services that will expand to use the resources available22:54
lifelessand then crash anyway22:55
mwhudsonlifeless: well, ok22:55
james_whey! http://article.gmane.org/gmane.comp.version-control.subversion.devel/10166922:55
lifelesspedants-R-us at your beck and call22:55
mwhudsonbut it's not just loggerhead though :)22:55
mwhudsonthe puller hits it pretty hard too22:55
lifelessI love this:22:56
lifelessSILENTLY upgrade your working copy, which means that previous22:56
lifeless    versions of Subversion will no longer be able to read it.22:56
lifelesssee, this is why I think what we do is _better_22:56
awilkinsIt's not the first time22:56
lifelessabentley: your bzrdir change, is just a conf file?22:56
lifelessawilkins: oh, I know :)22:56
awilkinsIt's a shame, because it restricts you to using older CLI clients until your GUI clients catch up22:57
abentleylifeless: Yes.22:57
lifelessabentley: then I think its ok to add it without bumping the format, but subsequent changes are likely to need a bump22:58
abentleylifeless: agreed.22:58
* beuno makes a voodoo doll shaped like IE7 and starts poking it with needles22:58
lifelessabentley: is the new file cloned?22:58
abentleylifeless: no.22:58
* mwhudson wanders off to a different computer for a call22:59
mwhudsonbeuno: loggerhead got restarted, the link should work now22:59
beunomwhudson, it does, thank you23:00
jambeuno: I just got it to work as well23:01
jamthat doesn't seem like a particularly huge diff23:01
lifeless7 methods to go23:01
engieI'm working on my first bzr plugin - https://launchpad.net/bzr-stale-comments . The idea is to put RevNo: X into docstrings and other comments which shows the revision number that the comment and associated code block is valid for. The plugin detects these and fails the commit if the code has been updated but not the comment. It is only just working, with no real semblance of testing,23:02
lifelessengie: cool23:03
lifelessengie: sounds interesting23:03
beunojam, I don't think it's the diff, it may be the multiple parents, but I'm just guessing23:05
=== spiv_ is now known as spiv
=== _thumper_ is now known as thumper
awilkinsVerterok: I'm getting "unable to load plugin"23:48
Verterokawilkins: using bzr-eclipse/trunk?23:49
awilkinsVerterok: Just in the bzr client23:49
awilkinsVerterok: Installed xmloutput.xmlrpc as "xml" in the bzr plugins folder and it says "Unable to load plugin xml" at the start of every call23:50
awilkinsbzr Unable to load plugin u'xmloutput' from u'C:/Users/Adrian/AppData/Roaming/bazaar/2.0/plugins'23:50
Verterokawilkins: do you have bzr.exe or a full python install?23:50
mwhudson_awilkins: bzr -Derror rocks23:50
mwhudson_should get you a more useful traceback23:50
Verterokmwhudson_:  thanks ;)23:51
awilkinsVerterok: Full python install, I even just built the 1.6b2 to see if it was that23:53
awilkins"No module named errors"23:53
Verterokawilkins: maybe a typo in my rush to push the lastest changes...23:54
Verterokawilkins: let me double-check this23:54
Verterokawilkins: heh, I renamed a module form errors to xml_erros and left a errors.pyc behind23:55
Verterokthat's the reason it "works for me" (tm)23:55
Verterok:P23:55
mwhudson_ouch23:55
awilkinsFixed23:56
igcmorning23:57
Verterokawilkins: great, (it was in service.py) here too...pushing the fix to lp23:57
Verterokmornin' igc23:58
lifelessigc: http://www.theregister.co.uk/2008/06/19/mysql_dumps_bitkeeper/23:58
igchi Verterok23:58

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