Skip to content

Commit a603d94

Browse files
committed
Merge branch 'master' of git://git.kernel.org/pub/scm/git/git
2 parents 94328ce + 2d08f3d commit a603d94

24 files changed

+158
-64
lines changed

Documentation/RelNotes/2.21.0.txt

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ UI, Workflows & Features
2626
the fast-export side has been made.
2727

2828
* "git push $there $src:$dst" rejects when $dst is not a fully
29-
qualified refname and not clear what the end user meant. The
29+
qualified refname and it is not clear what the end user meant. The
3030
codepath has been taught to give a clearer error message, and also
3131
guess where the push should go by taking the type of the pushed
3232
object into account (e.g. a tag object would want to go under
@@ -77,9 +77,9 @@ UI, Workflows & Features
7777

7878
* A new date format "--date=human" that morphs its output depending
7979
on how far the time is from the current time has been introduced.
80-
"--date=auto" can be used to use this new format when the output is
81-
going to the pager or to the terminal and otherwise the default
82-
format.
80+
"--date=auto:human" can be used to use this new format (or any
81+
existing format) when the output is going to the pager or to the
82+
terminal, and otherwise the default format.
8383

8484

8585
Performance, Internal Implementation, Development Support etc.
@@ -88,7 +88,7 @@ Performance, Internal Implementation, Development Support etc.
8888
(non-)existence of loose objects.
8989

9090
* More codepaths have become aware of working with in-core repository
91-
instance other than the default "the_repository".
91+
instances other than the default "the_repository".
9292

9393
* The "strncat()" function is now among the banned functions.
9494

@@ -125,13 +125,13 @@ Performance, Internal Implementation, Development Support etc.
125125
* The in-core repository instances are passed through more codepaths.
126126

127127
* Update the protocol message specification to allow only the limited
128-
use of scaled quantities. This is ensure potential compatibility
129-
issues will not go out of hand.
128+
use of scaled quantities. This is to ensure potential compatibility
129+
issues will not get out of hand.
130130

131131
* Micro-optimize the code that prepares commit objects to be walked
132132
by "git rev-list" when the commit-graph is available.
133133

134-
* "git fetch" and "git upload-pack" learned to send all exchange over
134+
* "git fetch" and "git upload-pack" learned to send all exchanges over
135135
the sideband channel while talking the v2 protocol.
136136

137137
* The codepath to write out commit-graph has been optimized by
@@ -180,6 +180,13 @@ Performance, Internal Implementation, Development Support etc.
180180

181181
* A flakey "p4" test has been removed.
182182

183+
* The code and tests assume that the system supplied iconv() would
184+
always use BOM in its output when asked to encode to UTF-16 (or
185+
UTF-32), but apparently some implementations output big-endian
186+
without BOM. A compile-time knob has been added to help such
187+
systems (e.g. NonStop) to add BOM to the output to increase
188+
portability.
189+
183190

184191
Fixes since v2.20
185192
-----------------
@@ -439,3 +446,6 @@ Fixes since v2.20
439446
(merge 2e285e7803 tz/gpg-test-fix later to maint).
440447
(merge 5427de960b kl/pretty-doc-markup-fix later to maint).
441448
(merge 3815f64b0d js/mingw-host-cpu later to maint).
449+
(merge 5fe81438b5 rj/sequencer-sign-off-header-static later to maint).
450+
(merge 18a4f6be6b nd/fileno-may-be-macro later to maint).
451+
(merge 99e9ab54ab kd/t0028-octal-del-is-377-not-777 later to maint).

Documentation/git-rebase.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,6 @@ are incompatible with the following options:
529529
* --interactive
530530
* --exec
531531
* --keep-empty
532-
* --autosquash
533532
* --edit-todo
534533
* --root when used in combination with --onto
535534

@@ -554,8 +553,6 @@ commit started empty (had no changes relative to its parent to
554553
start with) or ended empty (all changes were already applied
555554
upstream in other commits).
556555

557-
The merge backend does the same.
558-
559556
The interactive backend drops commits by default that
560557
started empty and halts if it hits a commit that ended up empty.
561558
The `--keep-empty` option exists for the interactive backend to allow

Makefile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,10 @@ all::
259259
# Define OLD_ICONV if your library has an old iconv(), where the second
260260
# (input buffer pointer) parameter is declared with type (const char **).
261261
#
262+
# Define ICONV_OMITS_BOM if your iconv implementation does not write a
263+
# byte-order mark (BOM) when writing UTF-16 or UTF-32 and always writes in
264+
# big-endian format.
265+
#
262266
# Define NO_DEFLATE_BOUND if your zlib does not have deflateBound.
263267
#
264268
# Define NO_R_TO_GCC_LINKER if your gcc does not like "-R/path/lib"
@@ -433,6 +437,8 @@ all::
433437
#
434438
# Define HAVE_GETDELIM if your system has the getdelim() function.
435439
#
440+
# Define FILENO_IS_A_MACRO if fileno() is a macro, not a real function.
441+
#
436442
# Define PAGER_ENV to a SP separated VAR=VAL pairs to define
437443
# default environment variables to be passed when a pager is spawned, e.g.
438444
#
@@ -1415,6 +1421,9 @@ ifndef NO_ICONV
14151421
EXTLIBS += $(ICONV_LINK) -liconv
14161422
endif
14171423
endif
1424+
ifdef ICONV_OMITS_BOM
1425+
BASIC_CFLAGS += -DICONV_OMITS_BOM
1426+
endif
14181427
ifdef NEEDS_LIBGEN
14191428
EXTLIBS += -lgen
14201429
endif
@@ -1800,6 +1809,11 @@ ifdef HAVE_WPGMPTR
18001809
BASIC_CFLAGS += -DHAVE_WPGMPTR
18011810
endif
18021811

1812+
ifdef FILENO_IS_A_MACRO
1813+
COMPAT_CFLAGS += -DFILENO_IS_A_MACRO
1814+
COMPAT_OBJS += compat/fileno.o
1815+
endif
1816+
18031817
ifeq ($(TCLTK_PATH),)
18041818
NO_TCLTK = NoThanks
18051819
endif

builtin/bisect--helper.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ static int bisect_reset(const char *commit)
173173
argv_array_clear(&argv);
174174
return error(_("could not check out original"
175175
" HEAD '%s'. Try 'git bisect"
176-
"reset <commit>'."), branch.buf);
176+
" reset <commit>'."), branch.buf);
177177
}
178178
argv_array_clear(&argv);
179179
}
@@ -646,7 +646,7 @@ int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
646646
OPT_BOOL(0, "no-checkout", &no_checkout,
647647
N_("update BISECT_HEAD instead of checking out the current commit")),
648648
OPT_BOOL(0, "no-log", &nolog,
649-
N_("no log for BISECT_WRITE ")),
649+
N_("no log for BISECT_WRITE")),
650650
OPT_END()
651651
};
652652
struct bisect_terms terms = { .term_good = NULL, .term_bad = NULL };

