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

Re: [PATCH 05/12] refs.c: pass NULL as *flags to read_ref_full

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 18, 2014, 22:31 UTC
Message-ID
<xmqqd2d2l2o7.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1405549392-27306-6-git-send-email-sahlberg@google.com>
Ronnie Sahlberg <sahlberg@google.com> writes:
> We call read_ref_full with a pointer to flags from rename_ref but since
> we never actually use the returned flags we can just pass NULL here instead.

Sensible, at least for the current callers. I had to wonder if rename_ref() would never want to take advantage of the flags return parameter in the future, though. For example, would it want to act differently when the given ref turns out to be a symref? Would it want to report something when the ref to be overwritten was a broken one?

Show 19 quoted lines
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
> Signed-off-by: Ronnie Sahlberg <sahlberg@google.com>
> ---
>  refs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/refs.c b/refs.c
> index 7d65253..0df6894 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -2666,7 +2666,7 @@ int rename_ref(const char *oldrefname, const char *newrefname, const char *logms
>  		goto rollback;
>  	}
>  
> -	if (!read_ref_full(newrefname, sha1, 1, &flag) &&
> +	if (!read_ref_full(newrefname, sha1, 1, NULL) &&
>  	    delete_ref(newrefname, sha1, REF_NODEREF)) {
>  		if (errno==EISDIR) {
>  			if (remove_empty_directories(git_path("%s", newrefname))) {
Previous: Ronnie SahlbergNext: Ronnie Sahlberg
Message 12 of 26 in “Use ref transactions part 3”
  1. 00/12 Use ref transactions part 3Ronnie Sahlberg, Jul 16, 2014
  2. 01/12 wrapper.c: simplify warn_if_unremovableRonnie Sahlberg, Jul 16, 2014
  3. Junio C HamanoJul 18, 2014
  4. 02/12 wrapper.c: add a new function unlink_or_msgRonnie Sahlberg, Jul 16, 2014
  5. Junio C HamanoJul 18, 2014
  6. Junio C HamanoJul 18, 2014
  7. Ronnie SahlbergJul 22, 2014
  8. Junio C HamanoJul 22, 2014
  9. 03/12 refs.c: add an err argument to delete_ref_looseRonnie Sahlberg, Jul 16, 2014
  10. 04/12 refs.c: pass the ref log message to _create/delete/update instead of _commitRonnie Sahlberg, Jul 16, 2014
  11. 05/12 refs.c: pass NULL as *flags to read_ref_fullRonnie Sahlberg, Jul 16, 2014
  12. Junio C HamanoJul 18, 2014
  13. Ronnie SahlbergJul 22, 2014
  14. Ronnie SahlbergJul 22, 2014
  15. 06/12 refs.c: move the check for valid refname to lock_ref_sha1_basicRonnie Sahlberg, Jul 16, 2014
  16. Junio C HamanoJul 18, 2014
  17. 07/12 refs.c: call lock_ref_sha1_basic directly from commitRonnie Sahlberg, Jul 16, 2014
  18. 08/12 refs.c: pass a skip list to name_conflict_fnRonnie Sahlberg, Jul 16, 2014
  19. 09/12 refs.c: propagate any errno==ENOTDIR from _commit back to the callersRonnie Sahlberg, Jul 16, 2014
  20. 10/12 fetch.c: change s_update_ref to use a ref transactionRonnie Sahlberg, Jul 16, 2014
  21. 11/12 refs.c: make write_ref_sha1 staticRonnie Sahlberg, Jul 16, 2014
  22. 12/12 refs.c: fix handling of badly named refsRonnie Sahlberg, Jul 16, 2014
  23. Junio C HamanoJul 22, 2014
  24. Ronnie SahlbergJul 22, 2014
  25. Ronnie SahlbergJul 22, 2014
  26. Junio C HamanoJul 22, 2014

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.