[00:00:22] Running solr for search would be totally overkill but potentially awesome. [00:00:43] 09/07/2012 - 00:00:43 - Creating a project directory for paste [00:00:43] 09/07/2012 - 00:00:43 - Created a home directory for laner in project(s): paste [00:02:04] <^demon> Ryan_Lane: You know, a pastebin plugin within gerrit would be really fun. [00:02:07] <^demon> :) [00:02:23] <^demon> If I wasn't so angry at gerrit right now, that is. [00:02:24] I'm not so sure why it requires a whole db... could be trimmed down to just check for the presense of the git repo based on name and use memcache etc for caching.... [00:02:31] ^demon: heh [00:02:31] yeah [00:02:38] ugh [00:02:47] well, this is a bith [00:02:51] bitch [00:02:59] attribute uniqueness plugin is causing issues [00:03:03] for ldap [00:03:26] guess I'll need to remove cn [00:03:39] <^demon> remove cn? [00:04:04] <^demon> Isn't that what gerrit auths against...? [00:05:09] remove it from the uniqueness check [00:05:14] since it seems to be a global check [00:05:40] 09/07/2012 - 00:05:40 - User laner may have been modified in LDAP or locally, updating key in project(s): paste [00:06:02] <^demon> Ah ok, nvm then :) [00:06:12] <^demon> I thought you meant "remove it entirely" and I went o_O [00:06:16] heh [00:06:16] nah [00:06:20] That could be fun [00:07:10] that fixed that [00:07:25] hm [00:07:38] that's actually a probkem [00:07:40] problem [00:07:53] mediawiki will let you create two users with the same name in different case [00:08:00] I think the ldap plugin won't, though [00:08:09] mediawiki is awesome like that [00:08:12] * Ryan_Lane goes to check that [00:08:44] sweet [00:08:49] ldap extension won't allow it [00:09:07] no worries about cn attribute, then :) [00:10:08] Some of the labsconsole things makes me cringe, forms wise anyway [00:11:23] project management hurts [00:11:28] I'm going to ajax it at some point [00:14:31] Oh god [00:14:34] We going all web 2.0 [00:14:48] heh [00:15:08] <^demon> Ryan_Lane: I'm pretty sure different casing would cause gerrit problems, based on the research I did re: renaming earlier today [00:15:38] labsconsole won't allow the account to be created [00:15:46] because the LDAP extension blocks it [00:15:53] <^demon> Mmk. [00:16:08] It would be nice if we could do renaming [00:16:11] <^demon> I filed 40061 about renaming earlier today. Totally won't be as bad as I thought, once we script it. [00:16:20] yeah [00:16:22] we need to script it [00:16:32] and fucking mediawiki needs to support renames through the api [00:16:56] <^demon> Renaming in mediawiki renames in ldap, right? [00:17:00] no [00:17:07] I never implemented that [00:17:46] <^demon> So we'll want to rename in ldap, then have a hook or something that calls mediawiki & gerrit to rename? [00:17:58] <^demon> (hence, mediawiki should do api renames?) [00:18:24] well, we could do a few things.... [00:18:32] 1. do renames via mediawiki [00:18:35] and have it do everything [00:18:41] 2. write a script, and have it do everything [00:18:47] 3. maybe some other way [00:18:48] :) [00:19:19] Even if you sort mediawiki which sucks for renames gerrit would still need scripting before they logged in with the new username so it's gonna hurt eitherway [00:19:22] <^demon> I like 1. [00:19:35] actually, I have to disable ldap to rename in mediawiki [00:19:37] I need to fix that [00:19:43] it doesn't work for some reason [00:19:49] <^demon> Well, it's only two database queries. Once we upgrade to 2.5 I could write an ssh plugin in like 2hrs that would do the rename on gerrit's side. [00:19:57] <^demon> So MW (or whatever) could just call that. [00:20:02] yeah [00:20:57] MW renaming really needs to appear in core :( [00:25:02] I've said that for years [00:26:55] <^demon> Ok, for the extensions I think what I'm going to do is stash the existing dangling objects in ./git/lost+found, and then go ahead and restore masters from translatewiki. [00:27:08] <^demon> I really was hoping to reconstruct it, but I still have nfc. [00:27:48] <^demon> I've gotten in way over my head about how git internals work :\ [00:27:53] :( [00:30:14] So next year chad can talk at a conference on recovering git repos! [00:38:31] <^demon> I'll probably have a lengthy blog post about it. [00:38:49] <^demon> Probably subtitled "Or, why you should never [foo]" [00:39:01] +1 to the blog post idea [00:39:20] <^demon> Hard to write a blog post until I figure out exactly what happened and how to fix it. [00:39:32] <^demon> Breaking it and just pushing old clones isn't nearly as interesting. [00:39:38] <^demon> (old = 24h) [00:39:47] You did just give me an example for my 'rules of sysadmin engagement' post under the 'repliction is not a backup' section :D [00:40:26] Of course, yeah, wait till the dust clears .... but I will be glad to help you write it when you're ready, Chad [00:46:20] <^demon> A-ha! I think I might've gotten it. [00:49:05] <^demon> Oh, nvm. Too easy. operations/software is intact other than refs/meta/config [00:51:39] <^demon> Ok, well permissions restored there. [04:07:45] Hi Ryan_Lane: Available to help me resolve some problems? [04:07:56] what problems are you having? [04:08:04] the gluster storage zzz [04:08:31] doing a df -h on the dumps project outputs: [04:08:31] projectstorage.pmtpa.wmnet:/dumps-project 300G 163G 138G 55% /data/project [04:08:58] doing a du -kh on /data/project outputs: [04:09:07] hydriz@dumps-1:/data/project$ du -skh [04:09:07] 135M . [04:09:28] I meant doing a du -sh [04:09:47] why the difference in the used amount of storage? [04:09:52] quite weird [04:12:46] knock knock [10:27:43] when will the new planet be released? Any date preview? [12:32:07] gerrit.wikimedia.org times out. what's happening? [12:32:39] same here [12:33:07] seems to be fixed [12:43:36] hi [12:43:52] deine kommentare waren nur intern bezgl der blocker email nehme ich an [13:55:45] 09/07/2012 - 13:55:45 - User hashar may have been modified in LDAP or locally, updating key in project(s): testswarm,bots,bastion,gerrit,deployment-prep,jenkins,wikidata-dev,integration [13:55:55] 09/07/2012 - 13:55:55 - Updating keys for hashar at /export/keys/hashar [13:56:12] that s me [13:56:55] ^demon: have you though about writing a script to automatically populate gerrit-dev.wmflabs.org with repo and open changes? [13:57:24] <^demon> No, I haven't thought about anything in the last 36 hours other than how to get these repos back. [13:57:40] oh sorry :-) [13:58:11] <^demon> Which I believe I've sorted out :) [13:58:24] poor ^demon [15:14:08] <^demon> paravoid, hashar: I'm writing a blog post with screenshots when this is done. I'm taking notes :p [15:14:37] !!!!!!!! [15:14:44] ^demon: what is your blog URL ? [15:14:52] <^demon> I'll post it on the wmf tech blog. [15:15:27] what's the cause in two words? [15:16:12] <^demon> Still don't know the root cause. [15:16:21] <^demon> But the process to finding the solution is pretty interesting. [15:24:05] paravoid: Are you at all familiar with the openstack puppet classes? (Ours, I mean.) [15:24:18] I'm afraid not [15:24:52] I'm almost cured of thinking that puppet is an object-oriented language, but now and then I fall back into the trap [15:25:00] But, ok, I can wait for Ryan to wake up. [15:31:10] It would be so much more awesome if it was OO [15:40:47] I'm compiling a list of terms that puppet uses that mean something different in puppet than in every other context. I keep having to look at it to remind me. [15:42:40] I'm still trying to work out define vs class :( [16:04:26] !beta updating mediawiki configuration [16:04:27] !log deployment-prep updating mediawiki configuration [16:04:30] Logged the message, Master [16:10:47] done :) [16:10:55] moving out for now [16:10:59] will be back on monday SF time [16:11:01] cya! [17:56:01] Ryan_Lane, Hello! Hope you are doing well :) [17:56:30] I am [17:56:35] adminxor: how are things going with you? [17:56:45] were any logs sent to your collectors? [17:57:07] I'm just fine too! [17:57:27] Well no, I am still at the same place as I was. [17:57:33] ah ok [17:57:37] well, let's change that [17:58:56] Thank you! [17:59:39] I really need to pull my finger out and get my bot re-written to the point that I actually have better logging than print heh [18:00:25] Damianz: you and me both [18:04:16] Could you guys suggest me some resources for learning puppet? [18:04:17] I saw some tutorials on puppetlabs website and seems to be interesting. [18:05:22] that's how I learned it [18:05:32] tutorials and language reference guide [18:05:33] then using it [18:05:38] I generally just read the docs as I need to do stuff [18:05:39] and failing over and over and over again [18:05:47] Hate reading books... they just suck at real life [18:06:03] I wish we had something like puppet at my work place too. But that probably would offend some of my colleagues ;) [18:07:56] Imo config management requires a larger culture changes than it does technically [18:08:17] Yes, even I dont like reading books but that's just for get me started on this :) [18:10:15] When I see you guys talking here about puppet class, this and that, I feel at loss :D [18:10:44] why would they be offended? [18:11:03] A class is basically just a group of 'things' that define something [18:11:23] Could be thought of in the context of DRY [18:15:13] I have always worked in commercial environments, and we still manually manage all of the servers/clusters etc. Automation is still done through shell scripting. So if puppet was in place, it would lead to more servers per SA and less number of SAs would be required to manage the infrastructure. [18:15:31] or you could do more work [18:15:40] (it always ends up with people doing more work) [18:15:49] Automation doesn't remove people, it lets them work on interesting things that keep you at the cutting edge [18:15:51] more services you're able to manage [18:16:36] for instance: http://paste1.pmtpa.wmflabs/ [18:16:36] :) [18:17:04] Is that actually puppetized yet? :P [18:17:09] I have the paste django app using openid with a forced provider [18:17:10] no [18:17:20] until I have auth sorted out I don't want to bother [18:17:27] I'm going to make labsconsole an openid provider [18:17:31] What provider are you using for openid? [18:17:33] Ah [18:17:39] well, I tried the openid extension [18:17:45] That could make a nice 'hey it works' for general deployment [18:17:46] that's a huge pile of fail for providers [18:18:20] it's missing some features, and the way it handles auth when needed is also a huge pile of fail [18:18:35] it reimplements the login form [18:18:43] rather than redirecting to the real one [18:18:51] o.0 [18:19:04] yeah [18:19:08] That kinda defeats the idea of logging in once [18:19:23] so, OATH, ConfirmEdit, OpenStackManager and LdapAuthentication are all bypassed [18:19:30] \o [18:19:31] err [18:19:33] \o/ [18:19:36] fail [18:19:36] failure [18:19:54] thankfully it just doesn't work because there are no passwords stored locally [18:19:55] I'll look forward to the day where beta can auth off SUL remotly via openid :D [18:20:01] me too [18:20:12] but it seems it'll be a while since we'll need to fix the provider code first [18:20:35] csteipp: ^^ [18:20:55] OpenID extension sadly needs work to act as a provider [18:21:21] I think I can work out one of the issues fairly quickly [18:21:28] the login form issue may be harder [18:22:47] Really? I thought it had hooks for confirmedit [18:23:10] it needs to use the real login forms [18:24:24] csteipp: otherwise it ignores ldap auth, oath, and other extensions [18:24:41] You mean on the provider side? [18:24:44] yep [18:24:58] I've used the consumer part. that works fairly well [18:25:13] also, on the provider side, it doesn't do discovery [18:25:19] Hmm, I'd have to look at it, but I thought it called the same hooks, so anything hooking into the auth page would get called... but it hasn't been updated in a few years. [18:25:21] you *must* provide a url [18:25:29] it doesn't [18:25:29] Yeah, that part sucks [18:25:35] I can add the discovery [18:25:37] Good to know about [18:25:43] I was thinking of doing that today [18:25:49] That would be nice [18:26:08] Hmmm apparently burning yourself with pizza is possible, who knew o.0 [18:26:25] * Damianz goes to nom then mash out some lovely python to make django talk to mediawiki [18:26:40] well, I think I can add the discovery. I probably need to read up more on the protocol [18:29:11] So for the provider setup, if you have ConfirmEdit installed on the provider, then the user has to complete the captcha to create the master account [18:29:39] They only are using the custom login for the consumer wikis, I believe [18:30:26] ? [18:30:39] https://i-00000236.pmtpa.wmflabs/wiki/Special:OpenIDServer/Login [18:31:24] you'll need a socks proxy for that url [18:31:30] I don't see why it needs to use a custom login at all... the login page should act as if it wasn't an oauth provider and all the hooks etc can function as expected. [18:31:56] the openid form should redirect you to the login page [18:32:01] and the login page should redirect you back [18:32:46] csteipp: to create the master account? [18:33:05] the step I'm talking about is when you try to use openid on the consumer [18:33:27] it forwards you to the provider (the wiki) [18:33:35] if you aren't logged in, it asks you to enter your password [18:33:45] it's a custom form [18:33:55] Ah, that part. Gatcha [18:34:11] Yes, you're right on that part [18:34:23] I'm not too worried about the consumer side [18:34:25] Sorry, I thought you were talking about user registration [18:34:44] if someone is authenticating with openid as a consumer they should skip all other auth plugins [18:34:54] So yeah, that really should be rewritten to use the standard login [18:34:58] yep [18:35:17] we really need to get that extension moved into gerrit [18:40:27] TomDaley: git account creation please? [18:41:00] TomDaley: https://www.mediawiki.org/w/index.php?title=Developer_access&diff=580651&oldid=580536 [18:42:02] o.0 [18:42:23] So the extension has a make file that wgets php-openid from github... weird dep management [18:42:40] Yeah, I don't really like the way he set it up [18:42:58] But I'm not sure how to do it better... other than package it with the extension [18:43:45] If you where going to package with you'd probably use submodules, though then you could end up with multiple installs (which this could anyway) [19:03:21] jeremyb: I'm busy trying to fix these repos still. [19:04:14] Ryan_Lane: Can you disable puppet on manganese & give me sudo on there temporarily? I can fix a bunch of the repos now, but it requires a bunch of manual things done to the bare repos as gerrit2. [19:04:46] I've been testing my recovery idea all morning. [19:05:38] sure [19:05:54] Thanks. [19:06:49] Argh [19:06:52] Socks proxy dns hates me [19:07:57] TomDaley: oh, forgot about that. have fun ;-( [19:08:54] TomDaley: We love you still, even if java/git hates you [19:28:48] Ryan_Lane: Did you tweak manganese for me yet? I really want to repair these repos. [19:28:54] oh [19:28:55] sorry [19:28:56] sec [19:28:58] k [19:29:24] TomDaley: done [19:29:29] Thanks. They're very broken, but very recoverable right now (and actually, if the cron re-ran last night we would've lost them forever) [19:31:00] eww [19:31:08] any idea why the gc broke them> [19:31:20] Still no clue what originally broke them. [19:31:29] But I've got a long blog post written about how to repair them [19:31:32] And what I learned :) [19:32:04] What did you put in /etc/sudoers for me? I can't sudo to gerrit2 [19:59:50] oh [19:59:53] I didn't put anything in there [20:00:30] TomDaley: try now [20:01:01] "Sorry, user demon is not allowed to execute '/bin/bash' as gerrit2 on manganese.wikimedia.org." [20:01:06] oh [20:01:07] sorry [20:01:11] run this: su - gerrit2 [20:01:16] well, sudo su - gerrit2 [20:02:06] TomDaley: ? [20:02:14] people are waiting on me for lunch [20:02:16] is it working? [20:02:21] Sorry, user demon is not allowed to execute '/bin/su gerrit2' as root on manganese.wikimedia.org. [20:02:30] did you forget the -? [20:02:38] sudo su - gerrit2 [20:02:53] Ohh, working [20:02:56] Got it [20:02:57] ok [20:32:32] Ryan_Lane: Do you happen to know what Nova calls the ec2 instance ID? Is that the field that's just called 'id'? [20:46:29] andrewbogott: http://docs.openstack.org/developer/nova/api/nova.api.ec2.ec2utils.html? [20:47:12] Ewwww :( [20:47:13] http://p.defau.lt/?4cqlZdv4pv2UW922XE8hbg [20:47:37] That's a fair few commits [20:49:25] Damianz: And, that reveals that the answer is ''i-%08x''. That's pretty easy :) Thanks! [20:52:49] np [20:52:58] Bleh there's 3 weeks left of this month. It should be october already [20:53:20] From this I conclude that you're not in the midwest [20:53:28] And probably not somewhere that observes DST [20:53:45] I don't mind dst so much [20:54:21] I just have fun things planned for october, so I'm going to spend a month writing code which is good and also bleh [20:54:30] Right, it's dst /ending/ that kills the soul. [20:54:52] andrewbogott: found it? [20:55:03] Ryan_Lane: yep, thanks [21:00:08] Is the ldap structure likely to change anytime soon in regards to instances? [21:00:26] don't depend on the structure [21:00:35] depend on the objectclasses and attributes [21:00:42] those aren't changing [21:00:52] but the tree structure may change [21:01:16] Hmm I suppose I can not search under the ou as I'd get the same classes anyway [21:13:11] Fixed all the extensions except TranslationNotifications and Nonlinear. Fixed all the operations/debs/* other than mysqlatfacebook. [21:14:05] Progress :) [21:16:05] Ryan_Lane, how would you feel about moving instance pages so that the pagename uses a uuid or an instance name vs. an ec2 name? [21:16:22] It turns out that learning the ec2 name of a deleted instance is slightly messy. [21:16:30] (on my end at least) [21:22:56] andrewbogott: sounds good to me [21:23:11] andrewbogott: it needs to be a fqdn, though [21:23:22] otherwise it'll be a problem per-region [21:23:49] hostnames are unique in a region, but not between regions [21:23:52] err [21:23:53] instance names [21:24:05] though, really, from nova's perspective they aren't [21:24:12] I wonder if we can enforce that in nova [21:24:21] I'm enforcing it now in the web interface [21:24:38] andrewbogott: how are you handling that situation with dns in nova? [21:30:55] paravoid: thoughts on labsconsole interface changes? like them? hate them? [21:31:13] Wait... instance names are unique are far as we care? [21:31:14] absolutely love them [21:31:26] Damianz: in a region, yes [21:31:33] :) [21:31:37] I have a UX suggestion but I'm afraid I know the answer [21:31:42] ? [21:31:50] SSH keys & 2-factor should really go into preferences [21:31:56] "My preferences" [21:31:58] that's doable. [21:32:02] oh is it? [21:32:05] well [21:32:09] to a point, ye [21:32:11] Btw do we auto convert keys in the wrong format now? [21:32:11] *yes [21:32:17] I was afraid that you'd say "it needs a huge hack" or whatever [21:32:34] well, the interface themselves make it difficult [21:32:43] so, I can have links to them from the preferences [21:32:54] but the full interfaces can't live in preferences [21:33:19] like how "change password" is [21:33:20] that's fine [21:33:22] yep [21:33:36] ideally two-factor would be in the prefs next to change password [21:33:44] exactly [21:33:52] ssh keys would be a tab [21:33:56] which would show current ones [21:34:01] and would have a link to add new ones [21:34:21] let me open a couple bugs [21:34:22] my thoughts *exactly* [21:35:49] Hmm [21:36:39] For gerrit am I suppose to squash commits or only make one commit per feature? I like little incremental steps but gerrit makes them... annoying unless there's an easy way to group them that I don't know about. [21:37:12] Damianz: it'll group them automatically [21:37:15] if you do individual changes [21:37:21] they'll depend on each other [21:37:30] also, if you do it in a non-master branch, it'll stick them into a topic [21:37:53] if you want to do individual changes that don't depend on each other, then each non-dependent change should go into a different topic branch [21:38:26] Ah if it groups on branch that makes sense... yeah I should really use topic branches but just did this in master :( [21:38:30] Ryan_Lane: Sorry, tow-truck-guy showed up just as I wrote that, gotta catch up... [21:39:35] I actually think gerrit's workflow from that perspective is sane [21:39:47] the only thing I think isn't really sane is amended commits [21:40:01] though realistically, I don't have major issues with that either [21:45:00] Ryan_Lane: I think that private dns presumes/hopes that each region is configured with a different domain. It just pulls the private domain out of a config. [21:45:13] But it also creates UUID.domain records for each instance as a backup. [21:45:44] andrewbogott: right, but what happens if I create two instances with the same instance name from two different projects? [21:46:00] Gerrit really hates when you use multiple remotes it seems :( [21:46:12] Damianz: why's that? [21:46:26] Ryan_Lane: Doesn't that break everything, everywhere? [21:46:45] git review tries to rebase and just ends up having a fit [21:46:49] Are you thinking that DNS names should go instancename.projectname.domain.org? [21:47:08] no. I'd prefer that instance names were unique across all projects [21:47:13] and that nova enforced that [21:47:15] it doesn't right now [21:47:26] so I was wonder what happens to DNS when it occurs [21:47:40] I wouldn't be surprised if it gets 2 a records [21:47:44] andrewbogott: I have a feeling that the nova people would like an option there [21:47:48] Damianz: likely [21:48:02] * Damianz stabs git [21:48:03] At the moment you'll get two conflicting A records, and two other non-conflicting uuid-based arecords. [21:48:11] So gerrit totally doesn't keep the same sha1 [21:48:42] Which is maybe a reason to have our instance-info pages use uuids. Cheap, easy, user-unfriendly... [21:49:57] andrewbogott: is there any way to make the DNS code reject instances if they would cause conflicting records? [21:50:12] I definitely don't want instance pages to use uuids [21:50:30] very user-unfriendly [21:50:33] Making it not create an arec would be easy, making it shut down the whole instance creation would be… possible. [21:51:57] that would be nicer [21:52:18] shut down instance creation, that is [21:52:23] we need hostnames to be unique [21:52:27] and we need the a record to be as well [21:52:43] really the openstack way would be to make dns domains per project [21:52:55] but that's more painful from an end-user's perspective [21:52:57] in our use case [21:53:16] * Damianz stabs gerrit with something pointy and frowns then goes back to writing code [21:53:39] we should likely make that configurable (whether it makes project domains, or requires globally unique names) [21:54:47] Or we could just enforce that anything created is prefixed with the project name which is a sorta-not-written-rule anyway [21:55:22] that doesn't really solve it from the nova perspective [21:55:41] maybe we should just switch to project domains [21:55:45] not cross region, no [21:55:46] I don't think people will like that [21:55:51] paravoid: thoughts? [21:55:59] OK, I'm taking notes about adding a uniqueifier to nova... [21:56:18] flat dns with globally unique instance names, or unique instance names per-project, and per-project dns domains? [21:56:18] project domains make sense if you're selling vms, it's just ugly for labs [21:56:23] agreed [21:56:30] But… is it possible to decouple this from the question of instance-info pages? 'cause I can do /that/ without waiting for another OpenStack release cycle. [21:56:37] yep [21:56:45] andrewbogott: use fqdn for instance info page names [21:56:55] then its unique across regions [21:57:23] OK, I think that'll work, lemme try [21:57:28] * Ryan_Lane nods [21:57:38] You mean using the same setting that private dns uses, right? [21:57:42] yep [21:57:55] I think mediawiki throws a challenge if you try to create a page that was currently deleted [21:57:59] so you may need to deal with that [21:58:08] hmm [21:58:20] At the moment I don't delete pages when instances are removed, I just add a note 'this instance was deleted' [21:58:54] well, in this situation, you'll need to [21:59:14] And, actually, I think that nova will only write /part/ of the instance page, and let OSM actually create the page. Because there's some stuff (e.g. puppet config) that OSM knows and it's hard for nova to know atm. [21:59:35] ah [21:59:36] right [21:59:39] Hm, wait, I don't know what you mean by 'in this situation' [22:00:05] well, you can delete an instance and create a new one with the same name [22:00:10] in a different project [22:00:31] I guess it doesn't actually need to delete the page [22:00:47] If the page already exists I look for and and insert a nova status template in between. [22:00:48] it can just mark it as deleted, and when the new instance is created, it can unmark it and change the properties [22:00:59] Right, the page wouldn't be deleted in between, just clobbered. [22:01:05] * Ryan_Lane nods [22:01:21] I'll need to adjust OSM edit the page and only update the puppet info [22:02:15] Oh, incidentally, the tags have to be in the text, not in a template, or I won't see them. [22:02:55] yep [22:04:30] Is it possible to use gerrit for code review and maintain another remote that's just un-reviewed and pushed up to? As gerrit changes the sha1 it can't rebase in a way that doesn't conflict with the other remote... which makes broken and ugly... or should I just use another branch on gerrit for push without review and master for reviewed stuff or such? [22:05:09] Damianz: you can tell it not to rebase [22:05:09] How does it change the sha1 exactly? [22:05:13] git rebase -R [22:05:14] err [22:05:17] And yeah [22:05:17] git review -R [22:05:19] git review -R [22:05:27] or you could switch the default for the repo to not rebase [22:05:33] in the .gitreview file [22:05:38] To do that, set defaultrebase=0 in .gitreview [22:05:51] RoanKattouw: did you see that the new version of git review will only rebase if it sees that it needs to? [22:06:27] That just tries to push all the commits for review again :( [22:06:46] Damianz: it will only push the one that actually needs to get pushed [22:07:28] I don't see how 835403b75cd68a7b2dcc1931f09e3d6d4a369b46 and 95b030c087d1a4b818ae889f35161e156b30a412 are different when they're the same commit but anyway... [22:08:26] * Damianz wonders if this is going to spam the channel or not [22:08:40] Damianz: http://paste1.pmtpa.wmflabs/ [22:08:41] heh [22:09:15] I really need to make openid extension provider work [22:09:33] I need to fix dns to see that :( firefox just doesn't proxy it apparently. [22:10:50] Ryan_Lane: I didn't see that but that's awesome [22:11:01] Still, rebase on amend is evil even if needed [22:11:03] * Damianz waits for the ip to load... [22:11:13] RoanKattouw: heh [22:11:14] yeah [22:11:23] I mean, it could do amend-push-rebase-push [22:11:29] That would be clearer [22:11:30] I swear this repos half borked, since half the commits don't have ids [22:11:59] TomDaley: ^^ [22:12:01] which one? [22:12:52] Oh different sort of broken to that, me importing it to gerrit in a fail way sort broken [22:13:06] Which repo is this? [22:16:13] Oh, misread. Back to work. [22:18:27] Yucckkkk, operations/mediawiki-config is still really broken [22:18:28] http://p.defau.lt/?pobmGGLCDkj4qNiW2NmZBQ [22:19:30] * Damianz dangles a commit then shoots it [22:20:41] TomDaley: Eww. What kinds of commits are those? I don't seem to have them locally (tried a few) [22:21:07] Some are probably refs/changes/* [22:21:53] Actually, most are I'd suspect. [22:25:11] Damn, filter-branch doesn't call the commit hook [22:43:03] I swaer the phabricator is more cheesy than cheese [22:43:22] I swear the phabricator homepage is more cheesy than cheese.* [22:58:07] Change on 12mediawiki a page Developer access was modified, changed by Sumanah link https://www.mediawiki.org/w/index.php?diff=581146 edit summary: /* User:!Silent */ [23:32:05] Put on the blog post re: what happened in git. [23:32:06] http://blog.wikimedia.org/2012/09/07/recovery-of-broken-gerrit-repositories/ [23:38:59] Interesting [23:39:33] I'd sorta like to know what would happen if you cloned gerrit in full (minus private repos) into labs and ran the cron though. Is rather strange [23:44:47] Indeed, it is. [23:45:09] I would love to find the simplest use-case that replicates is. The engineer in me wants to know what happened :) [23:46:24] Git is much nicer than svn when it comes to meta data, svn screws the whole repo on missing 1 file :( Been there and done that before... a few times