Browse Source

object-name.h: move declarations for object-name.c functions from cache.h

Signed-off-by: Elijah Newren <newren@gmail.com>
Acked-by: Calvin Wan <calvinwan@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Elijah Newren 2 years ago committed by Junio C Hamano
parent
commit
dabab1d6e6
  1. 1
      add-patch.c
  2. 1
      apply.c
  3. 1
      archive.h
  4. 1
      bisect.c
  5. 1
      branch.c
  6. 1
      builtin/am.c
  7. 1
      builtin/bisect.c
  8. 1
      builtin/blame.c
  9. 1
      builtin/branch.c
  10. 1
      builtin/cat-file.c
  11. 1
      builtin/check-attr.c
  12. 1
      builtin/checkout.c
  13. 1
      builtin/commit-tree.c
  14. 1
      builtin/commit.c
  15. 1
      builtin/describe.c
  16. 1
      builtin/fast-import.c
  17. 1
      builtin/fetch.c
  18. 1
      builtin/fsck.c
  19. 1
      builtin/grep.c
  20. 1
      builtin/log.c
  21. 1
      builtin/ls-files.c
  22. 1
      builtin/ls-tree.c
  23. 1
      builtin/merge-base.c
  24. 1
      builtin/merge-recursive.c
  25. 1
      builtin/merge-tree.c
  26. 1
      builtin/merge.c
  27. 1
      builtin/name-rev.c
  28. 1
      builtin/notes.c
  29. 1
      builtin/prune.c
  30. 1
      builtin/pull.c
  31. 1
      builtin/range-diff.c
  32. 1
      builtin/read-tree.c
  33. 1
      builtin/rebase.c
  34. 1
      builtin/receive-pack.c
  35. 1
      builtin/replace.c
  36. 1
      builtin/reset.c
  37. 1
      builtin/rev-list.c
  38. 1
      builtin/rev-parse.c
  39. 1
      builtin/rm.c
  40. 1
      builtin/show-branch.c
  41. 1
      builtin/show-ref.c
  42. 1
      builtin/sparse-checkout.c
  43. 1
      builtin/stash.c
  44. 1
      builtin/submodule--helper.c
  45. 1
      builtin/tag.c
  46. 1
      builtin/unpack-file.c
  47. 1
      builtin/update-ref.c
  48. 1
      builtin/verify-commit.c
  49. 1
      builtin/verify-tag.c
  50. 1
      builtin/worktree.c
  51. 110
      cache.h
  52. 1
      checkout.c
  53. 1
      combine-diff.c
  54. 1
      commit.c
  55. 1
      config.c
  56. 1
      diff-lib.c
  57. 1
      diff.c
  58. 1
      fmt-merge-msg.c
  59. 1
      list-objects-filter.c
  60. 1
      log-tree.c
  61. 1
      mailmap.c
  62. 1
      merge-ort.c
  63. 1
      merge-recursive.c
  64. 1
      notes-merge.c
  65. 1
      notes.c
  66. 1
      object-name.c
  67. 121
      object-name.h
  68. 1
      parse-options-cb.c
  69. 1
      range-diff.c
  70. 1
      read-cache.c
  71. 1
      rebase-interactive.c
  72. 1
      ref-filter.c
  73. 1
      refs.c
  74. 1
      remote.c
  75. 1
      reset.c
  76. 1
      revision.c
  77. 1
      sequencer.c
  78. 1
      setup.c
  79. 1
      strbuf.c
  80. 1
      submodule-config.c
  81. 1
      submodule.c
  82. 1
      t/helper/test-fast-rebase.c
  83. 1
      t/helper/test-match-trees.c
  84. 1
      t/helper/test-oidmap.c
  85. 1
      t/helper/test-reach.c
  86. 1
      t/helper/test-submodule-config.c
  87. 1
      tag.c
  88. 1
      transport-helper.c
  89. 1
      transport.c
  90. 1
      tree.c
  91. 1
      wt-status.c

1
add-patch.c

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "alloc.h"
#include "environment.h"
#include "gettext.h"
#include "object-name.h"
#include "strbuf.h"
#include "run-command.h"
#include "strvec.h"

1
apply.c

@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
#include "xdiff-interface.h"
#include "ll-merge.h"
#include "lockfile.h"
#include "object-name.h"
#include "parse-options.h"
#include "quote.h"
#include "rerere.h"

