The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* gitignore broken in git 1.7.0.1: slash checks leading dirs
@ 2010-03-05  8:55 Jiri Slaby
  2010-03-05  9:05 ` Johannes Sixt
  0 siblings, 1 reply; 13+ messages in thread
From: Jiri Slaby @ 2010-03-05  8:55 UTC (permalink / raw)
  To: git; +Cc: LKML

Hi,

having 'linux' line in .gitignore makes 'include/linux/vga_switcheroo.h'
to be ignored though the documentation says:
***
If the pattern does not contain a slash /, git treats it as a shell
glob pattern and checks for a match against the pathname without
leading directories.
***

$ touch test
$ touch include/linux/vga_asdads.h
$ git ls-files -o --exclude-from=test
include/linux/vga_asdads.h
test
$ echo linux >test
$ git ls-files -o --exclude-from=test
test

This does not happen with git 1.6.

thanks,
-- 
js

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gitignore broken in git 1.7.0.1: slash checks leading dirs
  2010-03-05  8:55 gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
@ 2010-03-05  9:05 ` Johannes Sixt
  2010-03-05  9:07   ` Jiri Slaby
  2010-03-05 17:01   ` Junio C Hamano
  0 siblings, 2 replies; 13+ messages in thread
From: Johannes Sixt @ 2010-03-05  9:05 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: git, LKML

Jiri Slaby schrieb:
> having 'linux' line in .gitignore makes 'include/linux/vga_switcheroo.h'
> to be ignored

That's the behavior that I would expect.

> though the documentation says:
> ***
> If the pattern does not contain a slash /, git treats it as a shell
> glob pattern and checks for a match against the pathname without
> leading directories.
> ***

and this citation confirms my expectation. Note that it says "pathname",
not "filename". 'include/linux' is a "pathname".

-- Hannes


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gitignore broken in git 1.7.0.1: slash checks leading dirs
  2010-03-05  9:05 ` Johannes Sixt
@ 2010-03-05  9:07   ` Jiri Slaby
  2010-03-05  9:16     ` Johannes Sixt
  2010-03-05 17:01   ` Junio C Hamano
  1 sibling, 1 reply; 13+ messages in thread
From: Jiri Slaby @ 2010-03-05  9:07 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: git, LKML

On 03/05/2010 10:05 AM, Johannes Sixt wrote:
> Jiri Slaby schrieb:
>> having 'linux' line in .gitignore makes 'include/linux/vga_switcheroo.h'
>> to be ignored
> 
> That's the behavior that I would expect.
> 
>> though the documentation says:
>> ***
>> If the pattern does not contain a slash /, git treats it as a shell
>> glob pattern and checks for a match against the pathname without
>> leading directories.
>> ***
> 
> and this citation confirms my expectation. Note that it says "pathname",
> not "filename". 'include/linux' is a "pathname".

What are 'leading directories' then?

-- 
js

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gitignore broken in git 1.7.0.1: slash checks leading dirs
  2010-03-05  9:07   ` Jiri Slaby
@ 2010-03-05  9:16     ` Johannes Sixt
  2010-03-05  9:20       ` [PATCH 1/1] gitignore: do not ignore include/linux/ Jiri Slaby
  2010-03-05  9:29       ` gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
  0 siblings, 2 replies; 13+ messages in thread
From: Johannes Sixt @ 2010-03-05  9:16 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: git, LKML

Jiri Slaby schrieb:
> On 03/05/2010 10:05 AM, Johannes Sixt wrote:
>> Jiri Slaby schrieb:
>>> ***
>>> If the pattern does not contain a slash /, git treats it as a shell
>>> glob pattern and checks for a match against the pathname without
>>> leading directories.
>>> ***
>> and this citation confirms my expectation. Note that it says "pathname",
>> not "filename". 'include/linux' is a "pathname".
> 
> What are 'leading directories' then?

'include/' is the leading directory of 'include/linux'.

