git add --patch hunk edition: Как удалить строки контекста? - PullRequest
1 голос
/ 21 июня 2019

В данный момент мне предоставляется следующая ситуация:

# Manual hunk edit mode -- see bottom for a quick guide.
@@ -10130,7 +10160,22 @@ function myGreatFunc(param1, param2

             let a = funcA(b, c);
             if(funcB(a, d.a.a) >= e) {
-                if(d.b === undefined
+                let f = c * parseInt(g.a[b].a);
+                if(h !== null
+                 && (h.a.a >= c
+                  && h.a.b === b
+                  || funcA(h.a.b, h.a.a) >= a
+                 )
+                ) f = 0;
+/*                if(b === 'a'
+                 && c === 1
+                 && d.a.name === 'b'
+                 && (d.c.a.includes('c')
+                  || d.c.a.includes('d')
+                 )
+                ) console.log('e', f);*/
+
+/*                if(d.b === undefined
                  || d.b.a > c * parseInt(g.a[b].a)
                  || d.b.a === c * parseInt(g.a[b].a)
                   && d.b.b < a

Цель состоит в том, чтобы удалить все комментарии.

Проблема здесь заключается в конце блока, который включает только начало комментария блока, а не его конец. Таким образом, он сохраняет последние 3 строки в качестве контекста, а я также хочу, чтобы они были удалены.

Попытка № 1

Сохранение исходных строк контекста, поэтому from-file-range не нуждается в изменении

# Manual hunk edit mode -- see bottom for a quick guide.
@@ -10130,7 +10160,11 @@ function myGreatFunc(param1, param2

             let a = funcA(b, c);
             if(funcB(a, d.a.a) >= e) {
-                if(d.b === undefined
+                let f = c * parseInt(g.a[b].a);
+                if(h !== null
+                 && (h.a.a >= c
+                  && h.a.b === b
+                  || funcA(h.a.b, h.a.a) >= a
+                 )
+                ) f = 0;
+
-                 || d.b.a > c * parseInt(g.a[b].a)
-                 || d.b.a === c * parseInt(g.a[b].a)
-                  && d.b.b < a

Примечание: начальный пробел для каждой из строк контекста, которые пытались удалить, был правильно заменен (в отличие от простого предварительного добавления) на -.

Попытка № 2

Удаление исходных строк контекста

# Manual hunk edit mode -- see bottom for a quick guide.
@@ -10130,4 +10160,11 @@ function myGreatFunc(param1, param2

             let a = funcA(b, c);
             if(funcB(a, d.a.a) >= e) {
-                if(d.b === undefined
+                let f = c * parseInt(g.a[b].a);
+                if(h !== null
+                 && (h.a.a >= c
+                  && h.a.b === b
+                  || funcA(h.a.b, h.a.a) >= a
+                 )
+                ) f = 0;
+

Результаты

Обе попытки были встречены:

error: patch failed: myFile.html:10130
error: myFile.html: patch does not apply
Your edited hunk does not apply. Edit again (saying "no" discards!) [y/n]?

Примечания

Использование git version 2.22.0.windows.1

Как отредактировать этот блок для достижения желаемого результата?

...