Skip to content

Address recovery failures with directory/file conflicts

Elijah Newren git 3 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest2 patches 0 repliesNew
  2. v22 patches 1 replySuperseded
  3. v12 patches 4 repliesSuperseded

Changes in v3 from the cover letter

- Backported to maint (there were some textual conflicts in t6042 due to the merging of en/merge-recursive-tests to master), because of this comment from Junio's what's cooking email:

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2t1015: demonstrate directory/file conflict recovery failurest/t1015-read-index-unmerged.sh+123 -00 replies
2/2read-cache: fix directory/file conflict handling in read_index_unmerged()read-cache.c t/t1015-read-index-unmerged.sh t/t6020-merge-df.sh +1 more+12 -140 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/2] Address recovery failures with directory/file conflicts

This patch series fixes several "recovery" commands that outright fail or do not fully recover when directory-file conflicts are present. This includes:
* git read-tree --reset HEAD
* git am --skip
* git am --abort
* git merge --abort (or git reset --merge)
* git reset --hard

Changes since v2 (full range-diff below):
- Backported to maint (there were some textual conflicts in t6042 due to the merging of en/merge-recursive-tests to master), because of this comment from Junio's what's cooking email:

"This may have to be rebased on an older maintenance track before
moving forward."

Elijah Newren (2):
t1015: demonstrate directory/file conflict recovery failures
read-cache: fix directory/file conflict handling in
read_index_unmerged()

 read-cache.c                         |  13 +--
 t/t1015-read-index-unmerged.sh       | 123 +++++++++++++++++++++++++++
 t/t6020-merge-df.sh                  |   3 -
 t/t6042-merge-rename-corner-cases.sh |   2 -
 4 files changed, 131 insertions(+), 10 deletions(-)
 create mode 100755 t/t1015-read-index-unmerged.sh

1: 4a1c9c3368 ! 1: 00f94a8b41 t1015: demonstrate directory/file conflict recovery failures
@@ -14,7 +14,6 @@

- Message-Id: <[email protected]>

diff --git a/t/t1015-read-index-unmerged.sh b/t/t1015-read-index-unmerged.sh
new file mode 100755
2: e105e8bfbd ! 2: d3b8d7edb6 read-cache: fix directory/file conflict handling in read_index_unmerged()

    @@ -59,7 +59,6 @@
     
         Signed-off-by: Elijah Newren <[email protected]>
         Signed-off-by: Junio C Hamano <[email protected]>
    -    Message-Id: <[email protected]>
     
     diff --git a/read-cache.c b/read-cache.c
     --- a/read-cache.c
    @@ -150,10 +149,18 @@
     --- a/t/t6042-merge-rename-corner-cases.sh
     +++ b/t/t6042-merge-rename-corner-cases.sh
     @@
    - 	(
    - 		cd rename-directory-1 &&
    + '
    +
    + test_expect_success 'rename/directory conflict + clean content merge' '
    +-	git reset --hard &&
    +	git reset --hard &&
    +	git clean -fdqx &&
      
    --		git reset --hard &&
    - 		git reset --hard &&
    - 		git clean -fdqx &&
    +@@
    + '
    +
    + test_expect_success 'rename/directory conflict + content merge conflict' '
    +-	git reset --hard &&
    +	git reset --hard &&
    +	git clean -fdqx &&
Signature · 1 line
2.18.0.2.gf4c50c7885