From: "Nate DeSimone" <nathaniel.l.desimone@intel.com>
To: Grant Likely <grant.likely@arm.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
G Edhaya Chandran <Edhaya.Chandran@arm.com>,
Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>,
"Desimone, Ashley E" <ashley.e.desimone@intel.com>
Cc: "nd@arm.com" <nd@arm.com>
Subject: Re: [edk2-devel] edk2-test: Request for new github repo
Date: Thu, 27 May 2021 08:03:45 +0000 [thread overview]
Message-ID: <MWHPR1101MB216075E58C15B3A02318C7EACD239@MWHPR1101MB2160.namprd11.prod.outlook.com> (raw)
In-Reply-To: <d417fb6a-8079-821b-719d-9eb73977964e@arm.com>
Hi Grant,
Edkrepo has a similar high level objective of enabling multi-repository workflows in git. However, it is more feature rich than repo. Here is an unexhaustive list of features it provides above and beyond repo:
1. Simplified project discovery - The "edkrepo manifest" shows a centralized inventory of all currently known projects. For example:
nate@nate-desktop:~$ edkrepo manifest
Syncing the global manifest repository: /home/nate/.edkrepo/edk2-edkrepo-manifest-main
Manifest directory:
edk2-edkrepo-manifest
Verifying the active projects in the global manifest repository
Projects:
EdkRepo
EdkRepoManifest
Intel-MinPlatform
edk2
nate@nate-desktop:~$
Then one can create a new clone of any project by specifying the name of the project to be cloned, for example:
edkrepo clone <path_to_folder> Intel-MinPlatform
One can also clone from a loose manifest file by providing the path to the .xml file in lieu of the project name.
Additional manifest repositories can be added to this list via the "edkrepo manifest-repos" command.
2. More hierarchy - Each manifest can describe multiple combinations of branches instead of a one-to-one relationship between branches and repositories.
nate@nate-desktop:~/src/min2 [master]$ edkrepo combo -v
* master
edk2 : master
edk2-platforms : master
edk2-non-osi : master
FSP : master
nate@nate-desktop:~/src/min2 [master]$
3. Cross platform - Runs on Windows, Linux, macOS. With effort put in to universal Linux distro compatibility (or at least an attempt at it!)
4. Sparse checkout - Automatically configures the git sparse checkout list based on manifest settings. This is particularly useful for edk2-platforms, which has a lot of unrelated packages in the same repository.
5. Local caching - An optional feature that will store a bare copy of remote git repositories locally, so if you make lots of clones as part of your normal workflow they will be created very quickly from the local copy with minimal network I/O.
6. Tab autocompletion - Similar to repo, EdkRepo includes shell scripts to enable autocompletion of commands for both bash and zsh.
In the future we plan to integrate support for automating the GitHub Pull Request process, so once TianoCore moves from email patches to pull requests we will have tooling that takes out most of the clicks out of sending a PR.
We use it internally at Intel for all our UEFI firmware development. If you are interested in giving it a try, the latest release (at time of writing) is available here: https://github.com/tianocore/edk2-edkrepo/releases/tag/edkrepo-v2.1.2
We have a (slightly out of date) user's guide available here: https://github.com/tianocore/edk2-edkrepo/blob/main/edkrepouserguide.pdf
Both Ashley and I would be happy to hear any feedback that you might have!
Regards,
Nate
-----Original Message-----
From: Grant Likely <grant.likely@arm.com>
Sent: Monday, May 24, 2021 4:09 AM
To: Kinney, Michael D <michael.d.kinney@intel.com>; devel@edk2.groups.io; G Edhaya Chandran <Edhaya.Chandran@arm.com>; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Desimone, Ashley E <ashley.e.desimone@intel.com>
Cc: nd@arm.com
Subject: Re: [edk2-devel] edk2-test: Request for new github repo
Thanks Mike,
I've not come across edkrepo before. I've been using repo becuase it is a common tool used by many projects. How does edkrepo compare?
g.
On 12/05/2021 16:53, Kinney, Michael D wrote:
> Hi Grant,
>
> There is already a repo like this in tianocore:
>
> https://github.com/tianocore/edk2-edkrepo-manifest
>
> It is focused on manifests used by the edkrepo tool:
>
> https://github.com/tianocore/edk2-edkrepo
>
> Nate and Ashley are the maintainers. They can help you with using
> edkrepo for this edk2-test use case.
>
> Thanks,
>
> Mike
>
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Grant
>> Likely
>> Sent: Wednesday, May 12, 2021 5:32 AM
>> To: devel@edk2.groups.io; G Edhaya Chandran
>> <Edhaya.Chandran@arm.com>; Samer El-Haj-Mahmoud
>> <Samer.El-Haj-Mahmoud@arm.com>
>> Cc: nd@arm.com
>> Subject: [edk2-devel] edk2-test: Request for new github repo
>>
>> Would it be possible to get a new repo under the github.com/tianocore
>> project? I've got a repo manifest that I've been using for building
>> the SCT, and is now being used by quite a few people. However it is
>> currently hosted under my personal area here:
>>
>> https://github.com/glikely/edk2-test-manifest
>>
>> There is very little actually in the manifest, but it makes it really
>> easy to clone all the pieces needed to build the SCT from scratch
>> with the following commands:
>>
>> $ mkdir edk2-test-build
>> $ cd edk2-test-build
>> $ repo init -u https://github.com/glikely/edk2-test-manifest
>> $ repo sync
>> $ ./buildzip.sh AARCH64
>>
>> The buildzip script itself is already hosted in edk2-test. This repo
>> just contains the repo manifest for cloning the required trees and
>> creating the needed symlinks.
>>
>> Would it be possible to host this manifest within the tianocore
>> project at https://github.com/tianocore/edk2-test-manifest?
>>
>> Thanks,
>> g.
>>
>>
>>
>>
>
prev parent reply other threads:[~2021-05-27 8:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-12 12:32 edk2-test: Request for new github repo Grant Likely
2021-05-12 15:53 ` [edk2-devel] " Michael D Kinney
2021-05-24 11:09 ` Grant Likely
2021-05-27 8:03 ` Nate DeSimone [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MWHPR1101MB216075E58C15B3A02318C7EACD239@MWHPR1101MB2160.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox