[edk2-devel] edk2-test: Request for new github repo

Nate DeSimone nathaniel.l.desimone at intel.com
Thu May 27 08:03:45 UTC 2021


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 at 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 at 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 at nate-desktop:~/src/min2 [master]$ edkrepo combo -v
        * master
            edk2           : master
            edk2-platforms : master
            edk2-non-osi   : master
            FSP            : master
        nate at 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 at arm.com> 
Sent: Monday, May 24, 2021 4:09 AM
To: Kinney, Michael D <michael.d.kinney at intel.com>; devel at edk2.groups.io; G Edhaya Chandran <Edhaya.Chandran at arm.com>; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud at arm.com>; Desimone, Nathaniel L <nathaniel.l.desimone at intel.com>; Desimone, Ashley E <ashley.e.desimone at intel.com>
Cc: nd at 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 at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Grant 
>> Likely
>> Sent: Wednesday, May 12, 2021 5:32 AM
>> To: devel at edk2.groups.io; G Edhaya Chandran 
>> <Edhaya.Chandran at arm.com>; Samer El-Haj-Mahmoud 
>> <Samer.El-Haj-Mahmoud at arm.com>
>> Cc: nd at 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.
>>
>>
>> 
>>
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75754): https://edk2.groups.io/g/devel/message/75754
Mute This Topic: https://groups.io/mt/82770629/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list