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.lik...@arm.com> 
Sent: Monday, May 24, 2021 4:09 AM
To: Kinney, Michael D <michael.d.kin...@intel.com>; devel@edk2.groups.io; G 
Edhaya Chandran <edhaya.chand...@arm.com>; Samer El-Haj-Mahmoud 
<samer.el-haj-mahm...@arm.com>; Desimone, Nathaniel L 
<nathaniel.l.desim...@intel.com>; Desimone, Ashley E 
<ashley.e.desim...@intel.com>
Cc: n...@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.chand...@arm.com>; Samer El-Haj-Mahmoud 
>> <samer.el-haj-mahm...@arm.com>
>> Cc: n...@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/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to