Re: [PATCH 2/2] check-attr: move to the top of working tree when in non-bare repository
On 02/06/2014 09:17 PM, Jonathan Nieder wrote: How do I use the only-look-at-HEAD mode from a non-bare repo? If I want attributes with respect to some other commit instead of HEAD, is there a syntax for that? The command doesn't seem to have been well thought out. I agree that it would be nice for git check-attr to handle this case. Currently, I believe that one has to resort to a temporary index file via something like ( export GIT_INDEX_FILE=$(mktemp) git read-tree HEAD git check-attr --cached ... rm $GIT_INDEX_FILE ) Michael -- Michael Haggerty mhag...@alum.mit.edu http://softwareswirl.blogspot.com/ -- 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 2/2] check-attr: move to the top of working tree when in non-bare repository
Hi, Junio C Hamano wrote: --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -94,6 +94,9 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix) struct git_attr_check *check; int cnt, i, doubledash, filei; + if (!is_bare_repository()) + setup_work_tree(); Hm. Shouldn't check-attr error out when run without a worktree and without --cached? That would mean something like diff --git i/builtin/check-attr.c w/builtin/check-attr.c index e9af7b2..c34b6ee 100644 --- i/builtin/check-attr.c +++ w/builtin/check-attr.c @@ -107,6 +107,9 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix) argc = parse_options(argc, argv, prefix, check_attr_options, check_attr_usage, PARSE_OPT_KEEP_DASHDASH); + if (!cached_attrs) + setup_work_tree(); + if (read_cache() 0) { die(invalid cache); } -- 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 2/2] check-attr: move to the top of working tree when in non-bare repository
Hi again, Jonathan Nieder wrote: Junio C Hamano wrote: +if (!is_bare_repository()) +setup_work_tree(); Hm. Shouldn't check-attr error out when run without a worktree and without --cached? That would mean something like diff --git i/builtin/check-attr.c w/builtin/check-attr.c index e9af7b2..c34b6ee 100644 --- i/builtin/check-attr.c +++ w/builtin/check-attr.c @@ -107,6 +107,9 @@ int cmd_check_attr(int argc, const char **argv, const char *prefix) argc = parse_options(argc, argv, prefix, check_attr_options, check_attr_usage, PARSE_OPT_KEEP_DASHDASH); + if (!cached_attrs) + setup_work_tree(); Someone asked in a private reply how this interacts with t0003. t0003 tries check-attr in a bare repository. The question is, is that a desirable feature, and are people relying on it? If people are relying on it, perhaps the intuitive behavior would be to make check-attr use an only-look-at-HEAD mode by default when running in a bare repo. How do I use the only-look-at-HEAD mode from a non-bare repo? If I want attributes with respect to some other commit instead of HEAD, is there a syntax for that? The command doesn't seem to have been well thought out. Hope that helps, Jonathan -- 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 2/2] check-attr: move to the top of working tree when in non-bare repository
Jonathan Nieder jrnie...@gmail.com writes: Someone asked in a private reply how this interacts with t0003. It was me mistakenly using reply not reply all. t0003 tries check-attr in a bare repository. The question is, is that a desirable feature, and are people relying on it? Running tar-tree from a public distribution point comes to mind. bootstrap-attr-stack seems to have reference to is-bare-repository to validate the attribute direction to read from the index, but I tend to think what it really wants is to read from HEAD not the index. How do I use the only-look-at-HEAD mode from a non-bare repo? Is You don't a good answer? Use of --cached when your index matches HEAD is the equivalent, and if the index differs from HEAD, you must have had a reason to add that change to .gitattributes to the index, so I think it is reasonable to honour that change. -- 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