From: Junio C Hamano Date: Wed, 18 Apr 2007 23:17:28 +0000 (-0700) Subject: Merge branch 'maint' X-Git-Tag: v1.5.2-rc0~33 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/6fb8e8f401a065bdffe379764871551e37a041a0?hp=-c Merge branch 'maint' * 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 --- 6fb8e8f401a065bdffe379764871551e37a041a0 diff --combined builtin-apply.c index fd92ef7174,db52722455..94311e7af4 --- a/builtin-apply.c +++ b/builtin-apply.c @@@ -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"); }