On Mon, Jun 8, 2015 at 4:45 AM, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: > Add functions to the reference API to > > * Delete a bunch of references at once, but *without* failing the > whole transaction if one of the deletions fails. This functionality > is used by `git remote remove` and `git remote prune`. > > * Create initial references during `git clone`. (During clone, > references are written directly to the `packed-refs` file without > any locking.) > > Also move the remaining "refs" function declarations from `cache.h` to > `refs.h`. > > This improves the encapsulation of the refs module. Especially, it > means that code outside of the refs module should no longer need to > care about the distinction between loose and packed references. > > These patches are also available from my GitHub account [1] as branch > "init-delete-refs-api". > > [1] https://github.com/mhagger/git Thw whole series looks good to me. > > Michael Haggerty (13): > delete_ref(): move declaration to refs.h > remove_branches(): remove temporary > delete_ref(): handle special case more explicitly > delete_refs(): new function for the refs API > delete_refs(): improve error message > delete_refs(): convert error message to lower case > prune_remote(): use delete_refs() > repack_without_refs(): make function private > initial_ref_transaction_commit(): function for initial ref creation > refs: remove some functions from the module's public interface > initial_ref_transaction_commit(): check for duplicate refs > initial_ref_transaction_commit(): check for ref D/F conflicts > refs: move the remaining ref module declarations to refs.h > > archive.c | 1 + > builtin/blame.c | 1 + > builtin/clone.c | 19 ++++- > builtin/fast-export.c | 1 + > builtin/fmt-merge-msg.c | 1 + > builtin/init-db.c | 1 + > builtin/log.c | 1 + > builtin/remote.c | 33 +------- > cache.h | 68 ---------------- > refs.c | 167 +++++++++++++++++++++++++++++++++++--- > refs.h | 210 +++++++++++++++++++++++++++++++----------------- > remote-testsvn.c | 1 + > 12 files changed, 316 insertions(+), 188 deletions(-) > > -- > 2.1.4 > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html