Re: [PATCH 00/13] Improve "refs" module encapsulation

2015-06-09 Thread Junio C Hamano
Michael Haggerty  writes:

> 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.

Yay.  The subject of the series matches this "primary value" of the
topic, even though the cover text makes it sound as if it was just a
"while we are at adding two functions" with "Also move..." ;-)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/13] Improve "refs" module encapsulation

2015-06-08 Thread Stefan Beller
On Mon, Jun 8, 2015 at 4:45 AM, Michael Haggerty  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 00/13] Improve "refs" module encapsulation

2015-06-08 Thread Michael Haggerty
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

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html