Submitter | Jun Wu |
---|---|
Date | June 30, 2016, 4:58 p.m. |
Message ID | <c02da7bd56e98cf4e905.1467305939@x1c> |
Download | mbox | patch |
Permalink | /patch/15683/ |
State | Changes Requested |
Delegated to: | Yuya Nishihara |
Headers | show
Return-Path: <mercurial-devel-bounces@mercurial-scm.org> X-Original-To: patchwork@mercurial-scm.org Delivered-To: patchwork@mercurial-scm.org Received: from localhost (localhost [127.0.0.1]) by mercurial-scm.org (Postfix) with ESMTP id B3BB52C14E; Fri, 1 Jul 2016 06:54:35 -0400 (EDT) X-Virus-Scanned: Debian amavisd-new at mercurial-scm.org Received: from mercurial-scm.org ([127.0.0.1]) by localhost (mercurial-scm.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id UTD1wRwJdcku; Fri, 1 Jul 2016 06:54:35 -0400 (EDT) Received: from mercurial-scm.org (localhost [IPv6:::1]) by mercurial-scm.org (Postfix) with ESMTP id 731CB2C59D; Fri, 1 Jul 2016 06:53:06 -0400 (EDT) X-Original-To: mercurial-devel@mercurial-scm.org Delivered-To: mercurial-devel@mercurial-scm.org Received: from localhost (localhost [127.0.0.1]) by mercurial-scm.org (Postfix) with ESMTP id 410FF2C4F8 for <mercurial-devel@mercurial-scm.org>; Fri, 1 Jul 2016 06:53:02 -0400 (EDT) X-Virus-Scanned: Debian amavisd-new at mercurial-scm.org Received: from mercurial-scm.org ([127.0.0.1]) by localhost (mercurial-scm.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id wHq5kPrVBLUG for <mercurial-devel@mercurial-scm.org>; Fri, 1 Jul 2016 06:53:01 -0400 (EDT) Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) by mercurial-scm.org (Postfix) with ESMTPS id 040A12C5A2 for <mercurial-devel@mercurial-scm.org>; Thu, 30 Jun 2016 13:16:50 -0400 (EDT) Received: from pps.filterd (m0001255.ppops.net [127.0.0.1]) by mx0b-00082601.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u5UHERln004840 for <mercurial-devel@mercurial-scm.org>; Thu, 30 Jun 2016 10:16:49 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fb.com; h=content-type : mime-version : content-transfer-encoding : subject : message-id : in-reply-to : references : date : from : to; s=facebook; bh=gL+3m7N2sUIH7Ku0we35es9ttnnAshGjW4Hv0zls5zQ=; b=iaIX5T5WGygon21cDT/UZV9WS7hZO3h4egHmdmtdgJSi12VlokGzNje8cV+0XO3xvIPH UNDiliwsu6b1xuBy8A0kuIjXpCIqoVjk88zDD2x6yARZyzHvIQ4/IxPkPWCATZoa82yZ uAqupCL7tIBIOUzlRFg/tAsUg/jH42HZQ2w= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0b-00082601.pphosted.com with ESMTP id 23vm5gd4t1-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT) for <mercurial-devel@mercurial-scm.org>; Thu, 30 Jun 2016 10:16:48 -0700 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.22) with Microsoft SMTP Server (TLS) id 14.3.294.0; Thu, 30 Jun 2016 10:16:46 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=6Meo3zYmLlpQuaqrCWXkKfl84o4Oy9sQuDrGOhBGIrE=; b=R7UnuaZbkEDyTwNYDi7jHuAOM6jLELF+LNblszFLC9zs1WQ2qSdTzhXOTTN0SM1mXZId2eqZcA/20SDktnTWvQrAczoGI3A5h6fIyl7t5ooy/SlTjQkgJLb/bMwsWw5b3/N0CcGWLrZ7tZX1+Ux5mVIYeLOgc5WLtl+gyrI1ugQ= Received: from [10.0.2.15] (199.201.66.3) by DM3PR15MB0862.namprd15.prod.outlook.com (10.164.201.136) with Microsoft SMTP Server (TLS) id 15.1.528.16; Thu, 30 Jun 2016 17:16:39 +0000 MIME-Version: 1.0 Subject: [PATCH 04 of 10] chgserver: add utilities to wrap and unwrap functions X-Mercurial-Node: c02da7bd56e98cf4e905550859031079ed9beb18 X-Mercurial-Series-Index: 4 X-Mercurial-Series-Total: 10 Message-ID: <c02da7bd56e98cf4e905.1467305939@x1c> X-Mercurial-Series-Id: <8e7bc663d76a8ac51d95.1467305936@x1c> In-Reply-To: <8e7bc663d76a8ac51d95.1467305936@x1c> References: <8e7bc663d76a8ac51d95.1467305936@x1c> User-Agent: Mercurial-patchbomb/3.8.3+370-8b1ada3460ea Date: Thu, 30 Jun 2016 17:58:59 +0100 From: Jun Wu <quark@fb.com> To: <mercurial-devel@mercurial-scm.org> X-Originating-IP: [199.201.66.3] X-ClientProxiedBy: CY1PR04CA0030.namprd04.prod.outlook.com (10.166.187.40) To DM3PR15MB0862.namprd15.prod.outlook.com (10.164.201.136) X-MS-Office365-Filtering-Correlation-Id: 630bf942-c76e-4cba-4dfd-08d3a10a4cbf X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0862; 2:0JJuHQDjfp2Garu3YJYYsNu8Eb7tu5gUyBgSEr1lSZuI2dYq1fzgeU9E0g80AgG217a1tUmh2737Lj6Hi3M1tCGSzT+gSOWqD8O5yreAvJ1bPnCe0FJwy0OTmjTQ8jJWZ4kkMFIK0BWOHf28juSSLhsHrfZhoK5Bq+eq8825UNdgvWRDdEbV/54zqP/xJOeW; 3:nUrDctbyqN36wkBYcD16VhlRzeL5ufHLkKqwPPgJyJMcRSUJnDG3PEdPb0SHdFhGy7TVJlVvK3IfMMYFpUnIXg3ZCcshpcM9U41/iMGBbqBtUYmgG3tlA8BoqUkSlhid; 25:skD1snD39mbd5Ly+SgIupiepp1rWL6Wr42ydwZ/rJKRjtiKZOsNtmBbHIDgWIN/tG+BrHH8Oom1mOdBlGd+WSdmcODNnfv+zO9RKd40iBCUA0jPLg59XCseZt2bKQPjzbnN8PueE0MiQQSVu7HQ6aCb5ogVLgfE6ATrDaTajLI9xhicDnzREkd8+Z6weDMAry9RkfzDbJVyB/GamFrLhVT/saMcaoHJWp1Z8Bp40x9R8hZgD6PJRJuGTpvgviqUD1Dy1JMWeUIT1CdUFTJymBdTcY6Gp3T/uGPTBMcOIBmwaZbn0INwg3DSf8p06h6vMYvA6h/qPBAibR+onIiOLxOactaa/5bb5RFxTaIf5C0RRZmgb3klI/9AcmVVgaF0dBWgK9Hx2pnIFYeaIv0A9pXkwTDoPJcAs9IMGjobknj0=; 31:deVfBt5RqFdbdkr73T5MgUnGsTj+OQJojCkrDUc+QLhT299Xln/3hegRfX4sMHyBwJ4B17pasWSiej6m4TIZvrZz4igYNzYTH8Ve7azUKS++O57xJtZHBsPCPFPavvnJCWCZoVDJ8M1yNLENpG2zw7No9XO9nEgZqisJzkEeYhBFGfS+ccXqFQsR7TRytLtTQh0EZhaNkG5oT9IOiMrhvA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR15MB0862; X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0862; 20:x1nt2jvrQIFR0F89FaxPDLxR7BjXn39oy4U63yuh0M0KjvFxUXBxs0Oz3VQeM8TBQUY5/XVbzGoZuOo/htRy1FWKcG/nFMg8Jmkh3/veKQUUAXxi32M6+IO9fqXfsznwVYfS3wQV9foRvhFshNmPpxbiXpByf5h1hXyrzu4d1d8=; 4:t6z4ND5nr4ky1l0rpZ/LnOerhWeXXC5GNGddvNEI6X14i/H9/3hiSHpFm/AT08zxHAjbJDJ8yWXFUIwV0JhcuXD/DFD/BHTd4inyNH2RGsqlAKMB1OR3EG7X8zHQ83Qxv3sMWyQwvRebX3iEYMRl2vsgVkbqnyKGVFg4u0sx38+T2ZQJr3+f0hd4vSPfWDEWBoVbm3oWDxNtgrKz3q67VBeJgxi7j93F06RaB6yF7YtSgWOXX2tQmVDOi23A5wSY8T11FJkZDwySpxuQqJtEluYKJeKjaP42NWxJSMHSw5b7yg4295T0T+OYz63q1sOEThl0OfDvY8H6onAOLPnZZXA/1R95ucBc0PZPsLm1ewV2HD0fsaH5fRFQJm7rSAoqmUyXNFv23u49aPhy9lz1G8Ll/B2VAiR12OatpfknV32DX+S+3fwe7JdOxuyQOv2q X-Microsoft-Antispam-PRVS: <DM3PR15MB0862CDD07CBC438EAD2AC349CD240@DM3PR15MB0862.namprd15.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(67672495146484)(63843785518722); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:DM3PR15MB0862; BCL:0; PCL:0; RULEID:; SRVR:DM3PR15MB0862; X-Forefront-PRVS: 0989A7979C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(199003)(189002)(575784001)(47776003)(101416001)(76176999)(54356999)(2351001)(50986999)(77096005)(19580405001)(19580395003)(86362001)(15975445007)(66066001)(97756001)(229853001)(42186005)(105586002)(33646002)(2950100001)(83506001)(2906002)(46406003)(106356001)(23726003)(9686002)(586003)(6116002)(3846002)(68736007)(7846002)(7736002)(450100001)(305945005)(81156014)(50466002)(8676002)(230700001)(92566002)(4001350100001)(81166006)(97736004)(189998001)(110136002)(107886002)(33716001); DIR:OUT; SFP:1102; SCL:1; SRVR:DM3PR15MB0862; H:[10.0.2.15]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: fb.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM3PR15MB0862; 23:e08UWRw+u5exilsLfOm4oIXXESrd+F5MatzOlt7Xm?= =?us-ascii?Q?eGVQDcjsmbogOf5XX/YzwFKCTu/bd8YkUj93wq/CVJR70rWPLaAoPa7M951N?= =?us-ascii?Q?/d3a9EKyRGchMs81ofrYOSGsQ90ShquBVa4NDEdU//KuTAv1NrbdoNux63+A?= =?us-ascii?Q?pAvidaZtBfYPKhase41bj0qJyW4N/zoW5Y2UZmhWYXHMeMh8x5QZPbmpSRER?= =?us-ascii?Q?puS5SgsJvrqz8ExSVa7yazkwxd1UfaVzJhdMss+wQxfXNJSNbSDNzsQUsKff?= =?us-ascii?Q?AxZkw0IuXD7kmOzlUQPITX+15JriNtLt/DlAqIMdDvlFu/EmVSk1d2bJZieX?= =?us-ascii?Q?ARIp6SsA7fVjmcn1h+zQYI+hhYBk3pcJTMxAF/QTzCuWq3srUSNTnpHxmXzC?= =?us-ascii?Q?39DdqTsSz04ZzSm2EGnz96MnXMaf/HIRFeEGuhmXo8UGmGIdXf/+WglfPYJ5?= =?us-ascii?Q?Aa61hXkJGsYL1CKpzE/QfrVKLCxpb3e/U+LpMWN8m7QUGqz+bnq8fQWX8LNG?= =?us-ascii?Q?d9X00Iu+oKLOXFfBdRIjx47ld+vIex1vYrYxw8uQ3NfoxpxNednDkedGGv1R?= =?us-ascii?Q?QIiYFpt4Os68k8b1dEr4IB4yGrd6Gcm6MkH9BSzl2FMNWOQdZLnTgu9cR6+n?= =?us-ascii?Q?qyFxqT9Z1UVM3XPwNKMMU/FrsL6+nwl+izeUiS4G8wkR8/UdfZ4f7cPQP439?= =?us-ascii?Q?ya3JV62FuS3yyD9xhXv119Co8KIOocxb8Ufr/F59X2RYOyAse4C7tCkq5t46?= =?us-ascii?Q?MKCmTWpvKLXa7BVPaKZ/5Ju374U/4EGwhUefyyLfMJgn6RJgVik+eE6NzmzF?= =?us-ascii?Q?Mkl+E2E6cIhvNv5Ixv7hI9cQgdRnuXimImWwrNQzBWuEIqQgCpR/XqclEpZF?= =?us-ascii?Q?X9wPKtG0VKxRS+oo5BxlbR7lAJ/QTgAoq9HPG5pBaS89jm0UKv7zy0GiSAGz?= =?us-ascii?Q?S0llx2luKcL/05aXasPTp5fxNOQYZhuT5ewjxQb7GwW5nly4ttCe0uLiXv1f?= =?us-ascii?Q?5StL1EMtZBNIA05DUhOqIWZVEtNcPCL5BgFaRaz+jw0j9Ozisy0Pavg1JOFd?= =?us-ascii?Q?FOLL+zuwKcWdJ0tqIXOZj51yheH5b/2U+FVWRrA4Szf7ghjbwRslHPSmkb7V?= =?us-ascii?Q?FuSM3d4wV78ghk2/3gDBizz/pjAxyIyPm/qja1bLAVIDOnmvHQb8BoZJvKxu?= =?us-ascii?Q?vR1U3NQNkUX6BhuelzI6jm4qf1vvQlgozXnephNERqbc2JB90cdcFPYaU6en?= =?us-ascii?Q?7n3Mhvu/yTZMTwcSm21Q/3dNB08ANIAmezrCrpw?= X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0862; 6:8+kAFIq2iGvv/gVRHCVyKZrBKs4nvZz6yRYI1lVRza4vp/rfBzx8Ya4FnUrr8McbYvGysyJqN4V3XnNrJgEeDirbHrsWy0e3PgMaAb8UeA+FQCrAGK2egJ63W4PPSDiHweuSROMqa0lxffMR14DN8g3Dn+/saPbfzEvF6hp/1Mw+Hnfgi958S9j+5TMTPUBZiRuPOSYbWdlVuw/Jqzvyr7/qOsAZvPuelbFtqHRbB8qMEoS9bCGowPFx+3rYLSZNPMYl4RLVaNZ0APMUmV5IxfX216ReSdngJm2+q5EYhmg=; 5:2z7O0Ytk0F7LkQ0McUFbBjjtKVRjHtEYNWMTcbY3kAhg11MAuQl7cTjVkZS+qbBWRGZ36/WNOoSaKUBbf2fXTt7FIHt427WcE53VLRuH0GxPTPwEZS/bLKF8VnRLzV3bcsdrk2fN9HO/1m6huVPw8w==; 24:tX95eAHsfP7l7BO03bx0Z46S7LKwmWcTZfqJZk6uM7IBxBoyS6jNjw2p3Y/lfZKlKitDqaHJnmrzO85G4ZlWO5jsLU/gBb1dqYwe6m3XcPQ=; 7:AyubXtYuU98MTCxcKAoPiZqUfAODu0qcYCbYqd7b6O9lCPndsbsT1slC7qouqYeGxF9VowGtw8IZI5JV2KK/00+tklbL5bFa97nEKdAQ8jUSVbDaxmtKeQHzLmDOep4GvlW5zxJpPf4J4YNwO23/LOB01ziSp2Eslx6OTx7gzCebWkd53o0yyCg9WswR6HIBADOEiMXwn+g/tZWeu6ePzGYsNWwxOA6z9qcJcCzUn+IXeiq6ElhPueXQDBkxk39e SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0862; 20:lFAl0UxJwILtmrqxcaPXm4dCyqOKPTJB1DqYWR0i7DwiKWyDJDrm9l+TAnaz6dA5UCNaPQ7l/uxZCQEYMBoaecf/yPWjt/0QtQBAGvbJ5Y1/63j4UtIAI3BjiL9Raszke7Bs+aoJ5UiSx/cCiVZq48mQ+blFeqtkpSjnZqdpr90= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2016 17:16:39.3127 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB0862 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-06-30_07:, , signatures=0 X-BeenThere: mercurial-devel@mercurial-scm.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <mercurial-devel.mercurial-scm.org> List-Unsubscribe: <https://www.mercurial-scm.org/mailman/options/mercurial-devel>, <mailto:mercurial-devel-request@mercurial-scm.org?subject=unsubscribe> List-Archive: <http://www.mercurial-scm.org/pipermail/mercurial-devel/> List-Post: <mailto:mercurial-devel@mercurial-scm.org> List-Help: <mailto:mercurial-devel-request@mercurial-scm.org?subject=help> List-Subscribe: <https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel>, <mailto:mercurial-devel-request@mercurial-scm.org?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: mercurial-devel-bounces@mercurial-scm.org Sender: "Mercurial-devel" <mercurial-devel-bounces@mercurial-scm.org> |
Comments
Jun Wu - June 30, 2016, 4:58 p.m.
Patch
diff --git a/hgext/chgserver.py b/hgext/chgserver.py --- a/hgext/chgserver.py +++ b/hgext/chgserver.py @@ -713,3 +713,18 @@ def uisetup(ui): # start another chg. drop it to avoid possible side effects. if 'CHGINTERNALMARK' in os.environ: del os.environ['CHGINTERNALMARK'] + +def _wrapfunc(obj, name, newfunc, wraplist): + # like extensions.wrapfunction, but log what is wrapped to wraplist + oldfunc = getattr(obj, name) + extensions.wrapfunction(obj, name, newfunc) + newfunc = getattr(obj, name) + wraplist.append((obj, name, oldfunc, newfunc)) + +def _unwrapfuncs(wraplist): + for obj, name, oldfunc, newfunc in wraplist: + if getattr(obj, name) == newfunc: + setattr(obj, name, oldfunc) + else: + raise RuntimeError('%s cannot be restored' % name) + wraplist[:] = []