Update to 2.19.0.rc0
This commit is contained in:
parent
394b8eec1e
commit
218c314f1f
@ -1,99 +0,0 @@
|
||||
From 5be233541a4fc2e395087fe51a30a3664165e8bc Mon Sep 17 00:00:00 2001
|
||||
From: Phillip Wood <phillip.wood@dunelm.org.uk>
|
||||
Date: Fri, 1 Jun 2018 18:46:44 +0100
|
||||
Subject: [PATCH] add -p: fix counting empty context lines in edited patches
|
||||
|
||||
recount_edited_hunk() introduced in commit 2b8ea7f3c7 ("add -p:
|
||||
calculate offset delta for edited patches", 2018-03-05) required all
|
||||
context lines to start with a space, empty lines are not counted. This
|
||||
was intended to avoid any recounting problems if the user had
|
||||
introduced empty lines at the end when editing the patch. However this
|
||||
introduced a regression into 'git add -p' as it seems it is common for
|
||||
editors to strip the trailing whitespace from empty context lines when
|
||||
patches are edited thereby introducing empty lines that should be
|
||||
counted. 'git apply' knows how to deal with such empty lines and POSIX
|
||||
states that whether or not there is an space on an empty context line
|
||||
is implementation defined [1].
|
||||
|
||||
Fix the regression by counting lines consist solely of a newline as
|
||||
well as lines starting with a space as context lines and add a test to
|
||||
prevent future regressions.
|
||||
|
||||
[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/diff.html
|
||||
|
||||
Reported-by: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
|
||||
Reported-by: Oliver Joseph Ash <oliverjash@gmail.com>
|
||||
Reported-by: Jeff Felchner <jfelchner1@gmail.com>
|
||||
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
|
||||
---
|
||||
git-add--interactive.perl | 2 +-
|
||||
t/t3701-add-interactive.sh | 43 ++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 44 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
|
||||
index c1f52e457f..befbe8c749 100755
|
||||
--- a/git-add--interactive.perl
|
||||
+++ b/git-add--interactive.perl
|
||||
@@ -1055,7 +1055,7 @@ sub recount_edited_hunk {
|
||||
$o_cnt++;
|
||||
} elsif ($mode eq '+') {
|
||||
$n_cnt++;
|
||||
- } elsif ($mode eq ' ') {
|
||||
+ } elsif ($mode eq ' ' or $_ eq "\n") {
|
||||
$o_cnt++;
|
||||
$n_cnt++;
|
||||
}
|
||||
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
|
||||
index b170fb02b8..3e9139dca8 100755
|
||||
--- a/t/t3701-add-interactive.sh
|
||||
+++ b/t/t3701-add-interactive.sh
|
||||
@@ -175,6 +175,49 @@ test_expect_success 'real edit works' '
|
||||
diff_cmp expected output
|
||||
'
|
||||
|
||||
+test_expect_success 'setup file' '
|
||||
+ test_write_lines a "" b "" c >file &&
|
||||
+ git add file &&
|
||||
+ test_write_lines a "" d "" c >file
|
||||
+'
|
||||
+
|
||||
+test_expect_success 'setup patch' '
|
||||
+ SP=" " &&
|
||||
+ NULL="" &&
|
||||
+ cat >patch <<-EOF
|
||||
+ @@ -1,4 +1,4 @@
|
||||
+ a
|
||||
+ $NULL
|
||||
+ -b
|
||||
+ +f
|
||||
+ $SP
|
||||
+ c
|
||||
+ EOF
|
||||
+'
|
||||
+
|
||||
+test_expect_success 'setup expected' '
|
||||
+ cat >expected <<-EOF
|
||||
+ diff --git a/file b/file
|
||||
+ index b5dd6c9..f910ae9 100644
|
||||
+ --- a/file
|
||||
+ +++ b/file
|
||||
+ @@ -1,5 +1,5 @@
|
||||
+ a
|
||||
+ $SP
|
||||
+ -f
|
||||
+ +d
|
||||
+ $SP
|
||||
+ c
|
||||
+ EOF
|
||||
+'
|
||||
+
|
||||
+test_expect_success 'edit can strip spaces from empty context lines' '
|
||||
+ test_write_lines e n q | git add -p 2>error &&
|
||||
+ test_must_be_empty error &&
|
||||
+ git diff >output &&
|
||||
+ diff_cmp expected output
|
||||
+'
|
||||
+
|
||||
test_expect_success 'skip files similarly as commit -a' '
|
||||
git reset &&
|
||||
echo file >.gitignore &&
|
12
git.spec
12
git.spec
@ -79,11 +79,11 @@
|
||||
%endif
|
||||
|
||||
# Define for release candidates
|
||||
#global rcrev .rc0
|
||||
%global rcrev .rc0
|
||||
|
||||
Name: git
|
||||
Version: 2.18.0
|
||||
Release: 2%{?rcrev}%{?dist}.5
|
||||
Version: 2.19.0
|
||||
Release: 0.0%{?rcrev}%{?dist}
|
||||
Summary: Fast Version Control System
|
||||
License: GPLv2
|
||||
URL: https://git-scm.com/
|
||||
@ -115,9 +115,6 @@ Source99: print-failed-test-output
|
||||
Patch0: git-1.8-gitweb-home-link.patch
|
||||
# https://bugzilla.redhat.com/490602
|
||||
Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
|
||||
# https://github.com/gitster/git/commit/f2cb01d35
|
||||
# https://public-inbox.org/git/20180601174644.13055-1-phillip.wood@talktalk.net/
|
||||
Patch2: 0001-add-p-fix-counting-empty-context-lines-in-edited-pat.patch
|
||||
|
||||
%if %{with docs}
|
||||
BuildRequires: asciidoc >= 8.4.1
|
||||
@ -876,6 +873,9 @@ make -C contrib/credential/netrc/ testverbose
|
||||
%{?with_docs:%{_pkgdocdir}/git-svn.html}
|
||||
|
||||
%changelog
|
||||
* Mon Aug 20 2018 Todd Zullinger <tmz@pobox.com> - 2.19.0-0.0
|
||||
- Update to 2.19.0.rc0
|
||||
|
||||
* Mon Aug 20 2018 Todd Zullinger <tmz@pobox.com> - 2.18.0-2.5
|
||||
- Remove git-remote-testsvn, make git-svn noarch
|
||||
- Restore fixed contrib/credential/netrc tests
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (git-2.18.0.tar.xz) = db19363c9c2042248322d49874a27c0614acfb912183725e5d4f0331d6b44cef66a9a7da6a49bd4a17e5d86d30c5fed6bef7527f386494184595a433c4060e46
|
||||
SHA512 (git-2.18.0.tar.sign) = 24826b20ce8e4e1afdb8d84b39f5914d5e29d289be31dfe9083968831294619221787e080c3a395bc105293a1184410527ac3694c465babd447791b0d019cc9b
|
||||
SHA512 (git-2.19.0.rc0.tar.xz) = 02efcf54cf7e18e11954db9cefc87b381b2364647408f263ff6e51a4ad69e3251a83090137cccaac4566464bf58feceb0ae53b051b39542b739207589c9ea418
|
||||
SHA512 (git-2.19.0.rc0.tar.sign) = d11e091a0946ceafe98bced0e09b1fce83e519602b959e1e37e3b70f07d1456bdebd9a55d3df9ad87fbf9699f47a9a95971a67c28a3510c6a2b278b715860ea8
|
||||
|
Loading…
Reference in New Issue
Block a user