Merge branch 'ap/clone-into-empty'
authorJunio C Hamano <gitster@pobox.com>
Sun, 18 Jan 2009 07:05:54 +0000 (23:05 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 18 Jan 2009 07:05:54 +0000 (23:05 -0800)
* ap/clone-into-empty:
Allow cloning to an existing empty directory
add is_dot_or_dotdot inline function

1  2 
builtin-fsck.c
diff --combined builtin-fsck.c
index 5c4c77adaaba36693e304c27d1f171f8e7e9f151,79b87edaf9326dee7544e04ab8d2ef3c1e82b449..aecc8280a0aedb37437ccce446f3382ccba08829
@@@ -10,6 -10,7 +10,7 @@@
  #include "tree-walk.h"
  #include "fsck.h"
  #include "parse-options.h"
+ #include "dir.h"
  
  #define REACHABLE 0x0001
  #define SEEN      0x0002
@@@ -395,19 -396,12 +396,12 @@@ static void fsck_dir(int i, char *path
        while ((de = readdir(dir)) != NULL) {
                char name[100];
                unsigned char sha1[20];
-               int len = strlen(de->d_name);
  
-               switch (len) {
-               case 2:
-                       if (de->d_name[1] != '.')
-                               break;
-               case 1:
-                       if (de->d_name[0] != '.')
-                               break;
+               if (is_dot_or_dotdot(de->d_name))
                        continue;
-               case 38:
+               if (strlen(de->d_name) == 38) {
                        sprintf(name, "%02x", i);
-                       memcpy(name+2, de->d_name, len+1);
+                       memcpy(name+2, de->d_name, 39);
                        if (get_sha1_hex(name, sha1) < 0)
                                break;
                        add_sha1_list(sha1, DIRENT_SORT_HINT(de));
@@@ -628,7 -622,7 +622,7 @@@ int cmd_fsck(int argc, const char **arg
        }
  
        heads = 0;
 -      for (i = 1; i < argc; i++) {
 +      for (i = 0; i < argc; i++) {
                const char *arg = argv[i];
                if (!get_sha1(arg, head_sha1)) {
                        struct object *obj = lookup_object(head_sha1);