1
archive.h

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
#define ARCHIVE_H

#include "cache.h"
#include "object-name.h"
#include "pathspec.h"

struct repository;

1
bisect.c

@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
#include "strvec.h"
#include "commit-slab.h"
#include "commit-reach.h"
#include "object-name.h"
#include "object-store.h"
#include "dir.h"


1
branch.c

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "refs.h"
#include "refspec.h"
#include "remote.h"

1
builtin/am.c

@ -27,6 +27,7 @@ @@ -27,6 +27,7 @@
#include "diffcore.h"
#include "unpack-trees.h"
#include "branch.h"
#include "object-name.h"
#include "sequencer.h"
#include "revision.h"
#include "merge-recursive.h"

1
builtin/bisect.c

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "parse-options.h"
#include "bisect.h"
#include "refs.h"

1
builtin/blame.c

@ -28,6 +28,7 @@ @@ -28,6 +28,7 @@
#include "line-log.h"
#include "dir.h"
#include "progress.h"
#include "object-name.h"
#include "object-store.h"
#include "blame.h"
#include "refs.h"

1
builtin/branch.c

@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
#include "commit.h"
#include "builtin.h"
#include "gettext.h"
#include "object-name.h"
#include "remote.h"
#include "parse-options.h"
#include "branch.h"

1
builtin/cat-file.c

@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
#include "tree-walk.h"
#include "oid-array.h"
#include "packfile.h"
#include "object-name.h"
#include "object-store.h"
#include "replace-object.h"
#include "promisor-remote.h"

1
builtin/check-attr.c

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
#include "attr.h"
#include "environment.h"
#include "gettext.h"
#include "object-name.h"
#include "quote.h"
#include "setup.h"
#include "parse-options.h"

1
builtin/checkout.c

@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
#include "lockfile.h"
#include "mem-pool.h"
#include "merge-recursive.h"
#include "object-name.h"
#include "object-store.h"
#include "parse-options.h"
#include "refs.h"

1
builtin/commit-tree.c

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "config.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "object-store.h"
#include "repository.h"
#include "commit.h"

1
builtin/commit.c

@ -27,6 +27,7 @@ @@ -27,6 +27,7 @@
#include "log-tree.h"
#include "strbuf.h"
#include "utf8.h"
#include "object-name.h"
#include "parse-options.h"
#include "string-list.h"
#include "rerere.h"

1
builtin/describe.c

@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
#include "refs.h"
#include "builtin.h"
#include "exec-cmd.h"
#include "object-name.h"
#include "parse-options.h"
#include "revision.h"
#include "diff.h"

1
builtin/fast-import.c

@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
#include "dir.h"
#include "run-command.h"
#include "packfile.h"
#include "object-name.h"
#include "object-store.h"
#include "mem-pool.h"
#include "commit-reach.h"

1
builtin/fetch.c

@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
#include "repository.h"
#include "refs.h"
#include "refspec.h"
#include "object-name.h"
#include "object-store.h"
#include "oidset.h"
#include "oid-array.h"

1
builtin/fsck.c

@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
#include "streaming.h"
#include "decorate.h"
#include "packfile.h"
#include "object-name.h"
#include "object-store.h"
#include "replace-object.h"
#include "resolve-undo.h"

1
builtin/grep.c

@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
#include "setup.h"
#include "submodule.h"
#include "submodule-config.h"
#include "object-name.h"
#include "object-store.h"
#include "packfile.h"
#include "write-or-die.h"

1
builtin/log.c

@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
#include "gettext.h"
#include "hex.h"
#include "refs.h"
#include "object-name.h"
#include "object-store.h"
#include "color.h"
#include "commit.h"

1
builtin/ls-files.c

@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
#include "dir.h"
#include "builtin.h"
#include "gettext.h"
#include "object-name.h"
#include "strbuf.h"
#include "tree.h"
#include "cache-tree.h"

1
builtin/ls-tree.c

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "config.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "object-store.h"
#include "blob.h"
#include "tree.h"

1
builtin/merge-base.c

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "refs.h"
#include "diff.h"
#include "revision.h"
#include "object-name.h"
#include "parse-options.h"
#include "repository.h"
#include "commit-reach.h"

1
builtin/merge-recursive.c

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
#include "gettext.h"
#include "tag.h"
#include "merge-recursive.h"
#include "object-name.h"
#include "xdiff-interface.h"

