[PATCH 5/3] archive: rename attribute specfile to export-subst
From: René Scharfe <hidden>
Date: 2016-06-15 22:43:33
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Possibly related (same subject, not in this thread)
- 2016-06-15 · Re: [PATCH 5/3] archive: rename attribute specfile to export-subst · Junio C Hamano <hidden>
- 2016-06-15 · Re: [PATCH 5/3] archive: rename attribute specfile to export-subst · Johannes Schindelin <hidden>
Junio C Hamano schrieb:
René Scharfe [off-list ref] writes:quoted
quoted
Maybe we should not so much name it by purpose, but by function. How about "substformat" for the attribute name, and replacing any $Format:blablub$ inside those files with something a la --pretty=format:blablub?I like the $Format:...$ notation. How about naming the attribute "template", as that's what a thus marked file is?Sounds good, although I suspect "template" might confuse newbies that checkout may apply the substitution as well. How about something with "export" in it? export-subst, perhaps?
Well, including "export" in the name makes sense, yes. I can't come up with a better name, let's take this.
--- snip! ---As suggested by Junio and Johannes, change the name of the former attribute specfile to export-subst to indicate its function rather than purpose and to make clear that it is not applied to working tree files. Signed-off-by: Rene Scharfe <redacted> --- Documentation/gitattributes.txt | 6 +++--- builtin-archive.c | 14 +++++++------- t/t5000-tar-tree.sh | 18 +++++++++--------- 3 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 37b3be8..d0e951e 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt@@ -424,10 +424,10 @@ frotz unspecified Creating an archive ~~~~~~~~~~~~~~~~~~~ -`specfile` -^^^^^^^^^^ +`export-subst` +^^^^^^^^^^^^^^ -If the attribute `specfile` is set for a file then git will expand +If the attribute `export-subst` is set for a file then git will expand several placeholders when adding this file to an archive. The expansion depends on the availability of a commit ID, i.e. if gitlink:git-archive[1] has been given a tree instead of a commit or a
diff --git a/builtin-archive.c b/builtin-archive.c
index a8a0f01..af14837 100644
--- a/builtin-archive.c
+++ b/builtin-archive.c@@ -81,8 +81,8 @@ static int run_remote_archiver(const char *remote, int argc, return !!rv; } -static void *format_specfile(const struct commit *commit, const char *format, - unsigned long *sizep) +static void *format_subst(const struct commit *commit, const char *format, + unsigned long *sizep) { unsigned long len = *sizep, result_len = 0; const char *a = format;
@@ -131,22 +131,22 @@ static void *convert_to_archive(const char *path, const void *src, unsigned long *sizep, const struct commit *commit) { - static struct git_attr *attr_specfile; + static struct git_attr *attr_export_subst; struct git_attr_check check[1]; if (!commit) return NULL; - if (!attr_specfile) - attr_specfile = git_attr("specfile", 8); + if (!attr_export_subst) + attr_export_subst = git_attr("export-subst", 12); - check[0].attr = attr_specfile; + check[0].attr = attr_export_subst; if (git_checkattr(path, ARRAY_SIZE(check), check)) return NULL; if (!ATTR_TRUE(check[0].value)) return NULL; - return format_specfile(commit, src, sizep); + return format_subst(commit, src, sizep); } void *sha1_file_to_archive(const char *path, const unsigned char *sha1,
diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh
index 6e89e07..42e28ab 100755
--- a/t/t5000-tar-tree.sh
+++ b/t/t5000-tar-tree.sh@@ -28,7 +28,7 @@ commit id embedding: TAR=${TAR:-tar} UNZIP=${UNZIP:-unzip} -SPECFILEFORMAT=%H%n +SUBSTFORMAT=%H%n test_expect_success \ 'populate workdir' \
@@ -36,7 +36,7 @@ test_expect_success \ echo simple textfile >a/a && mkdir a/bin && cp /bin/sh a/bin && - printf "A\$Format:%s\$O" "$SPECFILEFORMAT" >a/specfile && + printf "A\$Format:%s\$O" "$SUBSTFORMAT" >a/substfile && ln -s a a/l1 && (p=long_path_to_a_file && cd a && for depth in 1 2 3 4 5; do mkdir $p && cd $p; done &&
@@ -108,20 +108,20 @@ test_expect_success \ 'diff -r a c/prefix/a' test_expect_success \ - 'create an archive with a specfile' \ - 'echo specfile specfile >a/.gitattributes && + 'create an archive with a substfile' \ + 'echo substfile export-subst >a/.gitattributes && git archive HEAD >f.tar && rm a/.gitattributes' test_expect_success \ - 'extract specfile' \ + 'extract substfile' \ '(mkdir f && cd f && $TAR xf -) <f.tar' test_expect_success \ - 'validate specfile contents' \ - 'git log --max-count=1 "--pretty=format:A${SPECFILEFORMAT}O" HEAD \ - >f/a/specfile.expected && - diff f/a/specfile.expected f/a/specfile' + 'validate substfile contents' \ + 'git log --max-count=1 "--pretty=format:A${SUBSTFORMAT}O" HEAD \ + >f/a/substfile.expected && + diff f/a/substfile.expected f/a/substfile' test_expect_success \ 'git archive --format=zip' \