From 74e8ed4bde37a3ce42579e4601e0a54120853c89 Mon Sep 17 00:00:00 2001 From: Sean McAllister Date: Wed, 15 Apr 2020 12:24:43 -0600 Subject: Expose upstream and dest-branch attributes through environment Recent changes in ChromeOS Infra to ensure we're reading from snapshot manifests properly have exposed several bugs in our assumptions about manifest files. Mainly that the revision field for a project does _not_ have to refer to a ref, it can just be a commit hash. Several places assume that the revision field can be parsed as a ref to get the branch the project is on, which isn't true. To fix this we need to be able to look at the upstream and dest-branch attributes of the repo, so we expose them through the environment variables set in `repo forall`. Test: manual 'repo forall' run Bug: https://crbug.com/1032441 Change-Id: I2c039e0f4b2e0f430602932e91b782edb6f9b1ed Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/263132 Reviewed-by: Mike Frysinger Tested-by: Sean McAllister --- subcmds/manifest.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'subcmds/manifest.py') diff --git a/subcmds/manifest.py b/subcmds/manifest.py index d9f242ee..399e241e 100644 --- a/subcmds/manifest.py +++ b/subcmds/manifest.py @@ -34,6 +34,11 @@ The manifest and (if present) local_manifest.xml are combined together to produce a single manifest file. This file can be stored in a Git repository for use during future 'repo init' invocations. +The -r option can be used to generate a manifest file with project +revisions set to the current commit hash. These are known as +"revision locked manifests", as they don't follow a particular branch. +In this case, the 'upstream' attribute is set to the ref we were on +when the manifest was generated. """ @property -- cgit v1.2.3-54-g00ecf