static const char builtin_merge_recursive_usage[] =

1
builtin/merge-tree.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "commit.h"
#include "commit-reach.h"
#include "merge-ort.h"
#include "object-name.h"
#include "object-store.h"
#include "parse-options.h"
#include "repository.h"

1
builtin/merge.c

@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "parse-options.h"
#include "builtin.h"
#include "lockfile.h"

1
builtin/name-rev.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "commit.h"
#include "tag.h"
#include "refs.h"
#include "object-name.h"
#include "parse-options.h"
#include "prio-queue.h"
#include "hash-lookup.h"

1
builtin/notes.c

@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
#include "gettext.h"
#include "hex.h"
#include "notes.h"
#include "object-name.h"
#include "object-store.h"
#include "repository.h"
#include "blob.h"

1
builtin/prune.c

@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
#include "progress.h"
#include "prune-packed.h"
#include "replace-object.h"
#include "object-name.h"
#include "object-store.h"
#include "shallow.h"


1
builtin/pull.c

@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
#include "builtin.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "parse-options.h"
#include "exec-cmd.h"
#include "run-command.h"

1
builtin/range-diff.c

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#include "cache.h"
#include "builtin.h"
#include "gettext.h"
#include "object-name.h"
#include "parse-options.h"
#include "range-diff.h"
#include "config.h"

1
builtin/read-tree.c

@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
#include "hex.h"
#include "lockfile.h"
#include "object.h"
#include "object-name.h"
#include "tree.h"
#include "tree-walk.h"
#include "cache-tree.h"

1
builtin/rebase.c

@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
#include "cache-tree.h"
#include "unpack-trees.h"
#include "lockfile.h"
#include "object-name.h"
#include "parse-options.h"
#include "commit.h"
#include "diff.h"

1
builtin/receive-pack.c

@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
#include "tmp-objdir.h"
#include "oidset.h"
#include "packfile.h"
#include "object-name.h"
#include "object-store.h"
#include "protocol.h"
#include "commit-reach.h"

1
builtin/replace.c

@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
#include "refs.h"
#include "parse-options.h"
#include "run-command.h"
#include "object-name.h"
#include "object-store.h"
#include "replace-object.h"
#include "repository.h"

1
builtin/reset.c

@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
#include "diffcore.h"
#include "tree.h"
#include "branch.h"
#include "object-name.h"
#include "parse-options.h"
#include "unpack-trees.h"
#include "cache-tree.h"

1
builtin/rev-list.c

@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
#include "list-objects-filter.h"
#include "list-objects-filter-options.h"
#include "object.h"
#include "object-name.h"
#include "object-store.h"
#include "pack.h"
#include "pack-bitmap.h"

1
builtin/rev-parse.c

@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
#include "refs.h"
#include "quote.h"
#include "builtin.h"
#include "object-name.h"
#include "parse-options.h"
#include "diff.h"
#include "revision.h"

1
builtin/rm.c

@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
#include "cache-tree.h"
#include "gettext.h"
#include "tree-walk.h"
#include "object-name.h"
#include "parse-options.h"
#include "string-list.h"
#include "setup.h"

1
builtin/show-branch.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "builtin.h"
#include "color.h"
#include "strvec.h"
#include "object-name.h"
#include "parse-options.h"
#include "dir.h"
#include "commit-slab.h"

1
builtin/show-ref.c

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "gettext.h"
#include "hex.h"
#include "refs.h"
#include "object-name.h"
#include "object-store.h"
#include "object.h"
#include "tag.h"

1
builtin/sparse-checkout.c

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "dir.h"
#include "environment.h"
#include "gettext.h"
#include "object-name.h"
#include "parse-options.h"
#include "pathspec.h"
#include "repository.h"

1
builtin/stash.c

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "parse-options.h"
#include "refs.h"
#include "lockfile.h"

1
builtin/submodule--helper.c

@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
#include "revision.h"
#include "diffcore.h"
#include "diff.h"
#include "object-name.h"
#include "object-store.h"
#include "advice.h"
#include "branch.h"

1
builtin/tag.c

@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
#include "gettext.h"
#include "hex.h"
#include "refs.h"
#include "object-name.h"
#include "object-store.h"
#include "tag.h"
#include "run-command.h"

1
builtin/unpack-file.c

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#include "builtin.h"
#include "config.h"
#include "hex.h"
#include "object-name.h"
#include "object-store.h"
#include "wrapper.h"


