All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Various updates to make core.ignorecase=true work better
@ 2010-05-21  4:50 Joshua Jensen
  2010-05-21  4:50 ` [PATCH 1/7] Add string comparison functions that respect the ignore_case variable Joshua Jensen
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Joshua Jensen @ 2010-05-21  4:50 UTC (permalink / raw)
  To: git; +Cc: Joshua Jensen

This is a follow up patch to one I posted mid last year specifically for 
making .gitignore entries be processed in a case insensitive manner. I 
have used the patch with success since then, but I was unable to make 
the updates requested by list members. 

Over the past month, I have been able to clean up the code and extend 
the core.ignorecase=true support to better handle git status, ls-files, 
log, add, and fast-import. 

git status and add both use an update made to name-hash.c where 
directories, specifically names with a trailing slash, can be looked up 
in a case insensitive manner. After trying a myriad of solutions, this 
seemed to be the cleanest. Does anyone see a problem with embedding the 
directory names in the same hash as the file names? I couldn't find one, 
especially since I append a slash to each directory name. 

The new directory_exists_in_index_icase() duplicates some of the 
functionality in directory_exists_in_index(). I don't understand some of 
the functionality I just mindlessly cloned. Can anyone clue me in on 
what directory_exists_in_index() achieves in the case of S_ISGITLINK()? 

Updating match_one() bought case insensitive matching support for git 
ls-files? Are there other side effects I haven't found yet? 

The git add path case folding functionality is a somewhat radical 
departure from what Git does now. It is described in detail in patch 6. 
Does anyone have any concerns? 


Joshua Jensen (7):
  Add string comparison functions that respect the ignore_case
    variable.
  Case insensitivity support for .gitignore via core.ignorecase
  Add case insensitivity support for directories when using git status
  Add case insensitivity support when using git ls-files
  Add support for case insensitive directory and file lookups to git
    log
  Support case folding for git add when core.ignorecase=true
  Support case folding in git fast-import when core.ignorecase=true

 dir.c         |  110 +++++++++++++++++++++++++++++++++++++++++++++++----------
 dir.h         |    5 +++
 fast-import.c |    3 +-
 name-hash.c   |   44 ++++++++++++++++++++++-
 read-cache.c  |   16 ++++++++
 tree-diff.c   |    9 +++--
 6 files changed, 162 insertions(+), 25 deletions(-)

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

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

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-21  4:50 [PATCH 0/7] Various updates to make core.ignorecase=true work better Joshua Jensen
2010-05-21  4:50 ` [PATCH 1/7] Add string comparison functions that respect the ignore_case variable Joshua Jensen
2010-05-21  4:50 ` [PATCH 2/7] Case insensitivity support for .gitignore via core.ignorecase Joshua Jensen
2010-05-21  4:50 ` [PATCH 3/7] Add case insensitivity support for directories when using git status Joshua Jensen
2010-05-21  4:50 ` [PATCH 4/7] Add case insensitivity support when using git ls-files Joshua Jensen
2010-05-21  4:50 ` [PATCH 5/7] Add support for case insensitive directory and file lookups to git log Joshua Jensen
2010-05-21  4:50 ` [PATCH 6/7] Support case folding for git add when core.ignorecase=true Joshua Jensen
2010-05-21  4:50 ` [PATCH 7/7] Support case folding in git fast-import " Joshua Jensen
2010-05-26 18:26 ` [PATCH 0/7] Various updates to make core.ignorecase=true work better Joshua Jensen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.