builtin/fetch.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1480,7 +1480,7 @@ static inline void fetch_one_setup_partial(struct remote *remote)
14801480
if (strcmp(remote->name, repository_format_partial_clone)) {
14811481
if (filter_options.choice)
14821482
die(_("--filter can only be used with the remote "
1483-
"configured in extensions.partialclone"));
1483+
"configured in extensions.partialClone"));
14841484
return;
14851485
}
14861486

builtin/rebase.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1434,7 +1434,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix)
14341434
}
14351435

14361436
if (options.reschedule_failed_exec && !is_interactive(&options))
1437-
die(_("--reschedule-failed-exec requires an interactive rebase"));
1437+
die(_("%s requires an interactive rebase"), "--reschedule-failed-exec");
14381438

14391439
if (options.git_am_opts.argc) {
14401440
/* all am options except -q are compatible only with --am */

compat/fileno.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#define COMPAT_CODE
2+
#include "../git-compat-util.h"
3+
4+
int git_fileno(FILE *stream)
5+
{
6+
return fileno(stream);
7+
}

compat/mingw.h

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,6 @@ typedef _sigset_t sigset_t;
66
#include <winsock2.h>
77
#include <ws2tcpip.h>
88

9-
#ifdef __MINGW64_VERSION_MAJOR
10-
/*
11-
* In Git for Windows, we cannot rely on `uname -m` to report the correct
12-
* architecture: /usr/bin/uname.exe will report the architecture with which the
13-
* current MSYS2 runtime was built, not the architecture for which we are
14-
* currently compiling (both 32-bit and 64-bit `git.exe` is built in the 64-bit
15-
* Git for Windows SDK).
16-
*/
17-
#undef GIT_HOST_CPU
18-
/* This was figured out by looking at `cpp -dM </dev/null`'s output */
19-
#if defined(__x86_64__)
20-
#define GIT_HOST_CPU "x86_64"
21-
#elif defined(__i686__)
22-
#define GIT_HOST_CPU "i686"
23-
#else
24-
#error "Unknown architecture"
25-
#endif
26-
#endif
27-
289
/* MinGW-w64 reports to have flockfile, but it does not actually have it. */
2910
#ifdef __MINGW64_VERSION_MAJOR
3011
#undef _POSIX_THREAD_SAFE_FUNCTIONS

config.mak.uname

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ ifeq ($(uname_S),FreeBSD)
221221
HAVE_BSD_KERN_PROC_SYSCTL = YesPlease
222222
PAGER_ENV = LESS=FRX LV=-c MORE=FRX
223223
FREAD_READS_DIRECTORIES = UnfortunatelyYes
224+
FILENO_IS_A_MACRO = UnfortunatelyYes
224225
endif
225226
ifeq ($(uname_S),OpenBSD)
226227
NO_STRCASESTR = YesPlease
@@ -234,6 +235,7 @@ ifeq ($(uname_S),OpenBSD)
234235
HAVE_BSD_KERN_PROC_SYSCTL = YesPlease
235236
PROCFS_EXECUTABLE_PATH = /proc/curproc/file
236237
FREAD_READS_DIRECTORIES = UnfortunatelyYes
238+
FILENO_IS_A_MACRO = UnfortunatelyYes
237239
endif
238240
ifeq ($(uname_S),MirBSD)
239241
NO_STRCASESTR = YesPlease
@@ -490,6 +492,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
490492
OLD_ICONV = UnfortunatelyYes
491493
NO_REGEX = NeedsStartEnd
492494
NO_PTHREADS = UnfortunatelyYes
495+
FREAD_READS_DIRECTORIES = UnfortunatelyYes
493496

494497
# Not detected (nor checked for) by './configure'.
495498
# We don't have SA_RESTART on NonStop, unfortunalety.
@@ -507,9 +510,7 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
507510
# RFE 10-120912-4693 submitted to HP NonStop development.
508511
NO_SETITIMER = UnfortunatelyYes
509512
SANE_TOOL_PATH = /usr/coreutils/bin:/usr/local/bin
510-
SHELL_PATH = /usr/local/bin/bash
511-
# as of H06.25/J06.14, we might better use this
512-
#SHELL_PATH = /usr/coreutils/bin/bash
513+
SHELL_PATH = /usr/coreutils/bin/bash
513514
endif
514515
ifneq (,$(findstring MINGW,$(uname_S)))
515516
pathsep = ;
@@ -571,9 +572,11 @@ else
571572
prefix = /usr/
572573
ifeq (MINGW32,$(MSYSTEM))
573574
prefix = /mingw32
575+
HOST_CPU = i686
574576
endif
575577
ifeq (MINGW64,$(MSYSTEM))
576578
prefix = /mingw64
579+
HOST_CPU = x86_64
577580
else
578581
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
579582
BASIC_LDFLAGS += -Wl,--large-address-aware

git-compat-util.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,14 @@ struct tm *git_gmtime_r(const time_t *, struct tm *);
12341234
#define getc_unlocked(fh) getc(fh)
12351235
#endif
12361236

1237+
#ifdef FILENO_IS_A_MACRO
1238+
int git_fileno(FILE *stream);
1239+
# ifndef COMPAT_CODE
1240+
# undef fileno
1241+
# define fileno(p) git_fileno(p)
1242+
# endif
1243+
#endif
1244+
12371245
/*
12381246
* Our code often opens a path to an optional file, to work on its
12391247
* contents when we can successfully open it. We can ignore a failure

0 commit comments

Comments
 (0)