1
builtin/update-ref.c

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#include "gettext.h"
#include "refs.h"
#include "builtin.h"
#include "object-name.h"
#include "parse-options.h"
#include "quote.h"
#include "strvec.h"

1
builtin/verify-commit.c

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
#include "config.h"
#include "builtin.h"
#include "gettext.h"
#include "object-name.h"
#include "object-store.h"
#include "repository.h"
#include "commit.h"

1
builtin/verify-tag.c

@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
#include "gettext.h"
#include "tag.h"
#include "run-command.h"
#include "object-name.h"
#include "parse-options.h"
#include "gpg-interface.h"
#include "ref-filter.h"

1
builtin/worktree.c

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "parse-options.h"
#include "strvec.h"
#include "branch.h"

110
cache.h

@ -687,24 +687,6 @@ extern int quote_path_fully; @@ -687,24 +687,6 @@ extern int quote_path_fully;
#define DATA_CHANGED 0x0020
#define TYPE_CHANGED 0x0040

/*
* Return an abbreviated sha1 unique within this repository's object database.
* The result will be at least `len` characters long, and will be NUL
* terminated.
*
* The non-`_r` version returns a static buffer which remains valid until 4
* more calls to repo_find_unique_abbrev are made.
*
* The `_r` variant writes to a buffer supplied by the caller, which must be at
* least `GIT_MAX_HEXSZ + 1` bytes. The return value is the number of bytes
* written (excluding the NUL terminator).
*
* Note that while this version avoids the static buffer, it is not fully
* reentrant, as it calls into other non-reentrant git code.
*/
const char *repo_find_unique_abbrev(struct repository *r, const struct object_id *oid, int len);
int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len);

/*
* Create the directory containing the named path, using care to be
* somewhat safe against races. Return one of the scld_error values to
@ -806,94 +788,6 @@ int finalize_object_file(const char *tmpfile, const char *filename); @@ -806,94 +788,6 @@ int finalize_object_file(const char *tmpfile, const char *filename);
/* Helper to check and "touch" a file */
int check_and_freshen_file(const char *fn, int freshen);

/* Convert to/from hex/sha1 representation */
#define MINIMUM_ABBREV minimum_abbrev
#define DEFAULT_ABBREV default_abbrev

/* used when the code does not know or care what the default abbrev is */
#define FALLBACK_DEFAULT_ABBREV 7

struct object_context {
unsigned short mode;
/*
* symlink_path is only used by get_tree_entry_follow_symlinks,
* and only for symlinks that point outside the repository.
*/
struct strbuf symlink_path;
/*
* If GET_OID_RECORD_PATH is set, this will record path (if any)
* found when resolving the name. The caller is responsible for
* releasing the memory.
*/
char *path;
};

