git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 09/19] apply: move check_to_create_blob() closer to its sole caller

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 10, 2012, 07:04 UTC
Message-ID
<1341903852-4815-10-git-send-email-gitster@pobox.com>
In-Reply-To
<1341903852-4815-1-git-send-email-gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin/apply.c | 46 +++++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/builtin/apply.c b/builtin/apply.c
index ee1a960..cd25e63 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -3159,29 +3159,6 @@ static int apply_data(struct patch *patch, struct stat *st, struct cache_entry *
 	return 0;
 }
 
-static int check_to_create_blob(const char *new_name, int ok_if_exists)
-{
-	struct stat nst;
-	if (!lstat(new_name, &nst)) {
-		if (S_ISDIR(nst.st_mode) || ok_if_exists)
-			return 0;
-		/*
-		 * A leading component of new_name might be a symlink
-		 * that is going to be removed with this patch, but
-		 * still pointing at somewhere that has the path.
-		 * In such a case, path "new_name" does not exist as
-		 * far as git is concerned.
-		 */
-		if (has_symlink_leading_path(new_name, strlen(new_name)))
-			return 0;
-
-		return error(_("%s: already exists in working directory"), new_name);
-	}
-	else if ((errno != ENOENT) && (errno != ENOTDIR))
-		return error("%s: %s", new_name, strerror(errno));
-	return 0;
-}
-
 static int verify_index_match(struct cache_entry *ce, struct stat *st)
 {
 	if (S_ISGITLINK(ce->ce_mode)) {
@@ -3272,6 +3249,29 @@ static int check_preimage(struct patch *patch, struct cache_entry **ce, struct s
 	return 0;
 }
 
+static int check_to_create_blob(const char *new_name, int ok_if_exists)
+{
+	struct stat nst;
+	if (!lstat(new_name, &nst)) {
+		if (S_ISDIR(nst.st_mode) || ok_if_exists)
+			return 0;
+		/*
+		 * A leading component of new_name might be a symlink
+		 * that is going to be removed with this patch, but
+		 * still pointing at somewhere that has the path.
+		 * In such a case, path "new_name" does not exist as
+		 * far as git is concerned.
+		 */
+		if (has_symlink_leading_path(new_name, strlen(new_name)))
+			return 0;
+
+		return error(_("%s: already exists in working directory"), new_name);
+	}
+	else if ((errno != ENOENT) && (errno != ENOTDIR))
+		return error("%s: %s", new_name, strerror(errno));
+	return 0;
+}
+
 /*
  * Check and apply the patch in-core; leave the result in patch->result
  * for the caller to write it out to the final destination.
-- 
1.7.11.1.294.g68a9409
Previous: Junio C HamanoNext: Junio C Hamano
Message 10 of 20 in “"git apply --3way"”
  1. 00/19 "git apply --3way"Junio C Hamano, Jul 10, 2012
  2. 01/19 apply: fix an incomplete comment in check_patch()Junio C Hamano, Jul 10, 2012
  3. 02/19 apply: a bit more comments on PATH_TO_BE_DELETEDJunio C Hamano, Jul 10, 2012
  4. 03/19 apply: clear_image() clears things a bit moreJunio C Hamano, Jul 10, 2012
  5. 04/19 apply: refactor read_file_or_gitlink()Junio C Hamano, Jul 10, 2012
  6. 05/19 apply: factor out checkout_target() helper functionJunio C Hamano, Jul 10, 2012
  7. 06/19 apply: split load_preimage() helper function outJunio C Hamano, Jul 10, 2012
  8. 07/19 apply: refactor "previous patch" logicJunio C Hamano, Jul 10, 2012
  9. 08/19 apply: further split load_preimage()Junio C Hamano, Jul 10, 2012
  10. 09/19 apply: move check_to_create_blob() closer to its sole callerJunio C Hamano, Jul 10, 2012
  11. 10/19 apply: move "already exists" logic to check_to_create()Junio C Hamano, Jul 10, 2012
  12. 11/19 apply: accept -3/--3way command line optionJunio C Hamano, Jul 10, 2012
  13. 12/19 apply: fall back on three-way mergeJunio C Hamano, Jul 10, 2012
  14. 13/19 apply: plug the three-way merge logic inJunio C Hamano, Jul 10, 2012
  15. 14/19 apply: move verify_index_match() higherJunio C Hamano, Jul 10, 2012
  16. 15/19 apply: --3way with add/add conflictJunio C Hamano, Jul 10, 2012
  17. 16/19 apply: register conflicted stages to the indexJunio C Hamano, Jul 10, 2012
  18. 17/19 apply: allow rerere() to work on --3way resultsJunio C Hamano, Jul 10, 2012
  19. 18/19 apply: document --3way optionJunio C Hamano, Jul 10, 2012
  20. 19/19 apply: tests for the --3way optionJunio C Hamano, Jul 10, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.