Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Wed, 18 Apr 2007 23:17:28 +0000 (16:17 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 18 Apr 2007 23:17:28 +0000 (16:17 -0700)
* maint:
git-shortlog: Fix two formatting errors in asciidoc documentation
Fix overwriting of files when applying contextually independent diffs
git-svn: don't allow globs to match regular files

1  2 
builtin-apply.c
diff --combined builtin-apply.c
index fd92ef7174dae1586921ebd34233c93b381106de,db5272245569f4080a07cdb3a2aacd2c0cbda38c..94311e7af47f856c0ecfad08bebfde83a80938a2
@@@ -30,7 -30,7 +30,7 @@@ static int unidiff_zero
  static int p_value = 1;
  static int p_value_known;
  static int check_index;
 -static int write_index;
 +static int update_index;
  static int cached;
  static int diffstat;
  static int numstat;
@@@ -2308,7 -2308,7 +2308,7 @@@ static void patch_stats(struct patch *p
  
  static void remove_file(struct patch *patch, int rmdir_empty)
  {
 -      if (write_index) {
 +      if (update_index) {
                if (remove_file_from_cache(patch->old_name) < 0)
                        die("unable to remove %s from index", patch->old_name);
                cache_tree_invalidate_path(active_cache_tree, patch->old_name);
@@@ -2335,7 -2335,7 +2335,7 @@@ static void add_index_file(const char *
        int namelen = strlen(path);
        unsigned ce_size = cache_entry_size(namelen);
  
 -      if (!write_index)
 +      if (!update_index)
                return;
  
        ce = xcalloc(1, ce_size);
@@@ -2416,8 -2416,7 +2416,7 @@@ static void create_one_file(char *path
                 * used to be.
                 */
                struct stat st;
-               errno = 0;
-               if (!lstat(path, &st) && S_ISDIR(st.st_mode) && !rmdir(path))
+               if (!lstat(path, &st) && (!S_ISDIR(st.st_mode) || !rmdir(path)))
                        errno = EEXIST;
        }
  
@@@ -2662,10 -2661,10 +2661,10 @@@ static int apply_patch(int fd, const ch
        if (whitespace_error && (new_whitespace == error_on_whitespace))
                apply = 0;
  
 -      write_index = check_index && apply;
 -      if (write_index && newfd < 0)
 -              newfd = hold_lock_file_for_update(&lock_file,
 -                                                get_index_file(), 1);
 +      update_index = check_index && apply;
 +      if (update_index && newfd < 0)
 +              newfd = hold_locked_index(&lock_file, 1);
 +
        if (check_index) {
                if (read_cache() < 0)
                        die("unable to read index file");
@@@ -2870,9 -2869,9 +2869,9 @@@ int cmd_apply(int argc, const char **ar
                                whitespace_error == 1 ? "s" : "");
        }
  
 -      if (write_index) {
 +      if (update_index) {
                if (write_cache(newfd, active_cache, active_nr) ||
 -                  close(newfd) || commit_lock_file(&lock_file))
 +                  close(newfd) || commit_locked_index(&lock_file))
                        die("Unable to write new index file");
        }