From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.1271.1592844700532930403 for ; Mon, 22 Jun 2020 09:51:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=tcoz4gTu; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: erik.c.bjorge@intel.com) IronPort-SDR: BhI72yrltQOH1Gf9q/hOKsLIRqwS/viM5g8yLyM/frCBNibtUT9a12V4Vv5qPJuryzd0E5PHol 9RezHDqGY9HA== X-IronPort-AV: E=McAfee;i="6000,8403,9660"; a="141321429" X-IronPort-AV: E=Sophos;i="5.75,268,1589266800"; d="scan'208";a="141321429" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2020 09:51:39 -0700 IronPort-SDR: O/GEh3EwG6p/W3BYJoQJoi/q+q/jhFmj1l8Zj2oPkB78FaOy/KU21yj09/oGchRucVnEcNaOxz vtpWMfrNwksA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,268,1589266800"; d="scan'208";a="278823351" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga006.jf.intel.com with ESMTP; 22 Jun 2020 09:51:39 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jun 2020 09:51:39 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 22 Jun 2020 09:51:38 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 22 Jun 2020 09:51:38 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jun 2020 09:51:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TuRhm+Bj/5ju2L1BzDn1p9LykyJkMyQg8c8iH06NBjxYVL5A3x+y6Jlm7Z1XymJUObdwb8VC3t9ibAwy3z2vMos4UmPpM33QKYeyvpFon2fTTASRlLoCQsdQgj2ofYEsE0GR84mBsYO687oEKPuDTg4F0XQ2WFH9t5S32Z2AaNTmaGnoyyqwuz0SIkJwc3EM/ah1Ea4i0K+C+7a9gLIL9MENM+VgQO8OV53yEkjsq8zC9dCOA0GjXfHoaJ36jRIcAdl5gcnE0fIaD8V1m+puM6Wrxb0KkyrJ1Mpr9JQCu82DR37GDnPVSQqdDPrC14984HgR8Ikkbe9d6bWLuGcb5A== 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=EGHz1dr4huzkVQSgXCT6KUyGmvHPnpe3UYqf9ilfD5Q=; b=l0VThrInku8NyP029OxW61cUOcgbLlngkZbFSJL6WSqfvzJLswZrBP1xPhPb3T61KREzmVZV/gumvxyR3syTL69LpfOFZyKZ68ZiqhCvXUloskMuuYMUI/hEZmM7xDPBBM2MIWecCkjQsrV64Eju1hTOD2YWz61Or7LghQAXFMow3mBRSnkphtRwJtG3HPv3S8RJ7JZyoXcSTpi+yOlvvOTyd6WM1rI9Yd6j3nBitZIZnfXB9Y3mCOw89Swc4gqKm9sAFjjJRHXgWFaWTHa/ty4LFUb/Ga2xgq96aHVMq9tikU6jW4U/0i9D6rG/HqmDa2eubc0+6Xc8egurhuK5HA== 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=EGHz1dr4huzkVQSgXCT6KUyGmvHPnpe3UYqf9ilfD5Q=; b=tcoz4gTuzwuUiwM+WJ7ZfNMoD7PxzY/L5g4SlPl3v0glylwNkfSWuhi8ZahzfLJB7M3KnRKbmvm9kr8PNfUG77LUUwUuBy+50Qh9YqYsj1t9BKThsgDbrH/GZMzDAKM/ruGo/EfRn5RSV/J7pqYbrzl3dcOwgXFXhUpetI2Njc8= Received: from MW3PR11MB4554.namprd11.prod.outlook.com (2603:10b6:303:5d::7) by MW3PR11MB4586.namprd11.prod.outlook.com (2603:10b6:303:5e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Mon, 22 Jun 2020 16:51:36 +0000 Received: from MW3PR11MB4554.namprd11.prod.outlook.com ([fe80::bc02:4e7a:f181:37f1]) by MW3PR11MB4554.namprd11.prod.outlook.com ([fe80::bc02:4e7a:f181:37f1%5]) with mapi id 15.20.3109.027; Mon, 22 Jun 2020 16:51:36 +0000 From: "Bjorge, Erik C" To: "Desimone, Ashley E" , "devel@edk2.groups.io" CC: "Desimone, Nathaniel L" , "Pandya, Puja" , Bret Barkelew , "Agyeman, Prince" Subject: Re: [edk2-staging/EdkRepo] [PATCH] EdkRepo: EdkRepo Sync Fails to Update Local Manifest Thread-Topic: [edk2-staging/EdkRepo] [PATCH] EdkRepo: EdkRepo Sync Fails to Update Local Manifest Thread-Index: AQHWRpH3pvAI0LRiMESxn6Cdf1zaIKjk3PIw Date: Mon, 22 Jun 2020 16:51:35 +0000 Message-ID: References: <20200619233247.2184-1-ashley.e.desimone@intel.com> In-Reply-To: <20200619233247.2184-1-ashley.e.desimone@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.2.0.6 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.196] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6a57ca0c-4984-46fc-2df4-08d816cc86a3 x-ms-traffictypediagnostic: MW3PR11MB4586: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 0442E569BC x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YVENMxmGGiVr9JLpWk4JXSjqbghtGVDsSyLtV4hvsmb/Rdlk6aJfvYz5S3+W0xAnv7CbSxchsOQX3732nBv1AXtUlztjC074OJxrlEMYpdkygB/8Nkc89KWcTudSNphnGxdgpS2Ca3VaFxBlRRKwRXmsOfsY08jLxNZ0LVhpnIuNH9W5T8ECV7SRya8PjmbpIACH9h7pvS8SlaeM+XE09xbGC0xb8DSsHy/zgmaielEvK3yYvWy45nDlXG1wSjECl8N27ipMkBoSfm+mmq6WbjRU6yZAOY3lHcEMccMFgh8bCxAoTRqrlEWQUW1l3IVyJTP991GHF6je9XG6Qftx6g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR11MB4554.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(376002)(136003)(39860400002)(346002)(366004)(76116006)(110136005)(316002)(54906003)(9686003)(186003)(55016002)(4326008)(107886003)(8676002)(66946007)(6506007)(53546011)(83380400001)(15650500001)(7696005)(52536014)(33656002)(8936002)(64756008)(66556008)(66476007)(66446008)(26005)(2906002)(86362001)(5660300002)(478600001)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: +smiqd/32WKhv1Kjj2O+GzEVyuMq7UhE5iNZUbydQ1UgnQQQ8kTnzqWW5qja5zEx0g1wgJKh8/Rn+SyhBurkf76+PglqzIQMYyWGyLkjlSAeBG20j65uzGG70AlwjnxlWQtERWdA/WVzothenlgaHY+HbGivFbiXMwbyHyd/+UseCa3+1h9hrXUYdXcQly6kPHvj+wE58EcB0BuamHGB6Xy9hZQVlynYVG61WEOpxWb1jN4Muqh2gCndFqoyDrOUxSzHYl5ZXmYMQYFk5iuagDtdXNZc1ilPtqBZYepjCTxdr4X9XzZnY/gjZQM8qApCGNhwkyM6P9rB5zX6/73BHFhULnv2qMxyx25NbiHzCuDUscoeXC3oMl2GAa08DhKCMarGqhQJAkYjN3wyZZjTBQt+q5z69NhaUOCtQLCol0S7X2w/+AcjMlsyqUjYr8Joqz9hE2h2CSF0JH4Y9YfonBHy6lyYQNSMR24HSkd4fAo= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 6a57ca0c-4984-46fc-2df4-08d816cc86a3 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jun 2020 16:51:35.9472 (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: 4HmLP3Qy36CuSxVF/r2GgmsWTL/wT4YxmyK+pMQ+HeQGZcoS2r5V+jcK0FQRp02BEK9FVcOVy6BPsptLLvIqww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4586 Return-Path: erik.c.bjorge@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable It seems when patches are being applied we are getting mixed line endings. = This is making the patches a bit more difficult to review. We may want to= look into fixing this. The quick fix would be to convert all Python files= to CRLF. Reviewed-by: Erik Bjorge -----Original Message----- From: Desimone, Ashley E =20 Sent: Friday, June 19, 2020 4:33 PM To: devel@edk2.groups.io Cc: Desimone, Nathaniel L ; Pandya, Puja ; Bjorge, Erik C ; Bret Barke= lew ; Agyeman, Prince Subject: [edk2-staging/EdkRepo] [PATCH] EdkRepo: EdkRepo Sync Fails to Upda= te Local Manifest Only use the new manifests default combination if the current manifest is n= ot present in the list of new combos Remove the extranous comparison of repo sources as that content is checked = later in the function. Signed-off-by: Ashley E Desimone Cc: Nate DeSimone Cc: Puja Pandya Cc: Erik Bjorge Cc: Bret Barkelew Cc: Prince Agyeman --- edkrepo/commands/sync_command.py | 45 ++++++++++++++------------------ 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/edkrepo/commands/sync_command.py b/edkrepo/commands/sync_comma= nd.py index dd7202d..c87861b 100644 --- a/edkrepo/commands/sync_command.py +++ b/edkrepo/commands/sync_command.py @@ -38,7 +38,7 @@ from edkrepo.common.common_repo_functions import checkout= _repos, check_dirty_rep from edkrepo.common.common_repo_functions import u= pdate_editor_config from edkrepo.common.common_repo_functions import updat= e_repo_commit_template, get_latest_sha from edkrepo.common.common_repo_fun= ctions import has_primary_repo_remote, fetch_from_primary_repo, in_sync_wit= h_primary -from edkrepo.common.common_repo_functions import update_hooks, c= ombinations_in_manifest+from edkrepo.common.common_repo_functions import up= date_hooks, combinations_in_manifest from edkrepo.common.common_repo_funct= ions import write_included_config, remove_included_config from edkrepo.com= mon.workspace_maintenance.workspace_maintenance import generate_name_for_ob= solete_backup from edkrepo.common.workspace_maintenance.manifest_repos_mai= ntenance import pull_workspace_manifest_repo @@ -48,7 +48,7 @@ from edkrepo= .common.ui_functions import init_color_console from edkrepo.config.config_= factory import get_workspace_path, get_workspace_manifest, get_edkrepo_glob= al_data_directory from edkrepo.config.config_factory import get_workspace_= manifest_file from edkrepo_manifest_parser.edk_manifest import CiIndexXml,= ManifestXml -from project_utils.submodule import deinit_submodules, mainta= in_submodules+from project_utils.submodule import deinit_submodules, mainta= in_submodules =20 =20 class SyncCommand(EdkrepoCommand): @@ -85,7 +85,7 @@ class SyncCommand(EdkrepoCommand): current_combo =3D initial_manifest.general_config.current_combo initial_sources =3D initial_manifest.get_repo_sources(current_comb= o) initial_hooks =3D initial_manifest.repo_hooks - initial_combo =3D current_combo+ initial_combo =3D current_= combo =20 source_global_manifest_repo =3D find_source_manifest_repo(initial_= manifest, config['cfg_file'], config['user_cfg_file'], args.source_manifest= _repo) pull_workspace_manifest_repo(initial_manifest, config['cfg_file'],= config['user_cfg_file'], args.source_manifest_repo, False) @@ -102,7 +102,= 7 @@ class SyncCommand(EdkrepoCommand): if not args.update_local_manifest: self.__check_for_new_manifest(args, config, initial_manifest, = workspace_path, global_manifest_directory) check_dirty_repos(initial_manifest, workspace_path) -+ # Determine if sparse checkout needs to be disabled for this opera= tion sparse_settings =3D initial_manifest.sparse_settings sparse_enabled =3D sparse_checkout_enabled(workspace_path, initial= _sources) @@ -116,7 +116,7 @@ class SyncCommand(EdkrepoCommand): reset_sparse_checkout(workspace_path, initial_sources) =20 # Get the latest manifest if requested - if args.update_local_manifest: # NOTE: hyphens in arg name replac= ed with underscores due to argparse+ if args.update_local_manifest: = # NOTE: hyphens in arg name replaced with underscores due to argparse self.__update_local_manifest(args, config, initial_manifest, w= orkspace_path, global_manifest_directory) manifest =3D get_workspace_manifest() if args.update_local_manifest: @@ -130,12 +130,12 @@ class SyncCommand(EdkrepoCommand): repo_sources_to_sync =3D manifest.get_repo_sources(current_com= bo) manifest.write_current_combo(current_combo) =20 - # At this point both new and old manifest files are ready so we ca= n deinit any- # submodules that are removed due to a manifest update= .- if not args.skip_submodule:- deinit_submodules(workspa= ce_path, initial_manifest, initial_combo,- man= ifest, current_combo, args.verbose)-+ # At this point both new and o= ld manifest files are ready so we can deinit any + # submodules that are removed due to a manifest update. + if not args.skip_submodule: + deinit_submodules(workspace_path, initial_manifest, initial_co= mbo, + manifest, current_combo, args.verbose) + sync_error =3D False # Calculate the hooks which need to be updated, added or removed f= or the sync if args.update_local_manifest: @@ -205,15 +205,15 @@ class SyncCommand(EdkrepoCommand): print(NO_SYNC_DETACHED_HEAD.format(repo_to_sync.root)) =20 # Update commit message templates - update_repo_commit_template(workspace_path, repo, repo_to_sync= , config, global_manifest_directory)+ update_repo_commit_templat= e(workspace_path, repo, repo_to_sync, config, global_manifest_directory) =20 if sync_error: print(SYNC_ERROR) =20 - # Initialize submodules- if not args.skip_submodule:- = maintain_submodules(workspace_path, manifest, current_combo, args.ver= bose)-+ # Initialize submodules + if not args.skip_submodule: + maintain_submodules(workspace_path, manifest,=20 + current_combo, args.verbose) + # Restore sparse checkout state if sparse_enabled: print(SPARSE_CHECKOUT) @@ -244,14 +244,9 @@ class SyncCommand(EdkrepoCommand): # the default combo initial_combos =3D combinations_in_manifest(initial_manifest) new_combos =3D combinations_in_manifest(new_manifest_to_check) - if (current_combo not in new_combos) or (set(new_combos) !=3D set(= initial_combos)): - if initial_manifest.get_repo_sources(current_combo) =3D=3D new= _manifest_to_check.get_repo_sources(new_manifest_to_check.general_config.de= fault_combo): - new_sources_for_current_combo =3D new_manifest_to_check.ge= t_repo_sources(new_manifest_to_check.general_config.default_combo) - new_sources =3D new_sources_for_current_combo - else: - # Since asymetric combinations are not supported error out= with an IMCOMPATIBLE_COMBO warning - print(SYNC_COMBO_CHANGE.format(current_combo, initial_mani= fest.project_info.codename)) - raise EdkrepoManifestChangedException(SYNC_INCOMPATIBLE_CO= MBO) + if current_combo not in new_combos: + new_sources_for_current_combo =3D new_manifest_to_check.get_re= po_sources(new_manifest_to_check.general_config.default_combo) + new_sources =3D new_sources_for_current_combo else: new_sources_for_current_combo =3D new_manifest_to_check.get_re= po_sources(current_combo) new_sources =3D new_manifest_to_check.get_repo_sources(current= _combo) @@ -335,7 +330,7 @@ class SyncCommand(EdkrepoCommand): print(path_to_source) if len(sources_to_remove) > 0: print(SYNC_REMOVE_LIST_END_FORMATTING) - clone_repos(args, workspace_path, sources_to_clone, new_manife= st_to_check.repo_hooks, config, new_manifest_to_check)+ clone_re= pos(args, workspace_path, sources_to_clone, new_manifest_to_check.repo_hook= s, config, new_manifest_to_check) # Make a list of and only checkout repos that were newly clone= d. Sync keeps repos on their initial active branches # cloning the entire combo can prevent existing repos from cor= rectly being returned to their proper branch repos_to_checkout =3D [] -- 2.26.2.windows.1