Merge branch 'jc/nostat'
authorJunio C Hamano <junkio@cox.net>
Wed, 22 Feb 2006 06:33:21 +0000 (22:33 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 22 Feb 2006 06:33:21 +0000 (22:33 -0800)
* jc/nostat:
  cache_name_compare() compares name and stage, nothing else.
  "assume unchanged" git: documentation.
  ls-files: split "show-valid-bit" into a different option.
  "Assume unchanged" git: --really-refresh fix.
  ls-files: debugging aid for CE_VALID changes.
  "Assume unchanged" git: do not set CE_VALID with --refresh
  "Assume unchanged" git

1  2 
Documentation/git-ls-files.txt
apply.c
cache.h
diff-files.c
diff.c
ls-files.c

index 28dc533d201ad5da8ffcfd8551f6c17896bbe267,e5a92f47dd086d3db2a7248673816998311b3f12..e813f8420275f5b95810646c2a43c35f57a5ba70
@@@ -85,8 -81,12 +86,12 @@@ OPTION
        R::     removed/deleted
        C::     modified/changed
        K::     to be killed
 -      ?       other
 +      ?::     other
  
+ -v::
+       Similar to `-t`, but use lowercase letters for files
+       that are marked as 'always matching index'.
  --full-name::
        When run from a subdirectory, the command usually
        outputs paths relative to the current directory.  This
diff --cc apply.c
Simple merge
diff --cc cache.h
Simple merge
diff --cc diff-files.c
Simple merge
diff --cc diff.c
Simple merge
diff --cc ls-files.c
index 27059e204dfc9fe0445ea0623f0c252393015732,30296fd84ff6ec2575c2b25c4fdc74d47baacc53..90b289f03d987c6c90214fc12d00c30b4e28bb27
@@@ -454,9 -445,26 +455,26 @@@ static void show_ce_entry(const char *t
        if (len >= ce_namelen(ce))
                die("git-ls-files: internal error - cache entry not superset of prefix");
  
 -      if (pathspec && !match(pathspec, ce->name, len))
 +      if (pathspec && !match(pathspec, ps_matched, ce->name, len))
                return;
  
+       if (tag && *tag && show_valid_bit &&
+           (ce->ce_flags & htons(CE_VALID))) {
+               static char alttag[4];
+               memcpy(alttag, tag, 3);
+               if (isalpha(tag[0]))
+                       alttag[0] = tolower(tag[0]);
+               else if (tag[0] == '?')
+                       alttag[0] = '!';
+               else {
+                       alttag[0] = 'v';
+                       alttag[1] = tag[0];
+                       alttag[2] = ' ';
+                       alttag[3] = 0;
+               }
+               tag = alttag;
+       }
        if (!show_stage) {
                fputs(tag, stdout);
                write_name_quoted("", 0, ce->name + offset,