Re: [PATCH 2/2] check-attr: move to the top of working tree when in non-bare repository

2014-02-16 Thread Michael Haggerty
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

2014-02-06 Thread Jonathan Nieder
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

2014-02-06 Thread Jonathan Nieder
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

2014-02-06 Thread Junio C Hamano
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