Merge branch 'jc/nostat'
authorJunio C Hamano <junkio@cox.net>
Thu, 9 Feb 2006 08:55:45 +0000 (00:55 -0800)
committerJunio C Hamano <junkio@cox.net>
Thu, 9 Feb 2006 08:55:45 +0000 (00:55 -0800)
* jc/nostat:
  "Assume unchanged" git: --really-refresh fix.

ident.c
ls-files.c
t/t6000lib.sh

diff --git a/ident.c b/ident.c
index 0461b8b..23b8cfc 100644 (file)
--- a/ident.c
+++ b/ident.c
@@ -167,6 +167,11 @@ static const char *get_ident(const char *name, const char *email,
                name = git_default_name;
        if (!email)
                email = git_default_email;
+
+       if (!*name || !*email)
+               die("empty ident %s <%s> not allowed",
+                   name, email);
+
        strcpy(date, git_default_date);
        if (date_str)
                parse_date(date_str, date, sizeof(date));
index 3f06ece..1c8ab73 100644 (file)
@@ -490,8 +490,28 @@ static void show_files(void)
                const char *path = ".", *base = "";
                int baselen = prefix_len;
 
-               if (baselen)
+               if (baselen) {
                        path = base = prefix;
+                       if (exclude_per_dir) {
+                               char *p, *pp = xmalloc(baselen+1);
+                               memcpy(pp, prefix, baselen+1);
+                               p = pp;
+                               while (1) {
+                                       char save = *p;
+                                       *p = 0;
+                                       push_exclude_per_directory(pp, p-pp);
+                                       *p++ = save;
+                                       if (!save)
+                                               break;
+                                       p = strchr(p, '/');
+                                       if (p)
+                                               p++;
+                                       else
+                                               p = pp + baselen;
+                               }
+                               free(pp);
+                       }
+               }
                read_directory(path, base, baselen);
                qsort(dir, nr_dir, sizeof(struct nond_on_fs *), cmp_name);
                if (show_others)
index 01f796e..c6752af 100755 (executable)
@@ -51,7 +51,12 @@ as_author()
 
        export GIT_AUTHOR_EMAIL="$_author"
        "$@"
-        export GIT_AUTHOR_EMAIL="$_save"
+       if test -z "$_save"
+       then
+               unset GIT_AUTHOR_EMAIL
+       else
+               export GIT_AUTHOR_EMAIL="$_save"
+       fi
 }
 
 commit_date()