The cited sentence says that the particular check considers only the last
path component of the pathname.

-- Hannes


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-05  9:16     ` Johannes Sixt
@ 2010-03-05  9:20       ` Jiri Slaby
  2010-03-05 10:43         ` Jakub Narebski
  2010-03-08  2:08         ` Américo Wang
  2010-03-05  9:29       ` gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
  1 sibling, 2 replies; 13+ messages in thread
From: Jiri Slaby @ 2010-03-05  9:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: git, linux-kernel, jirislaby, Johannes Sixt

linux entry in .gitignore means that everything in include/linux/
gets ignored with git 1.7.

Prepend a slash to entries which are toplevel to avoid that

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Johannes Sixt <j.sixt@viscovery.net>
---
 .gitignore |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/.gitignore b/.gitignore
index efab0eb..fe6ebb9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,16 +34,16 @@ modules.builtin
 #
 # Top-level generic files
 #
-tags
-TAGS
-linux
-vmlinux
-vmlinuz
-System.map
-Module.markers
-Module.symvers
-!.gitignore
-!.mailmap
+/tags
+/TAGS
+/linux
+/vmlinux
+/vmlinuz
+/System.map
+/Module.markers
+/Module.symvers
+!/.gitignore
+!/.mailmap
 
 #
 # Generated include files
-- 
1.7.0.1



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: gitignore broken in git 1.7.0.1: slash checks leading dirs
  2010-03-05  9:16     ` Johannes Sixt
  2010-03-05  9:20       ` [PATCH 1/1] gitignore: do not ignore include/linux/ Jiri Slaby
@ 2010-03-05  9:29       ` Jiri Slaby
  1 sibling, 0 replies; 13+ messages in thread
From: Jiri Slaby @ 2010-03-05  9:29 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: git, LKML

On 03/05/2010 10:16 AM, Johannes Sixt wrote:
> The cited sentence says that the particular check considers only the last
> path component of the pathname.

Thinking about it, there is no way to specify a *filename* no matter
where it lies? I.e. patterns such as *.o matches also a/b/test.o/test.c?
Am I missing something?

-- 
js

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-05  9:20       ` [PATCH 1/1] gitignore: do not ignore include/linux/ Jiri Slaby
@ 2010-03-05 10:43         ` Jakub Narebski
  2010-03-05 15:19           ` Jiri Slaby
  2010-03-08  2:08         ` Américo Wang
  1 sibling, 1 reply; 13+ messages in thread
From: Jakub Narebski @ 2010-03-05 10:43 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Andrew Morton, git, linux-kernel, jirislaby, Johannes Sixt

Jiri Slaby <jslaby@suse.cz> writes:

> linux entry in .gitignore means that everything in include/linux/
> gets ignored with git 1.7.
> 
> Prepend a slash to entries which are toplevel to avoid that
> 
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> Cc: Johannes Sixt <j.sixt@viscovery.net>
> ---
>  .gitignore |   20 ++++++++++----------
>  1 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/.gitignore b/.gitignore
> index efab0eb..fe6ebb9 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -34,16 +34,16 @@ modules.builtin
>  #
>  # Top-level generic files
>  #
> -tags
> -TAGS
> -linux
> -vmlinux
> -vmlinuz
> -System.map
> -Module.markers
> -Module.symvers
> -!.gitignore
> -!.mailmap
> +/tags
> +/TAGS
> +/linux
> +/vmlinux
> +/vmlinuz
> +/System.map
> +/Module.markers
> +/Module.symvers
> +!/.gitignore
> +!/.mailmap
>  
>  #
>  # Generated include files

Actually you want to *not ignore* .gitignore and .mailmap (and
.gitattributes which is missing here) anywhere, not only as top-level
file.  So .gitignore and .mailmap should not be prepended with slash.

   #
   # Top-level generic files
   #
  -tags
  -TAGS
  -linux
  -vmlinux
  -vmlinuz
  -System.map
  -Module.markers
  -Module.symvers
  +/tags
  +/TAGS
  +/linux
  +/vmlinux
  +/vmlinuz
  +/System.map
  +/Module.markers
  +/Module.symvers
   !.gitignore
   !.mailmap


