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

Re: [PATCH v5] branch: support for shortcuts like @{-1}, completed

From
Rubén Justo <rjusto@gmail.com>
Date
Oct 9, 2022, 21:26 UTC
Message-ID
<dacb1f40-2765-5978-1131-f78ba919e6e6@gmail.com>
In-Reply-To
<xmqqa6647qx2.fsf@gitster.g>
On 9/10/22 21:11, Junio C Hamano wrote:
> Rubén Justo <rjusto@gmail.com> writes:
> 
>  * cmd_foo() should not return an negative value.
Yes, the refactoring we already discussed early in this thread.
> 
>  * branch_name used in the calls to error() could point at buf.buf
>    that holds the expansion of @{-1}, but buf was released way too
>    early, leading to a use-after-free.

:-( good catch, thanks. Removing the refactoring commit was not carefully done.

> 
>  * Style: if/else if/else cascade whose one arm has multiple
>    statements and requires {braces} around it should have {braces}
>    around all of its arms.
Ok.
Show 7 quoted lines
> 
>  * each arm in the top-level if/else if/else cascade for "git
>    branch" subcommands were more or less independent, and there
>    wasn't anything common that they need to execute after exiting
>    the cascade.  Unconditionally returning from the arm for the
>    edit-description subcommand seems to make the logic flow easier
>    to read.
Mmm, I don't feel the same here, we already discussed about this. Maybe?:
diff --git a/builtin/branch.c b/builtin/branch.c
index 17853225fa..307073cc47 100644
--- a/builtin/branch.c
+++ b/builtin/branch.c
@@ -817,7 +817,8 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
                strbuf_release(&branch_ref);
                strbuf_release(&buf);
 
-               return ret;
+               if (ret)
+                       return ret; /* some failure happened */
        } else if (copy) {
                if (!argc)
                        die(_("branch name required"));


not much important, though.

You can squash the changes in the commit or if you need me to send a v6,
please let me know. Thank you for your careful review.
Previous: Junio C HamanoNext: Junio C Hamano
Message 33 of 38 in “branch: support for at-refs like @{-1} in --edit-description, --set-upstream-to and --unset-upstream”
  1. 0/2 branch: support for at-refs like @{-1} in --edit-description, --set-upstream-to and --unset-upstreamRubén Justo via GitGitGadget, Sep 5, 2022
  2. 2/2 branch: support for at-refs like @{-1}Rubén Justo via GitGitGadget, Sep 5, 2022
  3. 1/2 branch: refactor edit_description command switch caseRubén Justo via GitGitGadget, Sep 5, 2022
  4. 0/2 branch: support for shortcuts like @{-1}, completedRubén Justo, Sep 7, 2022
  5. 1/2 branch: refactor "edit_description" code pathRubén Justo, Sep 7, 2022
  6. Junio C HamanoSep 7, 2022
  7. Rubén JustoSep 7, 2022
  8. Rubén JustoSep 8, 2022
  9. 2/2 branch: support for shortcuts like @{-1} completedRubén Justo, Sep 7, 2022
  10. 0/2 branch: support for shortcuts like @{-1}, completedRubén Justo, Sep 8, 2022
  11. 1/2 branch: refactor "edit_description" code pathRubén Justo, Sep 8, 2022
  12. branch: error codes for "edit_description"Rubén Justo, Sep 8, 2022
  13. Junio C HamanoSep 8, 2022
  14. 2/2 branch: support for shortcuts like @{-1} completedRubén Justo, Sep 8, 2022
  15. branch: support for shortcuts like @{-1}, completedRubén Justo, Oct 8, 2022
  16. Eric SunshineOct 8, 2022
  17. Junio C HamanoOct 8, 2022
  18. Rubén JustoOct 8, 2022
  19. Eric SunshineOct 8, 2022
  20. Rubén JustoOct 8, 2022
  21. Eric SunshineOct 8, 2022
  22. Junio C HamanoOct 8, 2022
  23. Rubén JustoOct 8, 2022
  24. Rubén JustoOct 8, 2022
  25. Eric SunshineOct 9, 2022
  26. Junio C HamanoOct 9, 2022
  27. Rubén JustoOct 9, 2022
  28. Junio C HamanoOct 8, 2022
  29. Rubén JustoOct 8, 2022
  30. branch: support for shortcuts like @{-1}, completedRubén Justo, Oct 8, 2022
  31. Junio C HamanoOct 9, 2022
  32. Junio C HamanoOct 9, 2022
  33. Rubén JustoOct 9, 2022
  34. Junio C HamanoOct 10, 2022
  35. Rubén JustoOct 10, 2022
  36. Junio C HamanoOct 10, 2022
  37. Rubén JustoOct 10, 2022
  38. branch: support for shortcuts like @{-1}, completedRubén Justo, Oct 10, 2022

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.