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

Re: What's cooking in git.git (Jun 2016, #05; Thu, 16)

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Jun 18, 2016, 04:18 UTC
Message-ID
<5764CBA8.5070303@alum.mit.edu>
In-Reply-To
<xmqqk2ho33ig.fsf@gitster.mtv.corp.google.com>
On 06/17/2016 05:20 AM, Junio C Hamano wrote:
Show 22 quoted lines
> [...]
> * mh/ref-iterators (2016-06-03) 13 commits
>   (merged to 'next' on 2016-06-06 at c8e79dc)
>  + for_each_reflog(): reimplement using iterators
>  + dir_iterator: new API for iterating over a directory tree
>  + for_each_reflog(): don't abort for bad references
>  + do_for_each_ref(): reimplement using reference iteration
>  + refs: introduce an iterator interface
>  + ref_resolves_to_object(): new function
>  + entry_resolves_to_object(): rename function from ref_resolves_to_object()
>  + get_ref_cache(): only create an instance if there is a submodule
>  + remote rm: handle symbolic refs correctly
>  + delete_refs(): add a flags argument
>  + refs: use name "prefix" consistently
>  + do_for_each_ref(): move docstring to the header file
>  + refs: remove unnecessary "extern" keywords
>  (this branch is used by mh/ref-store; uses mh/split-under-lock; is tangled with mh/update-ref-errors.)
> 
>  The API to iterate over all the refs (i.e. for_each_ref(), etc.)
>  has been revamped.
> 
>  Will merge to 'master'.

It would be preferable (though not critical) to use the promised v3, which I just sent [1]. This includes some minor improvements, described here [2]. This is also available from my GitHub fork [3] as branch "ref-iterators".

Show 41 quoted lines
> * mh/split-under-lock (2016-05-13) 33 commits
>   (merged to 'next' on 2016-06-03 at 2e71330)
>  + lock_ref_sha1_basic(): only handle REF_NODEREF mode
>  + commit_ref_update(): remove the flags parameter
>  + lock_ref_for_update(): don't resolve symrefs
>  + lock_ref_for_update(): don't re-read non-symbolic references
>  + refs: resolve symbolic refs first
>  + ref_transaction_update(): check refname_is_safe() at a minimum
>  + unlock_ref(): move definition higher in the file
>  + lock_ref_for_update(): new function
>  + add_update(): initialize the whole ref_update
>  + verify_refname_available(): adjust constness in declaration
>  + refs: don't dereference on rename
>  + refs: allow log-only updates
>  + delete_branches(): use resolve_refdup()
>  + ref_transaction_commit(): correctly report close_ref() failure
>  + ref_transaction_create(): disallow recursive pruning
>  + refs: make error messages more consistent
>  + lock_ref_sha1_basic(): remove unneeded local variable
>  + read_raw_ref(): move docstring to header file
>  + read_raw_ref(): improve docstring
>  + read_raw_ref(): rename symref argument to referent
>  + read_raw_ref(): clear *type at start of function
>  + read_raw_ref(): rename flags argument to type
>  + ref_transaction_commit(): remove local variable n
>  + rename_ref(): remove unneeded local variable
>  + commit_ref_update(): write error message to *err, not stderr
>  + refname_is_safe(): insist that the refname already be normalized
>  + refname_is_safe(): don't allow the empty string
>  + refname_is_safe(): use skip_prefix()
>  + remove_dir_recursively(): add docstring
>  + safe_create_leading_directories(): improve docstring
>  + read_raw_ref(): don't get confused by an empty directory
>  + commit_ref(): if there is an empty dir in the way, delete it
>  + t1404: demonstrate a bug resolving references
>  (this branch is used by mh/ref-iterators, mh/ref-store and mh/update-ref-errors.)
> 
>  Further preparatory work on the refs API before the pluggable
>  backend series can land.
> 
>  Will merge to 'master'.

Please make sure to pick up the important bugfix discussed here [4], which is integrated into branch "split-under-lock" on my GitHub fork [3].

Michael

[1] http://thread.gmane.org/gmane.comp.version-control.git/297625 [2] http://thread.gmane.org/gmane.comp.version-control.git/296322/focus=296883 [3] https://github.com/mhagger/git [4] http://article.gmane.org/gmane.comp.version-control.git/297174

Previous: Junio C HamanoNext: Junio C Hamano
Message 21 of 31 in “What's cooking in git.git (Jun 2016, #05; Thu, 16)”
  1. Junio C HamanoJun 17, 2016
  2. Pranit BauvaJun 17, 2016
  3. Vasco AlmeidaJun 17, 2016
  4. Lars SchneiderJun 17, 2016
  5. Junio C HamanoJun 17, 2016
  6. Michael HaggertyJun 18, 2016
  7. Michael HaggertyJun 19, 2016
  8. Lars SchneiderJun 19, 2016
  9. Lars SchneiderJun 19, 2016
  10. Junio C HamanoJun 19, 2016
  11. Lars SchneiderJun 19, 2016
  12. Lars SchneiderJun 19, 2016
  13. Junio C HamanoJun 19, 2016
  14. Junio C HamanoJun 19, 2016
  15. Lars SchneiderJun 20, 2016
  16. Michael HaggertyJun 23, 2016
  17. Lars SchneiderJun 27, 2016
  18. Junio C HamanoJun 27, 2016
  19. Michael HaggertyJun 28, 2016
  20. Junio C HamanoJun 28, 2016
  21. Michael HaggertyJun 18, 2016
  22. Junio C HamanoJun 18, 2016
  23. Michael HaggertyJun 19, 2016
  24. Junio C HamanoJun 19, 2016
  25. Torsten BögershausenJun 20, 2016
  26. Junio C HamanoJun 20, 2016
  27. Joey HessJun 22, 2016
  28. Torsten BögershausenJun 23, 2016
  29. Joey HessJul 12, 2016
  30. Torsten BögershausenJul 14, 2016
  31. Junio C HamanoJul 14, 2016

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.