From: Michael Haggerty <mhagger@alum.mit.edu>
To: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: What's cooking in git.git (Jun 2016, #05; Thu, 16)
Date: Sat, 18 Jun 2016 06:18:48 +0200 [thread overview]
Message-ID: <5764CBA8.5070303@alum.mit.edu> (raw)
In-Reply-To: <xmqqk2ho33ig.fsf@gitster.mtv.corp.google.com>
On 06/17/2016 05:20 AM, Junio C Hamano wrote:
> [...]
> * 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".
> * 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
next prev parent reply other threads:[~2016-06-18 4:18 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-17 3:20 What's cooking in git.git (Jun 2016, #05; Thu, 16) Junio C Hamano
2016-06-17 13:25 ` Pranit Bauva
2016-06-17 17:55 ` Vasco Almeida
2016-06-17 22:05 ` Lars Schneider
2016-06-17 22:17 ` Junio C Hamano
2016-06-18 17:09 ` Michael Haggerty
2016-06-19 7:59 ` Michael Haggerty
2016-06-19 15:04 ` Lars Schneider
2016-06-19 16:11 ` Lars Schneider
2016-06-19 18:13 ` Junio C Hamano
2016-06-19 18:49 ` Lars Schneider
2016-06-19 18:53 ` Lars Schneider
2016-06-19 18:09 ` Junio C Hamano
2016-06-19 23:51 ` Junio C Hamano
2016-06-20 7:57 ` Lars Schneider
2016-06-23 7:32 ` Michael Haggerty
2016-06-27 7:09 ` Lars Schneider
2016-06-27 16:29 ` Junio C Hamano
2016-06-28 9:23 ` Michael Haggerty
2016-06-28 17:44 ` Junio C Hamano
2016-06-18 4:18 ` Michael Haggerty [this message]
2016-06-18 18:20 ` Junio C Hamano
2016-06-19 8:15 ` Michael Haggerty
2016-06-19 18:07 ` Junio C Hamano
2016-06-20 6:06 ` Torsten Bögershausen
2016-06-20 20:06 ` Junio C Hamano
2016-06-22 21:09 ` Joey Hess
2016-06-23 13:13 ` Torsten Bögershausen
2016-07-12 22:20 ` Joey Hess
2016-07-14 2:09 ` Torsten Bögershausen
2016-07-14 18:17 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5764CBA8.5070303@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).