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

Re: [PATCH 03/13] delete_ref(): handle special case more explicitly

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Jun 9, 2015, 10:17 UTC
Message-ID
<5576BD3B.1060005@alum.mit.edu>
In-Reply-To
<CAGZ79kZvmf0WWEAHb5Hq6o5ayu7ADxQoAS4xsewoc==VEHKoPw@mail.gmail.com>
On 06/08/2015 06:48 PM, Stefan Beller wrote:
Show 24 quoted lines
> On Mon, Jun 8, 2015 at 4:45 AM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
>> delete_ref() uses a different convention for its old_sha1 parameter
>> than, say, ref_transaction_delete(): NULL_SHA1 means not to check the
>> old value. Make this fact a little bit clearer in the code by handling
>> it in explicit, commented code rather than burying it in a conditional
>> expression.
>>
>> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
>> ---
>>  refs.c | 7 +++++--
>>  1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/refs.c b/refs.c
>> index b575bb8..f9d87b6 100644
>> --- a/refs.c
>> +++ b/refs.c
>> @@ -2795,10 +2795,13 @@ int delete_ref(const char *refname, const unsigned char *old_sha1,
>>         struct ref_transaction *transaction;
>>         struct strbuf err = STRBUF_INIT;
>>
>> +       /* Treat NULL_SHA1 as "don't care" */
> 
> and by "don't care" you mean we still care about getting it deleted,
> the part we don't care about is the particular sha1 (could be a bogus ref).
Correct. I will to change the comment to
	/*
	 * Treat NULL_SHA1 and NULL alike, to mean "we don't care what
	 * the old value of the reference was (or even if it didn't
	 * exist)":
	 */
to make that clearer.
Michael
-- 
Michael Haggerty
mhagger@alum.mit.edu
Previous: Stefan BellerNext: Michael Haggerty
Message 11 of 30 in “Improve "refs" module encapsulation”
  1. 00/13 Improve "refs" module encapsulationMichael Haggerty, Jun 8, 2015
  2. 01/13 delete_ref(): move declaration to refs.hMichael Haggerty, Jun 8, 2015
  3. Stefan BellerJun 8, 2015
  4. Michael HaggertyJun 9, 2015
  5. Stefan BellerJun 9, 2015
  6. Michael HaggertyJun 13, 2015
  7. 02/13 remove_branches(): remove temporaryMichael Haggerty, Jun 8, 2015
  8. Stefan BellerJun 8, 2015
  9. 03/13 delete_ref(): handle special case more explicitlyMichael Haggerty, Jun 8, 2015
  10. Stefan BellerJun 8, 2015
  11. Michael HaggertyJun 9, 2015
  12. 04/13 delete_refs(): new function for the refs APIMichael Haggerty, Jun 8, 2015
  13. 05/13 delete_refs(): improve error messageMichael Haggerty, Jun 8, 2015
  14. Junio C HamanoJun 9, 2015
  15. 06/13 delete_refs(): convert error message to lower caseMichael Haggerty, Jun 8, 2015
  16. Stefan BellerJun 8, 2015
  17. Michael HaggertyJun 9, 2015
  18. 07/13 prune_remote(): use delete_refs()Michael Haggerty, Jun 8, 2015
  19. Stefan BellerJun 8, 2015
  20. Jeff KingJun 8, 2015
  21. Michael HaggertyJun 9, 2015
  22. Jeff KingJun 9, 2015
  23. 08/13 repack_without_refs(): make function privateMichael Haggerty, Jun 8, 2015
  24. 09/13 initial_ref_transaction_commit(): function for initial ref creationMichael Haggerty, Jun 8, 2015
  25. 10/13 refs: remove some functions from the module's public interfaceMichael Haggerty, Jun 8, 2015
  26. 11/13 initial_ref_transaction_commit(): check for duplicate refsMichael Haggerty, Jun 8, 2015
  27. 12/13 initial_ref_transaction_commit(): check for ref D/F conflictsMichael Haggerty, Jun 8, 2015
  28. 13/13 refs: move the remaining ref module declarations to refs.hMichael Haggerty, Jun 8, 2015
  29. Stefan BellerJun 8, 2015
  30. Junio C HamanoJun 9, 2015

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.