git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 0/3] git-describe deals gracefully with broken submodules

From
Stefan Beller <sbeller@google.com>
Date
Mar 21, 2017, 00:11 UTC
Message-ID
<20170321001156.21915-1-sbeller@google.com>

Our own version generation in GIT-VERSION-GEN is somewhat sane by testing if we have a .git dir, and use that as a signal whether the obtained copy of git was obtained using git (clone/fetch) or if it is just a downloaded tar ball.

Other scripts to generate a version are not as cautious and just run "git describe". An error from git-describe is treated as a sufficient signal to assume it is not a git repository.

When submodules come into play, this is not true, as a submodule may be damaged instead, such that we're still in a git repository but error out for the sake of reporting a severly broken submodule.

Add a flag to git-describe that instructs it to treat severe submodule errors as "dirty" instead of erroring out.

Thanks, Stefan

Stefan Beller (3):
  submodule.c: port is_submodule_modified to use porcelain 2
  revision machinery: gentle submodule errors
  builtin/describe: introduce --submodule-error-as-dirty flag
 builtin/describe.c                           | 17 ++---
 diff-lib.c                                   | 10 ++-
 diff.h                                       |  1 +
 diffcore.h                                   |  3 +-
 revision.c                                   |  2 +
 submodule.c                                  | 94 +++++++++++++++++-----------
 submodule.h                                  | 10 ++-
 t/t4060-diff-submodule-option-diff-format.sh | 22 +++++++
 t/t6120-describe.sh                          | 17 +++++
 9 files changed, 128 insertions(+), 48 deletions(-)
-- 
2.12.0.402.g4b3201c2d6.dirty
Next: Stefan Beller
Message 1 of 15 in “git-describe deals gracefully with broken submodules”
  1. 0/3 git-describe deals gracefully with broken submodulesStefan Beller, Mar 21, 2017
  2. 1/3 submodule.c: port is_submodule_modified to use porcelain 2Stefan Beller, Mar 21, 2017
  3. 3/3 builtin/describe: introduce --submodule-error-as-dirty flagStefan Beller, Mar 21, 2017
  4. 2/3 revision machinery: gentle submodule errorsStefan Beller, Mar 21, 2017
  5. Junio C HamanoMar 21, 2017
  6. Junio C HamanoMar 21, 2017
  7. builtin/describe: introduce --broken flagStefan Beller, Mar 21, 2017
  8. Junio C HamanoMar 21, 2017
  9. Stefan BellerMar 21, 2017
  10. Junio C HamanoMar 21, 2017
  11. Stefan BellerMar 21, 2017
  12. builtin/describe: introduce --broken flagStefan Beller, Mar 21, 2017
  13. Junio C HamanoMar 22, 2017
  14. Jakub NarębskiMar 22, 2017
  15. Stefan BellerMar 21, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.