[02:53] <blr> wgrant: have you looked at benchmarking pack.compression?
[02:55] <wgrant> blr: No, but smart people have probably already set it sensibly.
[02:55] <wgrant> There's nothing in our situation that should cause the defaults to be wrong, I don't think.
[03:16] <blr> wgrant: can you think of any additional per repo defaults we need other than logallrefupdates and writeBitmaps?
[03:16] <blr> wgrant: ensure_config is now pulling those values from git.config.yaml in turnip's root rather than defining them inline in the function
[03:22] <blr> afaict there are no analagous per repo config variables for git repack's arguments
[03:23] <wgrant> blr: some of them exist, but stuff like -l doesn't
[03:24] <blr> http://git-scm.com/docs/git-config.html does warn that it isn't comprehensive, but I only see 'useDeltaBaseOffset', 'packKeptObjects' and 'writeBitmaps'
[03:26] <wgrant> blr: git help config shows a number of pack.* options.
[03:26] <wgrant> repack.* is just stuff that makes sense only for repack
[03:30] <blr> wgrant: ah, I see --max-pack-size will honour pack.packSizeLimit if set
[03:30] <wgrant> blr: Yeah. I don't think we care about pack size at the moment, though.
[03:31] <blr> depth defaults to 50
[03:33] <wgrant> We probably want to set window and depth up a way, but also limit pack.windowMemory. I'd set windowMemory to like 2g for now, and we can tweak as we go.
[03:34] <blr> hmm the repack docs don't mention if --window-memory takes a value from pack.windowMemory
[03:35] <wgrant>         if (!strcmp(k, "pack.windowmemory")) {
[03:35] <wgrant>                 window_memory_limit = git_config_ulong(k, v);
[03:35] <wgrant>                 return 0;
[03:35] <blr> here I was thinking I could avoid looking at git source
[03:35] <wgrant>         }
[03:35] <wgrant> --window-memory overrides that.
[03:35] <wgrant> Heh, no.
[03:36] <wgrant> It's pretty bad, but you get used to it.
[03:39] <blr> wgrant: {depth: 100, window: 20}? (doubling defaults)
[03:40] <wgrant> blr: Let's make both 250. That's semi-aggressive, and windowMemory will save us if it goes awry.
[03:41] <blr> cool
[03:41] <wgrant> An object to pass -f would also be useful, but it shouldn't be the default.
[03:44] <wgrant> Actually, maybe we should make the default depth and window less aggressive, but allow it to be overridden.
[03:44] <wgrant> Hmm.
[03:44] <wgrant> 100/100 with options, perhaps.
[03:45] <wgrant> 250/250 is slower than I'd remembered.
[03:45] <blr> sure
[04:07] <blr> wgrant: as we're now calling ensure_config on repo init, presumably it is no longer needed in PackBackendProtocol.requestReceived()?
[04:08] <blr> however, existing repositories would be in an undefined state
[04:09] <blr> given we don't have any means of changing configuration, ensure_config _for now_ can be treated idempotently, but something we may need to consider later
[04:09] <blr> so I would be inclined to leave it there...
[04:10] <blr> sorry, thinking out loud really
[04:22] <wgrant> blr: The idea is that it's cheap and safe enough to run before every write operation.
[04:23] <wgrant> So when we change it we don't have to do any bulk operation.
[04:24] <blr> yep, that makes sense.
[04:35] <blr> wgrant: repack-api ready for review.
[04:35] <wgrant> blr: Thanks, looking.
[04:37] <blr> wgrant: r158 has the git config yaml file, whoops.
[04:53] <blr> wgrant: 3x gives you a stronger, more flavourful json extraction...
[04:53] <wgrant> Heh
[15:34] <sil2100> Hey!
[15:34] <sil2100> I have a question about launchpad authorization tokens
[15:35] <sil2100> I would like to authorize a script that would be running outside of my local computer with my credentials
[15:36] <sil2100> Someone mentioned that when an app is authorized, there should be some credentials file created in ~/.launchpadlib which I should be able to re-use elsewhere
[15:36] <sil2100> But I couldn't find it, but I didn't authorize for 'forever', so maybe that's why
[15:43] <cjwatson> sil2100: It lives in your desktop keyring, in fact.  But maybe you actually want to re-login with Launchpad.login_with(credentials_file=...).
[15:44] <cjwatson> sil2100: Is the other computer entirely under your control?
[15:45] <sil2100> cjwatson: not entirely, I was considering options on how to best set-up something like that on lillypilly or chinstrap
[15:45] <sil2100> cjwatson: probably not safe enough
[15:45] <sil2100> hmm
[15:47] <cjwatson> sil2100: You'd be better off with a separate bot user, or a little dedicated openstack instance or something
[15:49] <sil2100> Indeed!
[15:49] <sil2100> Anyway, thanks :)