src/commit_id.py


Log

Author Commit Date CI Message
Shahbaz Youssefi 955b4620 2021-07-01T22:55:59 Fix angle_commit.h dependency when git packs refs If there are too many files in .git/refs/heads/, git packs them in .git/packed-refs. This breaks the build as gen/angle/angle_commit.h depends on .git/refs/heads/<branch-name>. With this change, when gn is run and the dependency to this file is set up, it's unpacked from .git/packed-refs if it's missing from .git/refs/heads/. One corner case not solved by this change is if a commit is amended with no changes and git packs the refs (and so the .git/refs/heads/<branch-name> file goes away), ninja doesn't rerun gn as it doesn't believe there to be any changes, yet fails the build as the dependency is now missing. Running `gn gen` manually fixes the issue. The issue is automatically fixed when switching branches. Bug: angleproject:6131 Change-Id: Ie2404e874a5cb3374a652b93faa143acb68eaa19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001906 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya d3c8d543 2021-04-08T14:03:51 Consider AOSP ANGLE path as well during SHA generation Account for an in-tree AOSP build of ANGLE while generating ANGLE commit SHA Bug: angleproject:5838 Change-Id: I81d6d821810544c35daf6af9b167f18a4b095e99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815241 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Dirk Pranke 5c79613f 2020-10-29T15:10:27 Make sure commit position is a string. In Python 3, you have to be careful to distinguish between bytes and strings when reading from subprocesses; the code to read the commit position was failing to do that in one place. Bug: chromium:1112471 Change-Id: Ifbfba6872f762d7e5d7e356772e93b4a7ee1dfeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508746 Commit-Queue: Dirk Pranke <dpranke@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7bed2a5b 2020-09-22T23:37:54 Capture commit position into Android Manifest. Bug: b/168736059 Change-Id: I2ec1e284f0c51269a60f3b0e51036523258b501e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425198 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 0725c1ed 2020-09-22T22:56:53 Add ANGLE commit position to version.h. Bug: b/168736059 Change-Id: If35210cfc91781cab6f40a1f03a4e82ada90690f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2425196 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dd19d554 2020-03-02T09:41:22 Change commit_id 'check' back to looking for .git files. commit_id.py was change to try running 'git status' to confirm that git was present. This caused it to succeed if there was a git checkout somewhere above ANGLE if ANGLE's .git didn't exist, incorrectly adding a non-existant .git/HEAD file to the gn rule's inputs. Always verify that ANGLE's .git/HEAD is present in commit_id.py. BUG=angleproject:2344 Change-Id: I7e170f39c8d5cef73086ecf6d68925a1d3512de1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2082993 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang ba8ef68c 2020-02-24T14:13:40 Always use commit_id.py to generate commit.h commit_id_.py is capable of generating the default commit.h. This makes it so we always take a single path in gn. Remove the existing commit.h and generate it into the root generation folder (not the id subfolder) because Android blueprints can't handle generating into subfolders that don't exist. Make the <angle_dir> argument capable of taking a filename or directory name. This allows us to pass the .git/HEAD file which is a gn input. Android blueprints require all paths used as input or output to a script are listed as inputs or outputs in the genrule. BUG=angleproject:2344 Change-Id: I6600083fc400faf07808316c4a6244d6599df79a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2074924 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Robert Liao 4a9ec2ef 2020-02-25T16:33:21 Revert "Always use commit_id.py to generate commit.h" This reverts commit 4dc19c38c0c5e307350ecd8b9f80d59573161df9. Causes a git error during 'gn gen': fatal: this operation must be run in a work tree BUG=chromium:1055991,angleproject:2344 Change-Id: I74dd36d557dcaf1bd1b13264d806a1c6b09e1a56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2073200 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 4dc19c38 2020-02-24T14:13:40 Always use commit_id.py to generate commit.h commit_id_.py is capable of generating the default commit.h. This makes it so we always take a single path in gn. Remove the existing commit.h and generate it into the root generation folder (not the id subfolder) because Android blueprints can't handle generating into subfolders that don't exist. Make the <angle_dir> argument capable of taking a filename or directory name. This allows us to pass the .git/HEAD file which is a gn input. Android blueprints require all paths used as input or output to a script are listed as inputs or outputs in the genrule. BUG=angleproject:2344 Change-Id: Ifd9c8331f421586db6f2c6e17faf3242376e11d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070600 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang d7d42395 2019-05-06T13:15:35 Format all of ANGLE's python code. BUG=angleproject:3421 Change-Id: I1d7282ac513c046de5d8ed87f7789290780d30a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595440 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Courtney Goeltzenleuchter ed8d5ec7 2018-03-20T10:08:05 Add json build file generation gen_angle_gn_info_json.py can be used to generate a json description of the build for given targets. This information can then be used to generate build files for other tool chains (e.g. Android blueprint) Bug: angleproject:2418 Change-Id: Ief8f43e30ae1f469e3fcfa795306675e29a90a2f Reviewed-on: https://chromium-review.googlesource.com/967225 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 949b4f07 2018-01-08T11:15:38 Vulkan: Allow for no .git directory in build. The SPIRV-Tools 'external revision generate' script is coded such that it assumes a .git folder is present. This causes a problem for the tarball build. We can fix this by using the same tooling we use for ANGLE's commit id script to check if the .git directory is present before running the generator. If it is missing, we insert a hard-coded dummy header. Also use the 'DEPS' file as a placeholder for .git/HEAD to check if the current revision needs updating. Bug: chromium:799620 Bug: angleproject:2237 Change-Id: Icea8e9c66f1600df7dca2aaa45fe449f687f5b55 Reviewed-on: https://chromium-review.googlesource.com/854255 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
anatoly techtonik 2766ecba 2016-06-02T09:44:14 Add cmdline help to commit_id.py Change-Id: I2b87e0b60f40d345388562e33ed8eb7010adf186 Reviewed-on: https://chromium-review.googlesource.com/349040 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9c4b24a5 2014-06-12T13:41:17 Use commit_id.py on Windows, and handle missing git. This allows us to delete the Windows batch file. Changes the commit_id script to take the working directory so that it can be called from a different working directory than the angle repository is in. Renames the generated commit header to angle_commit.h. This is being written to the shared generated code directory for the entire build, and "commit.h" is insufficiently unique. BUG=angle:669 Change-Id: I35e80411a7e8ba1e02ce3f6a4fc54ed4dbc918f3 Reviewed-on: https://chromium-review.googlesource.com/202048 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 42f529e9 2014-02-24T12:45:32 Fix commit header generation on non-Windows platforms. Previously we relied on a batch file, which for obvious reasons isn't cross-platform. BUG=angle:529 Change-Id: Ia1e3944f8ed2096773e68c39d48ae2dd7370897b Reviewed-on: https://chromium-review.googlesource.com/186974 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/186985 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>