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

Re: [PATCH/WIP] Repair DF conflicts during fetch.

From
Thomas Rast <tr@thomasrast.ch>
Date
Nov 29, 2013, 19:07 UTC
Message-ID
<871u1zf2nd.fsf@thomasrast.ch>
In-Reply-To
<1385747858-29343-2-git-send-email-jackerran@gmail.com>
Tom Miller <jackerran@gmail.com> writes:
Show 10 quoted lines
> When a DF conflict occurs during a fetch, --prune should be able to fix
> it. When fetching with --prune, the fetching process happens before
> pruning causing the DF conflict to persist and report an error. This
> patch prunes before fetching, thus correcting DF conflicts during a
> fetch.
>
> Signed-off-by: Tom Miller <jackerran@gmail.com>
> ---
>  builtin/fetch.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
Good catch.

I can't comment on the correctness of the patch right now, but here's a test you could steal. It just reproduces what you describe, and I did verify that it confirms the fix ;-)

diff --git i/t/t5510-fetch.sh w/t/t5510-fetch.sh
index 5d4581d..a981125 100755
--- i/t/t5510-fetch.sh
+++ w/t/t5510-fetch.sh
@@ -614,4 +614,18 @@ test_expect_success 'all boundary commits are excluded' '
 	test_bundle_object_count .git/objects/pack/pack-${pack##pack	}.pack 3
 '
 
+test_expect_success 'branchname D/F conflict resolved by --prune' '
+	git branch dir/file &&
+	git clone . prune-df-conflict &&
+	git branch -D dir/file &&
+	git branch dir &&
+	(
+		cd prune-df-conflict &&
+		git fetch --prune &&
+		git rev-parse origin/dir >../actual
+	) &&
+	git rev-parse dir >expect &&
+	test_cmp expect actual
+'
+
 test_done
-- 
Thomas Rast
tr@thomasrast.ch
Previous: Tom MillerNext: Thomas Miller
Message 3 of 4 in “Repair DF conflicts during fetch.”
  1. Repair DF conflicts during fetch.Tom Miller, Nov 29, 2013
  2. Repair DF conflicts during fetch.Tom Miller, Nov 29, 2013
  3. Thomas RastNov 29, 2013
  4. Thomas MillerDec 1, 2013

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.