int repo_get_oid(struct repository *r, const char *str, struct object_id *oid);
__attribute__((format (printf, 2, 3)))
int get_oidf(struct object_id *oid, const char *fmt, ...);
int repo_get_oid_commit(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_committish(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_tree(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_treeish(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_blob(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_mb(struct repository *r, const char *str, struct object_id *oid);
void maybe_die_on_misspelt_object_name(struct repository *repo,
const char *name,
const char *prefix);
enum get_oid_result get_oid_with_context(struct repository *repo, const char *str,
unsigned flags, struct object_id *oid,
struct object_context *oc);

typedef int each_abbrev_fn(const struct object_id *oid, void *);
int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *);

int set_disambiguate_hint_config(const char *var, const char *value);

/*
* This reads short-hand syntax that not only evaluates to a commit
* object name, but also can act as if the end user spelled the name
* of the branch from the command line.
*
* - "@{-N}" finds the name of the Nth previous branch we were on, and
* places the name of the branch in the given buf and returns the
* number of characters parsed if successful.
*
* - "<branch>@{upstream}" finds the name of the other ref that
* <branch> is configured to merge with (missing <branch> defaults
* to the current branch), and places the name of the branch in the
* given buf and returns the number of characters parsed if
* successful.
*
* If the input is not of the accepted format, it returns a negative
* number to signal an error.
*
* If the input was ok but there are not N branch switches in the
* reflog, it returns 0.
*/
#define INTERPRET_BRANCH_LOCAL (1<<0)
#define INTERPRET_BRANCH_REMOTE (1<<1)
#define INTERPRET_BRANCH_HEAD (1<<2)
struct interpret_branch_name_options {
/*
* If "allowed" is non-zero, it is a treated as a bitfield of allowable
* expansions: local branches ("refs/heads/"), remote branches
* ("refs/remotes/"), or "HEAD". If no "allowed" bits are set, any expansion is
* allowed, even ones to refs outside of those namespaces.
*/
unsigned allowed;

/*
* If ^{upstream} or ^{push} (or equivalent) is requested, and the
* branch in question does not have such a reference, return -1 instead
* of die()-ing.
*/
unsigned nonfatal_dangling_mark : 1;
};
int repo_interpret_branch_name(struct repository *r,
const char *str, int len,
struct strbuf *buf,
const struct interpret_branch_name_options *options);

int base_name_compare(const char *name1, size_t len1, int mode1,
const char *name2, size_t len2, int mode2);
int df_name_compare(const char *name1, size_t len1, int mode1,
@ -907,10 +801,6 @@ void *read_object_with_reference(struct repository *r, @@ -907,10 +801,6 @@ void *read_object_with_reference(struct repository *r,
unsigned long *size,
struct object_id *oid_ret);

struct object *repo_peel_to_type(struct repository *r,
const char *name, int namelen,
struct object *o, enum object_type);

const char *git_editor(void);
const char *git_sequence_editor(void);
const char *git_pager(int stdout_is_tty);

1
checkout.c

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
#include "cache.h"
#include "object-name.h"
#include "remote.h"
#include "refspec.h"
#include "checkout.h"

1
combine-diff.c

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "diffcore.h"
#include "environment.h"
#include "hex.h"
#include "object-name.h"
#include "quote.h"
#include "xdiff-interface.h"
#include "xdiff/xmacros.h"

1
commit.c

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#include "gettext.h"
#include "hex.h"
#include "repository.h"
#include "object-name.h"
#include "object-store.h"
#include "pkt-line.h"
#include "utf8.h"

1
config.c

@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
#include "quote.h"
#include "hashmap.h"
#include "string-list.h"
#include "object-name.h"
#include "object-store.h"
#include "utf8.h"
#include "dir.h"

1
diff-lib.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "diffcore.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "revision.h"
#include "cache-tree.h"
#include "unpack-trees.h"

1
diff.c

@ -35,6 +35,7 @@ @@ -35,6 +35,7 @@
#include "help.h"
#include "promisor-remote.h"
#include "dir.h"
#include "object-name.h"
#include "setup.h"
#include "strmap.h"
#include "wrapper.h"

1
fmt-merge-msg.c

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#include "config.h"
#include "environment.h"
#include "refs.h"
#include "object-name.h"
#include "object-store.h"
#include "diff.h"
#include "diff-merges.h"

1
list-objects-filter.c

@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
#include "list-objects-filter-options.h"
#include "oidmap.h"
#include "oidset.h"
#include "object-name.h"
#include "object-store.h"

/* Remember to update object flag allocation in object.h */

1
log-tree.c

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "diff.h"
#include "environment.h"
#include "hex.h"
#include "object-name.h"
#include "object-store.h"
#include "repository.h"
#include "tmp-objdir.h"

1
mailmap.c

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
#include "environment.h"
#include "string-list.h"
#include "mailmap.h"
#include "object-name.h"
#include "object-store.h"
#include "setup.h"


1
merge-ort.c

@ -32,6 +32,7 @@ @@ -32,6 +32,7 @@
#include "entry.h"
#include "ll-merge.h"
#include "mem-pool.h"
#include "object-name.h"
#include "object-store.h"
#include "oid-array.h"
#include "promisor-remote.h"

1
merge-recursive.c

@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
#include "hex.h"
#include "ll-merge.h"
#include "lockfile.h"
#include "object-name.h"
#include "object-store.h"
#include "repository.h"
#include "revision.h"

1
notes-merge.c

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#include "commit.h"
#include "gettext.h"
#include "refs.h"
#include "object-name.h"
#include "object-store.h"
#include "repository.h"
#include "diff.h"

1
notes.c

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#include "environment.h"
#include "hex.h"
#include "notes.h"
#include "object-name.h"
#include "object-store.h"
#include "blob.h"
#include "tree.h"

1
object-name.c

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
#include "cache.h"
#include "object-name.h"
#include "advice.h"
#include "config.h"
#include "environment.h"

121
object-name.h

@ -0,0 +1,121 @@ @@ -0,0 +1,121 @@
#ifndef OBJECT_NAME_H
#define OBJECT_NAME_H

#include "object.h"
#include "strbuf.h"

struct object_id;
struct repository;

struct object_context {
unsigned short mode;
/*
* symlink_path is only used by get_tree_entry_follow_symlinks,
* and only for symlinks that point outside the repository.
*/
struct strbuf symlink_path;
/*
* If GET_OID_RECORD_PATH is set, this will record path (if any)
* found when resolving the name. The caller is responsible for
* releasing the memory.
*/
char *path;
};

/*
* Return an abbreviated sha1 unique within this repository's object database.
* The result will be at least `len` characters long, and will be NUL
* terminated.
*
* The non-`_r` version returns a static buffer which remains valid until 4
* more calls to repo_find_unique_abbrev are made.
*
* The `_r` variant writes to a buffer supplied by the caller, which must be at
* least `GIT_MAX_HEXSZ + 1` bytes. The return value is the number of bytes
* written (excluding the NUL terminator).
*
* Note that while this version avoids the static buffer, it is not fully
* reentrant, as it calls into other non-reentrant git code.
*/
const char *repo_find_unique_abbrev(struct repository *r, const struct object_id *oid, int len);
int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len);

int repo_get_oid(struct repository *r, const char *str, struct object_id *oid);
__attribute__((format (printf, 2, 3)))
int get_oidf(struct object_id *oid, const char *fmt, ...);
int repo_get_oid_commit(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_committish(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_tree(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_treeish(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_blob(struct repository *r, const char *str, struct object_id *oid);
int repo_get_oid_mb(struct repository *r, const char *str, struct object_id *oid);
void maybe_die_on_misspelt_object_name(struct repository *repo,
const char *name,
const char *prefix);
enum get_oid_result get_oid_with_context(struct repository *repo, const char *str,
unsigned flags, struct object_id *oid,
struct object_context *oc);


typedef int each_abbrev_fn(const struct object_id *oid, void *);
int repo_for_each_abbrev(struct repository *r, const char *prefix, each_abbrev_fn, void *);

int set_disambiguate_hint_config(const char *var, const char *value);

/*
* This reads short-hand syntax that not only evaluates to a commit
* object name, but also can act as if the end user spelled the name
* of the branch from the command line.
*
* - "@{-N}" finds the name of the Nth previous branch we were on, and
* places the name of the branch in the given buf and returns the
* number of characters parsed if successful.
*
* - "<branch>@{upstream}" finds the name of the other ref that
* <branch> is configured to merge with (missing <branch> defaults
* to the current branch), and places the name of the branch in the
* given buf and returns the number of characters parsed if
* successful.
*
* If the input is not of the accepted format, it returns a negative
* number to signal an error.
*
* If the input was ok but there are not N branch switches in the
* reflog, it returns 0.
*/
#define INTERPRET_BRANCH_LOCAL (1<<0)
#define INTERPRET_BRANCH_REMOTE (1<<1)
#define INTERPRET_BRANCH_HEAD (1<<2)
struct interpret_branch_name_options {
/*
* If "allowed" is non-zero, it is a treated as a bitfield of allowable
* expansions: local branches ("refs/heads/"), remote branches
* ("refs/remotes/"), or "HEAD". If no "allowed" bits are set, any expansion is
* allowed, even ones to refs outside of those namespaces.
*/
unsigned allowed;

/*
* If ^{upstream} or ^{push} (or equivalent) is requested, and the
* branch in question does not have such a reference, return -1 instead
* of die()-ing.
*/
unsigned nonfatal_dangling_mark : 1;
};
int repo_interpret_branch_name(struct repository *r,
const char *str, int len,
struct strbuf *buf,
const struct interpret_branch_name_options *options);

struct object *repo_peel_to_type(struct repository *r,
const char *name, int namelen,
struct object *o, enum object_type);

/* Convert to/from hex/sha1 representation */
#define MINIMUM_ABBREV minimum_abbrev
#define DEFAULT_ABBREV default_abbrev

/* used when the code does not know or care what the default abbrev is */
#define FALLBACK_DEFAULT_ABBREV 7

#endif /* OBJECT_NAME_H */

1
parse-options-cb.c

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#include "color.h"
#include "environment.h"
#include "gettext.h"
#include "object-name.h"
#include "string-list.h"
#include "strvec.h"
#include "oid-array.h"

1
range-diff.c

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
#include "environment.h"
#include "gettext.h"
#include "range-diff.h"
#include "object-name.h"
#include "string-list.h"
#include "run-command.h"
#include "strvec.h"

1
read-cache.c

@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
#include "environment.h"
#include "gettext.h"
#include "mem-pool.h"
#include "object-name.h"
#include "resolve-undo.h"
#include "run-command.h"
#include "strbuf.h"

1
rebase-interactive.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "commit-slab.h"
#include "config.h"
#include "dir.h"
#include "object-name.h"
#include "wrapper.h"

static const char edit_todo_list_advice[] =

1
ref-filter.c

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#include "parse-options.h"
#include "refs.h"
#include "wildmatch.h"
#include "object-name.h"
#include "object-store.h"
#include "oid-array.h"
#include "repository.h"

1
refs.c

@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
#include "refs/refs-internal.h"
#include "run-command.h"
#include "hook.h"
#include "object-name.h"
#include "object-store.h"
#include "object.h"
#include "tag.h"

1
remote.c

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
#include "urlmatch.h"
#include "refs.h"
#include "refspec.h"
#include "object-name.h"
#include "object-store.h"
#include "commit.h"
#include "diff.h"

1
reset.c

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#include "gettext.h"
#include "hex.h"
#include "lockfile.h"
#include "object-name.h"
#include "refs.h"
#include "reset.h"
#include "run-command.h"

1
revision.c

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "object-store.h"
#include "tag.h"
#include "blob.h"

1
sequencer.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "hex.h"
#include "lockfile.h"
#include "dir.h"
#include "object-name.h"
#include "object-store.h"
#include "object.h"
#include "commit.h"

1
setup.c

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
#include "abspath.h"
#include "environment.h"
#include "gettext.h"
#include "object-name.h"
#include "repository.h"
#include "config.h"
#include "dir.h"

1
strbuf.c

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "refs.h"
#include "string-list.h"
#include "utf8.h"

1
submodule-config.c

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
#include "submodule-config.h"
#include "submodule.h"
#include "strbuf.h"
#include "object-name.h"
#include "object-store.h"
#include "parse-options.h"
#include "tree-walk.h"

1
submodule.c

@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
#include "remote.h"
#include "worktree.h"
#include "parse-options.h"
#include "object-name.h"
#include "object-store.h"
#include "commit-reach.h"
#include "setup.h"

1
t/helper/test-fast-rebase.c

@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
#include "hex.h"
#include "lockfile.h"
#include "merge-ort.h"
#include "object-name.h"
#include "refs.h"
#include "revision.h"
#include "sequencer.h"

1
t/helper/test-match-trees.c

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#include "test-tool.h"
#include "cache.h"
#include "hex.h"
#include "object-name.h"
#include "setup.h"
#include "tree.h"


1
t/helper/test-oidmap.c

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#include "test-tool.h"
#include "cache.h"
#include "hex.h"
#include "object-name.h"
#include "oidmap.h"
#include "setup.h"
#include "strbuf.h"

1
t/helper/test-reach.c

@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#include "config.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "parse-options.h"
#include "ref-filter.h"
#include "setup.h"

1
t/helper/test-submodule-config.c

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#include "test-tool.h"
#include "cache.h"
#include "config.h"
#include "object-name.h"
#include "setup.h"
#include "submodule-config.h"
#include "submodule.h"

1
tag.c

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
#include "cache.h"
#include "environment.h"
#include "tag.h"
#include "object-name.h"
#include "object-store.h"
#include "commit.h"
#include "tree.h"

1
transport-helper.c

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "revision.h"
#include "remote.h"
#include "string-list.h"

1
transport.c

@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
#include "trace2.h"
#include "transport-internal.h"
#include "protocol.h"
#include "object-name.h"
#include "object-store.h"
#include "color.h"
#include "bundle-uri.h"

1
tree.c

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
#include "cache-tree.h"
#include "hex.h"
#include "tree.h"
#include "object-name.h"
#include "object-store.h"
#include "blob.h"
#include "commit.h"

1
wt-status.c

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
#include "environment.h"
#include "gettext.h"
#include "hex.h"
#include "object-name.h"
#include "revision.h"
#include "diffcore.h"
#include "quote.h"

Loading…
Cancel
Save