-- 
Jakub Narebski
Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-05 10:43         ` Jakub Narebski
@ 2010-03-05 15:19           ` Jiri Slaby
  2010-03-10 10:07             ` David Rientjes
  0 siblings, 1 reply; 13+ messages in thread
From: Jiri Slaby @ 2010-03-05 15:19 UTC (permalink / raw)
  To: Jakub Narebski
  Cc: Jiri Slaby, Andrew Morton, git, linux-kernel, Johannes Sixt

On 03/05/2010 11:43 AM, Jakub Narebski wrote:
>> +!/.gitignore
>> +!/.mailmap
> 
> Actually you want to *not ignore* .gitignore and .mailmap (and
> .gitattributes which is missing here) anywhere, not only as top-level
> file.  So .gitignore and .mailmap should not be prepended with slash.

<and moved out of the 'Top-level generic files' section then>

-- 
js

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gitignore broken in git 1.7.0.1: slash checks leading dirs
  2010-03-05  9:05 ` Johannes Sixt
  2010-03-05  9:07   ` Jiri Slaby
@ 2010-03-05 17:01   ` Junio C Hamano
  1 sibling, 0 replies; 13+ messages in thread
From: Junio C Hamano @ 2010-03-05 17:01 UTC (permalink / raw)
  To: Johannes Sixt; +Cc: Jiri Slaby, git, LKML

Johannes Sixt <j.sixt@viscovery.net> writes:

> Jiri Slaby schrieb:
>> having 'linux' line in .gitignore makes 'include/linux/vga_switcheroo.h'
>> to be ignored
>
> That's the behavior that I would expect.

Also the initial report made it sound as if there were a regression, but
it doesn't seem to be the case; I don't see it behaving any differently
among 1.7.0, 1.7.0.1, 1.6.0, 1.6.6, or even 1.5.4.





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-05  9:20       ` [PATCH 1/1] gitignore: do not ignore include/linux/ Jiri Slaby
  2010-03-05 10:43         ` Jakub Narebski
@ 2010-03-08  2:08         ` Américo Wang
  1 sibling, 0 replies; 13+ messages in thread
From: Américo Wang @ 2010-03-08  2:08 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Andrew Morton, git, linux-kernel, jirislaby, Johannes Sixt

On Fri, Mar 5, 2010 at 5:20 PM, Jiri Slaby <jslaby@suse.cz> wrote:
> linux entry in .gitignore means that everything in include/linux/
> gets ignored with git 1.7.
>
> Prepend a slash to entries which are toplevel to avoid that

New change in git 1.7?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-05 15:19           ` Jiri Slaby
@ 2010-03-10 10:07             ` David Rientjes
  2010-03-10 10:11               ` Américo Wang
  0 siblings, 1 reply; 13+ messages in thread
From: David Rientjes @ 2010-03-10 10:07 UTC (permalink / raw)
  To: Linus Torvalds, Jiri Slaby
  Cc: Jakub Narebski, Jiri Slaby, Andrew Morton, git, linux-kernel,
	Johannes Sixt

On Fri, 5 Mar 2010, Jiri Slaby wrote:

> On 03/05/2010 11:43 AM, Jakub Narebski wrote:
> >> +!/.gitignore
> >> +!/.mailmap
> > 
> > Actually you want to *not ignore* .gitignore and .mailmap (and
> > .gitattributes which is missing here) anywhere, not only as top-level
> > file.  So .gitignore and .mailmap should not be prepended with slash.
> 
> <and moved out of the 'Top-level generic files' section then>
> 

