Nothing earth-shattering here; just cleaning up some internal details that have bothered me for a while: * Make it clearer which flag values the packed backend might confront. * Reduce the visibility of the constants that are only relevant to the files backend. The most notable of these is `REF_ISPRUNING`, which previously was special-cased in `REF_TRANSACTION_UPDATE_ALLOWED_FLAGS` even though it shouldn't be used by callers outside of the refs module. * Die (rather then silently ignoring) if any disallowed flags are passed to `ref_transaction_update()` or friends. * Rename `REF_NODEREF` to `REF_NO_DEREF` (otherwise it's easy to read as `REF_NODE_REF`!) * Rename `REF_ISPRUNING` to `REF_IS_PRUNING`. * Make the constants' numerical values correspond to their order. * Improve a lot of docstrings. This patch series depends on `bc/object-id`, mostly so that the comments can talk about OIDs rather than SHA-1s. These patches are also available as branch `tidy-ref-update-flags` from my GitHub fork [1]. Michael [1] https://github.com/mhagger/git Michael Haggerty (7): files_transaction_prepare(): don't leak flags to packed transaction prune_ref(): call `ref_transaction_add_update()` directly ref_transaction_update(): die on disallowed flags ref_transaction_add_update(): remove a check refs: tidy up and adjust visibility of the `ref_update` flags refs: rename constant `REF_NODEREF` to `REF_NO_DEREF` refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING` builtin/am.c | 2 +- builtin/branch.c | 2 +- builtin/checkout.c | 2 +- builtin/clone.c | 4 +- builtin/notes.c | 2 +- builtin/remote.c | 6 +-- builtin/symbolic-ref.c | 2 +- builtin/update-ref.c | 4 +- refs.c | 6 +-- refs.h | 67 ++++++++++++++++------------- refs/files-backend.c | 113 +++++++++++++++++++++++++++++++++++++------------ refs/refs-internal.h | 67 +++++++---------------------- sequencer.c | 6 +-- 13 files changed, 155 insertions(+), 128 deletions(-) -- 2.14.1