[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linaro-boot-architecture
Subject:    Experiments with git and maintaining the LInaro UEFI tree
From:       vapier () gentoo ! org (Mike Frysinger)
Date:       2012-12-24 7:52:47
Message-ID: 201212240252.49684.vapier () gentoo ! org
[Download RAW message or body]

On Wednesday 12 December 2012 11:53:07 Grant Likely wrote:
> - Each repo gets a seperate directory. It doesn't look like one can be
> a subdirectory of another, but it should be possible to create
> symlinks between them

you should be able to nest them.  for example:
  <project path="chromite" name="chromiumos/chromite" />
  <project path="chromite/third_party/pyelftools"
           name="chromiumos/third_party/pyelftools" />

the chromite repo is stored on the server at:
	chromiumos/chromite.git
but is checked out locally to:
	chromite/

then pyelftools is stored on the server at:
	chromiumos/third_party/pyelftools.git
but is checked out locally to:
	chromite/third_party/pyelftools/

> - The repo can be configured to follow a branch on each tree, or be
> locked to a specific tag. All is stored in a git repo so is kept under
> revision control.

i think it can work with any git commitsh (meaning you could even lock to a 
sha1 if you wanted)

> - Figuring out how to write a repo default.xml manifest file wasn't
> obvious, but it is a one-time setup thing. Once working it won't need
> to be manipulated frequently.

yeah, the documentation isn't the strong point imo.  but starting from an 
existing manifest.xml and it's easy to customize it for your needs.

here's one:
https://chromium.googlesource.com/chromiumos/manifest/+/master/full.xml

> - Possible downside; repo *really* likes to update itself from the
> upstream repo .git tree. That is potentially a risk if the upstream
> repo moves or otherwise stops working. No data would be lost, but it
> could be a denial-of-service kind of error.

mmm, you don't have to do it that way.  maintain a mirror of the upstream repo 
in the same area as the rest of your repos.  then point the initial repo init 
to that.  now you have full control over the version of repo people use.

repo init --repo-url https://git.chromium.org/git/external/repo.git ...
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.linaro.org/pipermail/boot-architecture/attachments/20121224/6e1497a1/attachment.pgp>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic