Submitter | Jun Wu |
---|---|
Date | Oct. 3, 2016, 6:11 a.m. |
Message ID | <7b19924c9fd57fbb7fa3.1475475078@x1c> |
Download | mbox | patch |
Permalink | /patch/16824/ |
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 E3F8A2C247; Mon, 3 Oct 2016 02:12:17 -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 1Xcm-PZ4ceWX; Mon, 3 Oct 2016 02:12:17 -0400 (EDT) Received: from mercurial-scm.org (localhost [IPv6:::1]) by mercurial-scm.org (Postfix) with ESMTP id E2B092C226; Mon, 3 Oct 2016 02:12:16 -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 D28822C235 for <mercurial-devel@mercurial-scm.org>; Mon, 3 Oct 2016 02:12:14 -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 497-rk4Zc-pN for <mercurial-devel@mercurial-scm.org>; Mon, 3 Oct 2016 02:12:14 -0400 (EDT) Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) by mercurial-scm.org (Postfix) with ESMTPS id E50DA2C1A9 for <mercurial-devel@mercurial-scm.org>; Mon, 3 Oct 2016 02:12:13 -0400 (EDT) Received: from pps.filterd (m0089730.ppops.net [127.0.0.1]) by m0089730.ppops.net (8.16.0.17/8.16.0.17) with SMTP id u9368xqk026431 for <mercurial-devel@mercurial-scm.org>; Sun, 2 Oct 2016 23:12:13 -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 : date : from : to; s=facebook; bh=9FSVyLn2KhvrJR1YIHNgxv2thjGDL1ZJow/PlSJEQuo=; b=fCZzPg2L9RaiEhdco336cDRrJg3r9hHfjFZfXW4C0Fp9nL3r1xOhVfBNNfCRP154oYZV 59zJ7P77h09r6WVFYwip0p4m7KJ1Vi2bHc1P98jMjHITes14EuTHmqff2jzJD4bkxix4 zOrrMj8RHNlDRb/9F4Wowngh8HzPFeq9Kkg= Received: from mail.thefacebook.com ([199.201.64.23]) by m0089730.ppops.net with ESMTP id 25t8mmqhf7-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT) for <mercurial-devel@mercurial-scm.org>; Sun, 02 Oct 2016 23:12:12 -0700 Received: from NAM03-BY2-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.16) with Microsoft SMTP Server (TLS) id 14.3.294.0; Sun, 2 Oct 2016 23:12:11 -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=JOI5W4rtHFNiiAUv2dlk5CXNo9AxUnX0QTcWvPVbRSA=; b=T1FY9FliWmtkJJUPONHUSRlGo3piXxS3F45DOnzRw0je+MYvMy4Q/sZvy27Hv/JUANROdrUdvZD+aAK0GlieTxiQREGuLTafKwszKrfv/Jj8NJuIZa4I83NESZqpKhrbSlnjFhjrWhQMbxu6HrAn89jnrGEhdXpy5VlCqkBa0pU= Received: from [10.0.2.15] (82.132.231.243) by DM3PR15MB0988.namprd15.prod.outlook.com (10.166.160.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.639.5; Mon, 3 Oct 2016 06:11:52 +0000 MIME-Version: 1.0 Subject: [PATCH 1 of 3 RFC] chg: add a standalone entry point X-Mercurial-Node: 7b19924c9fd57fbb7fa39c103902d51d7ea9beb4 X-Mercurial-Series-Index: 1 X-Mercurial-Series-Total: 3 Message-ID: <7b19924c9fd57fbb7fa3.1475475078@x1c> X-Mercurial-Series-Id: <7b19924c9fd57fbb7fa3.1475475078@x1c> User-Agent: Mercurial-patchbomb/3.9.1+359-4d9999e43ff7 Date: Mon, 3 Oct 2016 07:11:18 +0100 From: Jun Wu <quark@fb.com> To: <mercurial-devel@mercurial-scm.org> X-Originating-IP: [82.132.231.243] X-ClientProxiedBy: HE1PR06CA0080.eurprd06.prod.outlook.com (10.164.28.176) To DM3PR15MB0988.namprd15.prod.outlook.com (10.166.160.8) X-MS-Office365-Filtering-Correlation-Id: b0b88bb0-0c4a-48de-89a3-08d3eb542bd6 X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0988; 2:cPtTRRkBwFeDTO9Ul1UlJ5NA5hB++9S/jNWVrfI+8FPm3zsOZPSRAnXghyq7Lh4YKrTOe/YtQdurOat4IhPtfGpXdyUgWqySYnlScv5TuMi+V7z7ZHy+cJ4+W4mP92wtujo8YHsEHU5SjVde6VITP7k9pAJ0FZRwG0GEZmJJiDqr97biu5xYW6hhPJlrPeX/; 3:JqXkrsxS/JV3TnmPLPEmCTOOb0foO1H+zTKeCZyCgEK+Bc6hGz0aysQRd1uuyv3CjcESmsMgqFSmu2c5jITXKckziByUgFbkKoX9qmwKyimWcOQtV5h/On4hys96bmYe; 25:epXgTcCDo6COSL99sqEOgvr4eaabi7D2H4x8+CPjqVTfMSJhe5WDH+kM4vbfjRDJdBaup0Je1CeK4McfJzFE7W3DqOpVB2/BfhWppicn7uXgbmndUNshmvj5KYFaRvnh3Oe5OoTluOlMyU7SYbffyPJSI4AcdDONL4X9fgX+vK7q18LmajnZdh0t42tf24IAI1Fusp8vcHvOz0XWzP3EfMrs8jsib673nynNKyekx4cA2MRZd5jIy7EUXP4oBkCMuLdh+4zZ4iAcuePJN7+u+WPfiIscwCEzEQi43HZ0LxLvPQa17RHVUXjfMgfCdrJTs9dzD7OXT5/dhFH32maxTFUNucUzdjdLt08ykZONnFTKSzcCFVXeKB+EyNaXYv6b/MztV7TdMfpMKB9qkvSnoTu8S5qF0U40SgBi2/OGauI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR15MB0988; X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0988; 31:MdUxHf/OkuZW5gJNTDPXKZf6DRNjjwzn0PiTkx6eo04WpqovOzr4OukNRM1tPYUEHu6eqhuoQEfPhTaAulTUrR1lUR9eSsGLIIb3YGyeztX4BeAzPHt1zPjstDGupMA3Z8IMpuiHmRBHRmNAKOgBWjTc75k6qgjDWCWdC1f79hkgCnapdxOmhr4dOlJbL4VfDKJ+tdA7sp2SUgXSIJ77BzD3ff28MI9bAGZXQXj/gSY=; 20:LUGBVpj54780649ApsLVSHLagKPxsEEiAh12u27dcB5vXLDGRkS2jeUmSNhayEgubu6AgB7+bSMB0rm8NtXySB+ZNqcPpxjyVcc0/UsZj2/fgUjTYMDe7A8/9+SyzBsmttv/AI4UwsCGBtLOY8rw2bcIV/eXaVev2zKRWgBweow=; 4:PNn074XEmjlSTS/NJ5fno/NMDa51hajIU8/igqg6KekjuBC9QyM/raadlOrNgbeU4eA+aRREMe+ZU/8VW3MCb3jGsJZmH7epj+nch3f6eVyw8iGgOR1JuU6ySW1fjBuIM7z2hXOPK5wMJB+lcn3zMj2qU1FZPzSA1Xg+0ByoIFL7X+QfqNYvQObcQKP6IFsXLsn/ScuyCz6irRijIP6LIPdN2JpYVdM/BgjhQ4JXqnh3798RcghmrXd/pSu7Z3wkhGHbuD0+1DSVgImsH0wv9F6IACkf54NL8g38/uZpanx/Qioq4gwRirphSsobMzZa+EvllsFFceTUbOU0lJZkW2JrKAfdJfIxFGhCp1Wc3vu5c3pqjX3G/7UM/BRt5W2v+rKvYpI3Povcpkfkwrxjc+u8IKF3bzpTjUua5owHZqhOYlSC8bloDj9P29iO2bA17Rjk/mTkrYmKDRcgJnsIue19MtPNdLlDNzircwQyLh9sMHNgQKuNTmN1Qyhew2zP X-Microsoft-Antispam-PRVS: <DM3PR15MB0988B6120C084916E4D8C12ACDC20@DM3PR15MB0988.namprd15.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(67672495146484)(63843785518722); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:DM3PR15MB0988; BCL:0; PCL:0; RULEID:; SRVR:DM3PR15MB0988; X-Forefront-PRVS: 008421A8FF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(199003)(189002)(15974865002)(3846002)(23726003)(101416001)(229853001)(107886002)(106356001)(6916009)(6116002)(97736004)(6666003)(586003)(9686002)(92566002)(4001350100001)(83506001)(68736007)(47776003)(86362001)(575784001)(50986999)(33646002)(7736002)(105586002)(7846002)(54356999)(19580395003)(97756001)(77096005)(42186005)(450100001)(19580405001)(305945005)(230700001)(5660300001)(81166006)(2906002)(50466002)(66066001)(46406003)(2351001)(81156014)(189998001)(15975445007)(8676002)(33716001)(110136003); DIR:OUT; SFP:1102; SCL:1; SRVR:DM3PR15MB0988; 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; DM3PR15MB0988; 23:3kkpKxH9I2IZUsfyp+qwPF081p5gqxkGPLDEBalRo?= =?us-ascii?Q?Rhsr1hufNxyqbyxhL3xfpBSeEUYF6dvT4WdqvxCnHDqmUwb3kEERx92fIzEO?= =?us-ascii?Q?einUlUJf1kVmnLsYW2DBKwloiLySXtOQW48xWp7s2cT2tATM8ZW5uiQvlTSr?= =?us-ascii?Q?NRhReC46rU/Sf6CNCRxnbEL0Oe3A4XPnycrIbsB2Eu3/6zuLmojqy5LoHIbo?= =?us-ascii?Q?IX2N5Z9oPfgHb5vsUyyL3oKuVYs9XgD2EfO3504IKRN42hZpOORFalsKIAYT?= =?us-ascii?Q?yfUdklhWFzMCGKvPq76ZT8PHgyiFxwFwNhrk1OIUi9FeZwo8styIqXB30P7c?= =?us-ascii?Q?bSEqEn/iWnxn0bI6KoMXVAcKohB9b1cylTvorQSLqeG0YMxDXNYmBfYrDRij?= =?us-ascii?Q?Cs54HyNSlgx1+YCUVGjMxuY3v2GQEGOdTh+5vK+cwoVD0RPIdKi3LmP5WnzN?= =?us-ascii?Q?CP16O3OwlMJig9skG4q1SfocTdAJ12SrFJQq9o5r9z1Ul1AEXLLfN7QyJY5K?= =?us-ascii?Q?yVmOA3NbS6fxxMfYZpOQfsYuO23NvU22Mg+w2ReGPTxRjMmnZmwMhBlSw8yS?= =?us-ascii?Q?HJH6x7Fkj1jJJc0VAYNGZbu89m/p4QXvqmsISLAG2EDQ6C7sadysWUHYPykb?= =?us-ascii?Q?8Hc1MdB/lbxKouKVBjJ2akSVd2AYV/QAicfIEiN62Tpp3Z01GqWrvAe3bNWz?= =?us-ascii?Q?p7CpNo1XID6tkKLTcHZSdV8CPfvjDhwdZUWruXqQwX+96h4oULZd4hXm9C17?= =?us-ascii?Q?gQg9169POI3pH41thO5Pdi7YYHoCID+OsbiyrG5dyT8iF+DRl1Zm48T6KVkh?= =?us-ascii?Q?/be7zDLUyjyLEDNRkXyYjvYNgeZGnRL06BSqkTVQzrEjQK/tZt4+mw1JvShQ?= =?us-ascii?Q?dQNhMIud01qnORI7lmLgI4oOXlkrbT4FN3cuTghuS+j9+Dflbv/HnyuLRqL8?= =?us-ascii?Q?ppZuBa34KR23wAeZJeKdMIMD3vYBBwH3+gItrB3r2t0k9fR71+ae+JFE3B5K?= =?us-ascii?Q?G1nCy/d+7QpJsf2KUl6KUezBEcaoq6wJ6ERIpPBgmtO9rZfGz/u7RLkV0M2E?= =?us-ascii?Q?Vqx9NQNXru6EZ/BTyyfJsp5D77oGEZ7vpeziKzzrijFhW1tsUP8KGZk6i+JX?= =?us-ascii?Q?6Ggw4tqi2y3iaQE+fCJXKmZ8PkokAjXkgR6mLja+NCoTfzKOPyMs9HGjieQn?= =?us-ascii?Q?fNUQ0SjPzGxBjfEMlFVgWuUUKNKOrn1rZIXGnyiwBT+MOTBOFoe+zO/HfGPE?= =?us-ascii?Q?j4PevSrzlITbZSyruA2wY/4ik3DfgISS7AOHbwFfMuDU1HuBKnyfvRUJLtCv?= =?us-ascii?Q?DMsv+Nip83F2deY40J7+s4=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0988; 6:FtLTa6qrNfUdnE3FggN21w+8bUlNqMGyIJT0Sx1hnaMYOn2B8S6ifyFkj7efZqdN3rE3LhCu8HVVcoG4bneaRSzZo+aFv713ClHkONsy/ER784xMDPB45dwnTX1+5lDPuiTqsSZUzIYD6noIxmzalvP+AxEkT5qXZgzC1bcwl00BJSJIwAwJCt35m0JEhngm48LewEjQ1aildReph4lX8yu1urAGJ6KShr7c1zS+kFkSYKN4u6rJ4JixgRIzMsnIf7UJn4pRM3AmhxpSqyoyJyTUHv30oTLZqc9h3FOghRE=; 5:WlRSZaJqCGnT5hcbVM619qtrjQq8Zm4iY5wh1GWN/hiYvKjb54UY/oOWSYf1xmrUVSjANqX5aN+80wrUXKAhBlpZ5IwvbNvYaleIs3GaGZgRSvCie97TRBYLGDDKeMp+5LpB0PN8hnLMBhEfHOUDUQ==; 24:4XSTnRk3IpbvzevYU3X0j87a5BUOzq7JocZH+EuveudtFtX5QtCryYI4Q4DntwlmFqoDIit4ZvgG7vzCEDLu9xoxa6I0JU/7TYp5vJaxZ1s=; 7:jPWMJZ9bp/HSQX5bEu9Awjx2/x13ofSyIXEEIOfLGCgv0S8rkmm+km9kgVAdp49Iqp3+fOmXIo+w86TkONhKM0iPManrrgT7W50sf/uNCIyvgJfjRoDOIJgMyFnDVBpjyAlOf647e34lJ+ywDNx0p4MWJ0Sx/RdUaXwFNm7U5sMwfyKyvEoqkXAWGq4BxsZ6b2G7fdDrZUmMcRseH/RvtUGFdpM0v/HJFDcA9SUhwdBRjcMlqaWoSJS6IFfMr+6sfS239LP/II2/cAbmd0mCMb6uEUespXQe4xfpKwddhoITj04ktSPI5PrjmXAsQbSQ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM3PR15MB0988; 20:o3O4w4AQPH+QN3nPYPFvBxYQZ+zvZoWEGFX2y2zK6R6oUM6xfiyeTdrz4VcXphpyby285oLDowxZPPtx3qqdQUKxnk6mWEiTYcMbrjnLmQ+zi3OPt7xwoqAY7KWin3K87g4L249k5RVwDTRuEE8MZ7bdJIm2u3ZVszsJyOlVoCo= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2016 06:11:52.6755 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB0988 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-10-03_04:, , 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 - Oct. 3, 2016, 6:11 a.m.
Patch
diff --git a/contrib/chg/chgserve b/contrib/chg/chgserve new file mode 100755 --- /dev/null +++ b/contrib/chg/chgserve @@ -0,0 +1,46 @@ +#!/usr/bin/env python + +from __future__ import absolute_import + +import os +import sys + +from mercurial import ( + cmdutil, + commands, + commandserver, + dispatch, + fancyopts, + ui as uimod, + util, +) + +from hgext import chgserver + +def _confighash(ui): + envitems = [(k, v) for k, v in os.environ.iteritems() + if chgserver._envre.match(k)] + envhash = chgserver._hashlist(sorted(envitems)) + return envhash[:12] + +def _startchgservice(): + # patch chgserver's confighash to only hash environment variables + chgserver._confighash = _confighash + + ui = uimod.ui() + repo = None + args = sys.argv[2:] + dispatch._earlygetopt(['--config'], args) + opts = {} + fancyopts.fancyopts(args, commands.table['^serve'][1], opts) + + service = chgserver.chgunixservice(ui, repo, opts) + cmdutil.service(opts, initfn=service.init, runfn=service.run) + +def _setbinary(): + for fp in (sys.stdin, sys.stdout, sys.stderr): + util.setbinary(fp) + +if __name__ == '__main__': + _setbinary() + sys.exit(_startchgservice())