summaryrefslogtreecommitdiff
path: root/attr.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-05-17 10:11:41 -0700
committerJunio C Hamano <gitster@pobox.com>2023-05-17 10:11:41 -0700
commit67a3b2b39f638872531324e03217fa58f7b9ad1e (patch)
tree5c4e9c7b9e2c0efc9c9f9e7e70fb11b104f95890 /attr.h
parent3307f7dde2ae8f5281d0782f7291a073c9b1cdc2 (diff)
parent44451a2e5eec5360378be23e2cdbd9ecee49e14e (diff)
downloadgit-67a3b2b39f638872531324e03217fa58f7b9ad1e.tar.gz
Merge branch 'jc/attr-source-tree'
"git --attr-source=<tree> cmd $args" is a new way to have any command to read attributes not from the working tree but from the given tree object. * jc/attr-source-tree: attr: teach "--attr-source=<tree>" global option to "git"
Diffstat (limited to 'attr.h')
-rw-r--r--attr.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/attr.h b/attr.h
index 9884ea2bc6..676bd17ce2 100644
--- a/attr.h
+++ b/attr.h
@@ -45,7 +45,7 @@
* const char *path;
*
* setup_check();
- * git_check_attr(&the_index, tree_oid, path, check);
+ * git_check_attr(&the_index, path, check);
* ------------
*
* - Act on `.value` member of the result, left in `check->items[]`:
@@ -120,7 +120,6 @@
#define ATTR_MAX_FILE_SIZE (100 * 1024 * 1024)
struct index_state;
-struct object_id;
/**
* An attribute is an opaque object that is identified by its name. Pass the
@@ -136,6 +135,12 @@ struct all_attrs_item;
struct attr_stack;
/*
+ * The textual object name for the tree-ish used by git_check_attr()
+ * to read attributes from (instead of from the working tree).
+ */
+void set_git_attr_source(const char *);
+
+/*
* Given a string, return the gitattribute object that
* corresponds to it.
*/
@@ -203,14 +208,14 @@ void attr_check_free(struct attr_check *check);
const char *git_attr_name(const struct git_attr *);
void git_check_attr(struct index_state *istate,
- const struct object_id *tree_oid, const char *path,
+ const char *path,
struct attr_check *check);
/*
* Retrieve all attributes that apply to the specified path.
* check holds the attributes and their values.
*/
-void git_all_attrs(struct index_state *istate, const struct object_id *tree_oid,
+void git_all_attrs(struct index_state *istate,
const char *path, struct attr_check *check);
enum git_attr_direction {