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

[PATCH v2] fixing corner-cases with interpret_branch_name()

From
Jeff King <peff@peff.net>
Date
Mar 2, 2017, 08:21 UTC
Message-ID
<20170302082100.edaretznmlralswa@sigill.intra.peff.net>
This is a re-roll of the series from:
  http://public-inbox.org/git/20170228120633.zkwfqms57fk7dkl5@sigill.intra.peff.net/

Thanks Junio and Jake for reviewing the original. This is mostly the same, but:

  - it fixes the case where "branch -r @{-1}" mistakes a local branch
    for a remote (and adds a test)
  - as a result of the above fix, the series needs to be applied on top
    of jk/auto-namelen-in-interpret-branch-name.
  - I clarified the history in the commit message of patch 4
  - the commit message for patch 4 now explicitly mentions which
    callers can be left alone (so anybody blaming the history won't
    think they were simply forgotten).

With the exception of patch 6 flipping the failure/success bit on the new test, the rest of the patches should be identical.

  [1/8]: interpret_branch_name: move docstring to header file
  [2/8]: strbuf_branchname: drop return value
  [3/8]: strbuf_branchname: add docstring
  [4/8]: interpret_branch_name: allow callers to restrict expansions
  [5/8]: t3204: test git-branch @-expansion corner cases
  [6/8]: branch: restrict @-expansions when deleting
  [7/8]: strbuf_check_ref_format(): expand only local branches
  [8/8]: checkout: restrict @-expansions when finding branch
 builtin/branch.c                      |   5 +-
 builtin/checkout.c                    |   2 +-
 builtin/merge.c                       |   2 +-
 cache.h                               |  32 +++++++-
 refs.c                                |   2 +-
 revision.c                            |   2 +-
 sha1_name.c                           |  92 ++++++++++++-----------
 strbuf.h                              |  21 +++++-
 t/t3204-branch-name-interpretation.sh | 133 ++++++++++++++++++++++++++++++++++
 9 files changed, 240 insertions(+), 51 deletions(-)
 create mode 100755 t/t3204-branch-name-interpretation.sh
-Peff
Next: Jeff King
Message 1 of 10 in “fixing corner-cases with interpret_branch_name()”
  1. fixing corner-cases with interpret_branch_name()Jeff King, Mar 2, 2017
  2. 1/8 interpret_branch_name: move docstring to header fileJeff King, Mar 2, 2017
  3. 3/8 strbuf_branchname: add docstringJeff King, Mar 2, 2017
  4. 2/8 strbuf_branchname: drop return valueJeff King, Mar 2, 2017
  5. 4/8 interpret_branch_name: allow callers to restrict expansionsJeff King, Mar 2, 2017
  6. 5/8 t3204: test git-branch @-expansion corner casesJeff King, Mar 2, 2017
  7. 6/8 branch: restrict @-expansions when deletingJeff King, Mar 2, 2017
  8. 7/8 strbuf_check_ref_format(): expand only local branchesJeff King, Mar 2, 2017
  9. Jacob KellerMar 2, 2017
  10. 8/8 checkout: restrict @-expansions when finding branchJeff King, Mar 2, 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.