From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web12.733.1588272080870132264 for ; Thu, 30 Apr 2020 11:41:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=TcHdUYrr; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: nathaniel.l.desimone@intel.com) IronPort-SDR: 3kfJn8YKHaUQ5cscT0DNORXhpEubhEA7zoqU0oaJj72IcVNMrKUV1WUo1S+rUMuh2eS+cjsPou 4Xl3/hSC5qXA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2020 11:41:20 -0700 IronPort-SDR: 3DP/rcDE0OsX5ac+YFMpWjTIV8Z5ZLdX31CKvCSQgwMQb3ZVTztR9mp3PrpdRM2WUk2kkAHDQ9 AdcmtPmhHVtw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,336,1583222400"; d="scan'208";a="303355976" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by FMSMGA003.fm.intel.com with ESMTP; 30 Apr 2020 11:41:20 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 30 Apr 2020 11:41:19 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 30 Apr 2020 11:41:19 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 30 Apr 2020 11:41:19 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 30 Apr 2020 11:41:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MErVuX66fOx7x5QjXxpjtewSHhpDggm7h/O1QvuEga2AT0GcTJM3Vg5J/Qfugu8owV8Zf2gN4tNnAbmKvChJu0NkCUKej4GoYHpW+DImQwtJZrjoeZawqY4jyFxlQNRo2mHJae5Hf9bSIxxkjkU+MefjHz5jzd5K4iaeJf2TPjMFxBwf52s9QvWq9WvdMfuR1YoS/9w8opn5glCkDkw8P05WCL3MbyUI9WU1/sG/OyNmvAcD6jfIb5k8vj+aj8aLU1YBlfBtvgHD6Sf5aE0ZNmZkHfa0U11RWDALXYGueAq892rZPU9edEan4tMItVAugLT4QKEGw+lCow8/aJulKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qVPQ8+lpG4F0jLZnA5tLRybYbJEdTl69QfDPQgRTVwI=; b=HAbTECmS00B1Ijow1qmmHV9yeV0egftmzTNUYuU+7B9ZpQUgCgL4JGXvs6qzh4WCgWlhAstAy826XziccKmXI/L6ugTnRVFlRv1ovy/xhVZlBOl/8Nxa5MGEb1Ros/ZMvA0B6O8/Au00+PGm+afAtMrRo7P7cwV3f/udDnXl3+pQ3pEsdN4yc+iVcLaNBXTdHu9ajGeGG89K+YpY5cRdyhAItxNomVRx7oqTB3clCHGjclGnsXEDMog5heHW3PxRJaZkZ53ahQAgmAs4J4ezfHtviMZttlve8N+Y4efB5o+/2w5ROkm8e4nl1lEsCm8V2Oaf/kGkjIfv/+BsyxX32A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qVPQ8+lpG4F0jLZnA5tLRybYbJEdTl69QfDPQgRTVwI=; b=TcHdUYrrJekfoFav5eqid4zrP5n2GqSr9ihq2pZzeQCsoSKL8+uegrJwQg8lVsWGdmUMOVy58yNXY1D018zcabWaGhH91Bj6v0iKhzVDJA8bTHiTsXnGVcz9HnUPf2YazzH1/rPBbxALaEwmefVQG90pmSwEfv15pa3NseOUS28= Received: from BL0PR11MB3489.namprd11.prod.outlook.com (2603:10b6:208:75::29) by BL0PR11MB3474.namprd11.prod.outlook.com (2603:10b6:208:67::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Thu, 30 Apr 2020 18:41:12 +0000 Received: from BL0PR11MB3489.namprd11.prod.outlook.com ([fe80::d0f8:bfd7:bae2:3e42]) by BL0PR11MB3489.namprd11.prod.outlook.com ([fe80::d0f8:bfd7:bae2:3e42%7]) with mapi id 15.20.2937.026; Thu, 30 Apr 2020 18:41:12 +0000 From: "Nate DeSimone" To: "devel@edk2.groups.io" , "Bjorge, Erik C" CC: "Desimone, Ashley E" , "Pandya, Puja" , Bret Barkelew , "Agyeman, Prince" Subject: Re: [edk2-devel] [edk2-staging/EdkRepo] [PATCH v1] EdkRepo: Improve removal of content with AlwaysExclude Thread-Topic: [edk2-devel] [edk2-staging/EdkRepo] [PATCH v1] EdkRepo: Improve removal of content with AlwaysExclude Thread-Index: AQHWGDR224XP1yGdI0KVWtK6yxOWeqiSDVog Date: Thu, 30 Apr 2020 18:41:12 +0000 Message-ID: References: <5612a4e98256fbb2230393845632116b5a10729e.1587511536.git.erik.c.bjorge@intel.com> In-Reply-To: <5612a4e98256fbb2230393845632116b5a10729e.1587511536.git.erik.c.bjorge@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZWNmZGI0YWUtNGYxNi00ZWM1LWE1MDItNDYyNDY2ZDBiZTViIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoibTQzSVNoaEpaUHF5XC9nSWhoQjd4cytDcUhMUGVYME9rVklBRUhRZmlzVUc2QVFncnI0RFwvQndIUVAyd1Y3a3pUIn0= dlp-reaction: no-action dlp-version: 11.2.0.6 dlp-product: dlpe-windows x-ctpclassification: CTP_NT authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8967deb3-e7f3-45d3-3351-08d7ed360ec0 x-ms-traffictypediagnostic: BL0PR11MB3474: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0389EDA07F x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR11MB3489.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(39860400002)(396003)(346002)(136003)(376002)(366004)(6506007)(52536014)(8936002)(53546011)(4326008)(26005)(966005)(71200400001)(478600001)(107886003)(186003)(86362001)(2906002)(5660300002)(55016002)(66476007)(33656002)(76116006)(9686003)(7696005)(66556008)(64756008)(66446008)(8676002)(66946007)(316002)(6636002)(110136005)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ki7PL+PEXhgsV9mANsKqldrqeNDOgZDioAgXEY73LaGNjKuGO/n9wekXUJuKYk7FslKGcBX28G5Wu0ik8dk27gnthXfr3MwCztyWFc4FyzKuysb5V5YgvLwymL8jllLrVK92Cfdh1kLM6uvAB6JdsTs3d0kGpAl95FZYDA/q+RPvvkA9pdldwuBf+QwFeyDE5SdpP9LSwmdZRrv0xMCkM0VcQ2o+MPbhePyoxt2jG4ylPHJgYVeMeBctdOAJJnc+uyF7xxh3V4dUglM1bR11jKAESe/PpXvh/IsEltYU7NTxeGWGZnIgCAXHDYJumYJCTQq/kNSX9lE5ftixSpyzoY6/8rRCEK/Y5XqC8gT+/0AwsfU+DEeQBfFrLu85Fi4bq7dTsrgci/eDAiwe+h1aqp/0dz9JisnIiXR9U6dy8YGUdrKR+l8Q8qOgITHTXhpIEzHopCetTJzNtj05N0iCARZhxOHYGnyZjTWaFlNeq3UVrh3N3eKq+o1zNE1iTDXsFFXlSUy6NGWsrszRyXWuWA== x-ms-exchange-antispam-messagedata: 8H8SUmi+8BsUsybgBdUvNW/upjET86H+aOWzkvMMjG1UrirXdyzd7n8h9JYYTuL+QVZfY9UsUrzW2L02z3Wi6AWndfDAluH4MeGigU5D7ZHv5YU4smm5lN03W821fmyfBQLquaZ0Qk45C721mhDuT7F6M+C7nvW/1/V5Zh8dFRg9OaDk8bqfhThdaEeEn0eZFsshJHispzFN/DjgaWSUEWXApWfFB3tNTao/w09JqoorZ5tSEQQzgRhKY/qVMUA0Vdbuefa0knphyAO4QBo55of8D46ctS6heIv5zsJqEv/uN7+EJs2jkopEBf5x3fLB0/bBF41hmAFpB98x9zf2H2VSvZ+zKcyVWVoboWldoqIYz3+J8NNaK6u7HfBa2ONS7Oyxgh+bBHYRc3QXm5b/laGEISjtK3lCOTKaW+QgkVGLQjtjx6VmVdiD+iwgnLEzMYtP6xn+UiL+OO0KQvWjTEMq1CrKI1TMFjVi7y4zd8MxyDrruphfejhV94gDJmrQoMdP4H55FiY5J96ISQqH65BmxSFTvbCNCUJvS7E7LQZ59v6hqIRErzm7qXIB+gcNbzcG+B+vSJ51RtjPkNOqicL1AZF8Nn8mnPbLOBqymQFHF8hy6pMIU3eluvvcPSYblJSw/pGP3hrWp7vLorwgBKLle811SOVOZ+Wofj7HDVHsOkodFDnyZq8UmCOtUmURp61dZZqTjQIXVcKbvmhFcLDf4amTfxnaS2DjyPu8ImcgcPTWTc8Yhxv4p+rp22GVFlklk5rE31IeAZ0mJe/aSxJpezEvDqqruFOumkrvPghLuqK+A6romDC51wWHli3h MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 8967deb3-e7f3-45d3-3351-08d7ed360ec0 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Apr 2020 18:41:12.6259 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: I4bkyQQgYgo3ZcnBGN81gfSeSk/pu+S209RWwkefuj/68Ym+pgX7ZjZMuRFgcpBhghPAh2zX4CSzeLQSc6Z31QKnkh3BzlZHRc+9GWdzb9A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3474 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nate DeSimone -----Original Message----- From: devel@edk2.groups.io On Behalf Of Bjorge, Eri= k C Sent: Tuesday, April 21, 2020 4:27 PM To: devel@edk2.groups.io Cc: Desimone, Nathaniel L ; Desimone, Ashl= ey E ; Pandya, Puja ; B= ret Barkelew ; Agyeman, Prince Subject: [edk2-devel] [edk2-staging/EdkRepo] [PATCH v1] EdkRepo: Improve r= emoval of content with AlwaysExclude The AlwaysExclude XML tag has existed but only removed entries from the li= st of sparse objects. Now items in the AlwaysExclude tag will be actively = removed by prefixing '!' to the entry. Signed-off-by: Erik Bjorge Cc: Nate DeSimone Cc: Ashley DeSimone Cc: Puja Pandya Cc: Erik Bjorge Cc: Bret Barkelew Cc: Prince Agyeman --- project_utils/sparse.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/project_utils/sparse.py b/project_utils/sparse.py index b17d6= 88..dbe2d80 100644 --- a/project_utils/sparse.py +++ b/project_utils/sparse.py @@ -3,7 +3,7 @@ ## @file # sparse.py # -# Copyright (c) 2017- 2019, Intel Corporation. All rights reserved.
+# Copyright (c) 2017- 2020, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # import os @@ -552,11 += 552,11 @@ class BuildInfo: =20 def sparse_checkout(self, root=3DNone, always_include=3D[], always_ex= clude=3D[]): """Performs a sparse checkout operation on a single repository""" - local_prune_data =3D set() + local_prune_data =3D [] for item in always_include: - local_prune_data.add('/{}'.format(item)) + local_prune_data.append('/{}'.format(item)) for item in always_exclude: - local_prune_data.discard('/{}'.format(item)) + local_prune_data.append('!/{}'.format(item)) try: repo =3D git.Repo(root) except: @@ -578,7 +578,11 @@ def process_sparse_checkout(workspace_root, repo_list= , current_combo, manifest): workspace_list.extend([os.path.join(workspace_root, os.path.normpath(= x.root)) for x in repo_list]) =20 # Filter sparse data entries that apply to the current combo or all c= ombos - sparse_data =3D [x for x in manifest.sparse_data if x.combination is = None or x.combination =3D=3D current_combo] + # Build list in three steps (all, repo, combo) to make sure the prior= ity is correct + sparse_data =3D [] + sparse_data.extend([x for x in manifest.sparse_data if x.remote_name = is None and x.combination is None]) + sparse_data.extend([x for x in manifest.sparse_data if x.remote_name = is not None and x.combination is None]) + sparse_data.extend([x for x in manifest.sparse_data if=20 + x.remote_name is not None and x.combination =3D=3D current_combo]) =20 # Create object that processes build information. build_info =3D BuildInfo(workspace_list) @@ -602,8 +606,8 @@ if __nam= e__ =3D=3D "__main__": # Program Information # __title__ =3D 'Sparse Checkout' - __version__ =3D '0.02.00' - __copyright__ =3D 'Copyright (c) 2017, Intel Corporation. All rights = reserved.' + __version__ =3D '0.03.00' + __copyright__ =3D 'Copyright (c) 2017 - 2020, Intel Corporation. All = rights reserved.' =20 # # Processes command line arguments -- 2.21.0.windows.1