Please either revert 3b2a8c8f3c65 or merge the fixed up patch for 
2.6.34-rc2, otherwise include/linux will continue to be ignored by git 
just like it is for 2.6.34-rc1.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-10 10:07             ` David Rientjes
@ 2010-03-10 10:11               ` Américo Wang
  2010-03-10 10:25                 ` David Rientjes
  0 siblings, 1 reply; 13+ messages in thread
From: Américo Wang @ 2010-03-10 10:11 UTC (permalink / raw)
  To: David Rientjes
  Cc: Linus Torvalds, Jiri Slaby, Jakub Narebski, Jiri Slaby,
	Andrew Morton, git, linux-kernel, Johannes Sixt

On Wed, Mar 10, 2010 at 6:07 PM, David Rientjes <rientjes@google.com> wrote:
> On Fri, 5 Mar 2010, Jiri Slaby wrote:
>
>> On 03/05/2010 11:43 AM, Jakub Narebski wrote:
>> >> +!/.gitignore
>> >> +!/.mailmap
>> >
>> > Actually you want to *not ignore* .gitignore and .mailmap (and
>> > .gitattributes which is missing here) anywhere, not only as top-level
>> > file.  So .gitignore and .mailmap should not be prepended with slash.
>>
>> <and moved out of the 'Top-level generic files' section then>
>>
>
> Please either revert 3b2a8c8f3c65 or merge the fixed up patch for
> 2.6.34-rc2, otherwise include/linux will continue to be ignored by git
> just like it is for 2.6.34-rc1.

Why not apply the patch from Jiri? Since this problem is introduced
by new version of git, not that commit.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/1] gitignore: do not ignore include/linux/
  2010-03-10 10:11               ` Américo Wang
@ 2010-03-10 10:25                 ` David Rientjes
  0 siblings, 0 replies; 13+ messages in thread
From: David Rientjes @ 2010-03-10 10:25 UTC (permalink / raw)
  To: Américo Wang
  Cc: Linus Torvalds, Jiri Slaby, Jakub Narebski, Jiri Slaby,
	Andrew Morton, git, linux-kernel, Johannes Sixt

[-- Attachment #1: Type: TEXT/PLAIN, Size: 940 bytes --]

On Wed, 10 Mar 2010, Américo Wang wrote:

> >> >> +!/.gitignore
> >> >> +!/.mailmap
> >> >
> >> > Actually you want to *not ignore* .gitignore and .mailmap (and
> >> > .gitattributes which is missing here) anywhere, not only as top-level
> >> > file.  So .gitignore and .mailmap should not be prepended with slash.
> >>
> >> <and moved out of the 'Top-level generic files' section then>
> >>
> >
> > Please either revert 3b2a8c8f3c65 or merge the fixed up patch for
> > 2.6.34-rc2, otherwise include/linux will continue to be ignored by git
> > just like it is for 2.6.34-rc1.
> 
> Why not apply the patch from Jiri? Since this problem is introduced
> by new version of git, not that commit.
> 

Like I said, please either revert the commit that added "linux" to 
.gitignore or merge Jiri's patch.  I'm not interested in engaging in a 
discussion about what can or cannot be merged during rc cycles, I just 
hope this is resolved for rc2.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-03-10 10:26 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-05  8:55 gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
2010-03-05  9:05 ` Johannes Sixt
2010-03-05  9:07   ` Jiri Slaby
2010-03-05  9:16     ` Johannes Sixt
2010-03-05  9:20       ` [PATCH 1/1] gitignore: do not ignore include/linux/ Jiri Slaby
2010-03-05 10:43         ` Jakub Narebski
2010-03-05 15:19           ` Jiri Slaby
2010-03-10 10:07             ` David Rientjes
2010-03-10 10:11               ` Américo Wang
2010-03-10 10:25                 ` David Rientjes
2010-03-08  2:08         ` Américo Wang
2010-03-05  9:29       ` gitignore broken in git 1.7.0.1: slash checks leading dirs Jiri Slaby
2010-03-05 17:01   ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox