Git fork
at reftables-rust 128 lines 3.4 kB view raw
1#!/bin/sh 2# 3# Copyright (c) 2007 Johannes E. Schindelin 4# 5 6test_description='add -e basic tests' 7 8. ./test-lib.sh 9 10 11cat > file << EOF 12LO, praise of the prowess of people-kings 13of spear-armed Danes, in days long sped, 14we have heard, and what honor the athelings won! 15Oft Scyld the Scefing from squadroned foes, 16from many a tribe, the mead-bench tore, 17awing the earls. Since erst he lay 18friendless, a foundling, fate repaid him: 19for he waxed under welkin, in wealth he throve, 20till before him the folk, both far and near, 21who house by the whale-path, heard his mandate, 22gave him gifts: a good king he! 23EOF 24 25cat > second-part << EOF 26To him an heir was afterward born, 27a son in his halls, whom heaven sent 28to favor the folk, feeling their woe 29that erst they had lacked an earl for leader 30so long a while; the Lord endowed him, 31the Wielder of Wonder, with world's renown. 32EOF 33 34test_expect_success 'setup' ' 35 36 git add file && 37 test_tick && 38 git commit -m initial file 39 40' 41 42cat > expected-patch << EOF 43diff --git a/file b/file 44--- a/file 45+++ b/file 46@@ -1,11 +1,6 @@ 47-LO, praise of the prowess of people-kings 48-of spear-armed Danes, in days long sped, 49-we have heard, and what honor the athelings won! 50-Oft Scyld the Scefing from squadroned foes, 51-from many a tribe, the mead-bench tore, 52-awing the earls. Since erst he lay 53-friendless, a foundling, fate repaid him: 54-for he waxed under welkin, in wealth he throve, 55-till before him the folk, both far and near, 56-who house by the whale-path, heard his mandate, 57-gave him gifts: a good king he! 58+To him an heir was afterward born, 59+a son in his halls, whom heaven sent 60+to favor the folk, feeling their woe 61+that erst they had lacked an earl for leader 62+so long a while; the Lord endowed him, 63+the Wielder of Wonder, with world's renown. 64EOF 65 66cat > patch << EOF 67diff --git a/file b/file 68index b9834b5..ef6e94c 100644 69--- a/file 70+++ b/file 71@@ -3,1 +3,333 @@ of spear-armed Danes, in days long sped, 72 we have heard, and what honor the athelings won! 73+ 74 Oft Scyld the Scefing from squadroned foes, 75@@ -2,7 +1,5 @@ awing the earls. Since erst he lay 76 friendless, a foundling, fate repaid him: 77+ 78 for he waxed under welkin, in wealth he throve, 79EOF 80 81cat > expected << EOF 82diff --git a/file b/file 83--- a/file 84+++ b/file 85@@ -1,10 +1,12 @@ 86 LO, praise of the prowess of people-kings 87 of spear-armed Danes, in days long sped, 88 we have heard, and what honor the athelings won! 89+ 90 Oft Scyld the Scefing from squadroned foes, 91 from many a tribe, the mead-bench tore, 92 awing the earls. Since erst he lay 93 friendless, a foundling, fate repaid him: 94+ 95 for he waxed under welkin, in wealth he throve, 96 till before him the folk, both far and near, 97 who house by the whale-path, heard his mandate, 98EOF 99 100echo "#!$SHELL_PATH" >fake-editor.sh 101cat >> fake-editor.sh <<\EOF 102grep -E -v '^index' "$1" >orig-patch && 103mv -f patch "$1" 104EOF 105 106test_set_editor "$(pwd)/fake-editor.sh" 107chmod a+x fake-editor.sh 108 109test_expect_success 'add -e' ' 110 111 cp second-part file && 112 git add -e && 113 test_cmp second-part file && 114 test_cmp expected-patch orig-patch && 115 git diff --cached >actual && 116 grep -v index actual >out && 117 test_cmp expected out 118 119' 120 121test_expect_success 'add -e notices editor failure' ' 122 git reset --hard && 123 echo change >>file && 124 test_must_fail env GIT_EDITOR=false git add -e && 125 test_expect_code 1 git diff --exit-code 126' 127 128test_done