Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
c7c4e5e
Merge branch 'ps/reftable-sans-compat-util' into ps/reftable-api-revamp
gitster Apr 1, 2025
6dcc05f
reftable: fix formatting of the license header
pks-t Apr 7, 2025
b648bd6
reftable/reader: rename data structure to "table"
pks-t Apr 7, 2025
1ac4e5e
reftable/blocksource: consolidate code into a single file
pks-t Apr 7, 2025
ba620d2
reftable/block: simplify how we track restart points
pks-t Apr 7, 2025
fd88831
reftable/table: move reading block into block reader
pks-t Apr 7, 2025
2b3362c
reftable/block: rename `block` to `block_data`
pks-t Apr 7, 2025
12a9aa8
reftable/block: rename `block_reader` to `reftable_block`
pks-t Apr 7, 2025
ce76cec
git-zlib: use `struct z_stream_s` instead of typedef
pks-t Apr 7, 2025
655e18d
reftable/block: create public interface for reading blocks
pks-t Apr 7, 2025
156d79c
reftable/block: store block pointer in the block iterator
pks-t Apr 7, 2025
6da48a5
reftable/block: make block iterators reseekable
pks-t Apr 7, 2025
50d8459
reftable/block: expose a generic iterator over reftable records
pks-t Apr 7, 2025
c8cbe85
reftable/table: add `reftable_table` to the public interface
pks-t Apr 7, 2025
da89659
reftable/table: introduce iterator for table blocks
pks-t Apr 7, 2025
0f8ee94
reftable/constants: make block types part of the public interface
pks-t Apr 7, 2025
e001118
reftable/table: move printing logic into test helper
pks-t Apr 7, 2025
55f7879
Merge branch 'ps/test-wo-perl-prereq' into ps/fewer-perl
gitster Apr 15, 2025
f6d8550
filter-branch: stop depending on Perl
pks-t Apr 16, 2025
7604222
request-pull: stop depending on Perl
pks-t Apr 16, 2025
521c988
Documentation: stop depending on Perl to massage user manual
pks-t Apr 16, 2025
a7fa5b2
Documentation: stop depending on Perl to generate command list
pks-t Apr 16, 2025
ff4a749
environment: fix typo: 'setup_git_directory_gently'
quanta-kt Apr 18, 2025
32b74b9
perf: do allow `GIT_PERF_*` to be overridden again
dscho Apr 4, 2025
2e4e439
builtin/add: remove unnecessary if statement
Unique-Usman Apr 20, 2025
b502a64
builtin/difftool: remove unnecessary if statement
Unique-Usman Apr 20, 2025
86eef35
global: mark usage strings and string tables const
nabijaczleweli Apr 21, 2025
42cf4ac
ci: fix p4d executable not being found on GitHub Actions
pks-t Apr 22, 2025
fe35ce2
contrib/completion: install Bash completion
pks-t Apr 22, 2025
1aa5063
p5332: drop "+" from --stdin-packs input
peff Apr 22, 2025
25292c3
revision: remove log_reencode field from rev_info
lucasoshiro Apr 22, 2025
eb2d7be
maintenance: fix launchctl calendar intervals
joshheinrichs Apr 21, 2025
8bb81cc
Merge branch 'js/git-perf-env-override'
gitster Apr 29, 2025
a501213
Merge branch 'ua/call-repo-config-with-possibly-null-repository'
gitster Apr 29, 2025
dd45c2e
Merge branch 'as/typofix-in-env-h-header'
gitster Apr 29, 2025
5a6de39
Merge branch 'az/tighten-string-array-constness'
gitster Apr 29, 2025
0c9d6b7
Merge branch 'jh/gc-launchctl-schedule-fix'
gitster Apr 29, 2025
a819a3d
Merge branch 'ps/reftable-api-revamp'
gitster Apr 29, 2025
27bd8ee
Merge branch 'ps/fewer-perl'
gitster Apr 29, 2025
0faae38
Merge branch 'lo/remove-log-reencode-from-rev-info'
gitster Apr 29, 2025
87b0875
Merge branch 'jk/p5332-testfix'
gitster Apr 29, 2025
29c9aee
Merge branch 'ps/install-bash-completion'
gitster Apr 29, 2025
daae793
Merge branch 'ps/ci-resurrect-p4-on-github'
gitster Apr 29, 2025
6c0bd1f
The tenth batch
gitster Apr 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,7 @@ jobs:
jobname: ${{matrix.vector.jobname}}
CC: ${{matrix.vector.cc}}
CI_JOB_IMAGE: ${{matrix.vector.image}}
CUSTOM_PATH: /custom
runs-on: ubuntu-latest
container: ${{matrix.vector.image}}
steps:
Expand Down
8 changes: 4 additions & 4 deletions Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -317,8 +317,8 @@ cmds_txt = cmds-ancillaryinterrogators.adoc \

$(cmds_txt): cmd-list.made

cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
$(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl .. . $(cmds_txt) && \
cmd-list.made: cmd-list.sh ../command-list.txt $(MAN1_TXT)
$(QUIET_GEN)$(SHELL_PATH) ./cmd-list.sh .. . $(cmds_txt) && \
date >$@

mergetools-%.adoc: generate-mergetool-list.sh ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
Expand Down Expand Up @@ -398,9 +398,9 @@ user-manual.html: user-manual.xml $(XSLT)
git.info: user-manual.texi
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi

user-manual.texi: user-manual.xml
user-manual.texi: user-manual.xml fix-texi.sh
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \
$(PERL_PATH) fix-texi.perl <$@+ >$@ && \
$(SHELL_PATH) fix-texi.sh <$@+ >$@ && \
$(RM) $@+

user-manual.pdf: user-manual.xml
Expand Down
23 changes: 23 additions & 0 deletions Documentation/RelNotes/2.50.0.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ UI, Workflows & Features
* "git blame --porcelain" mode now talks about unblamable lines and
lines that are blamed to an ignored commit.

* The build procedure installs bash (but not zsh) completion script.


Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
Expand Down Expand Up @@ -115,6 +117,16 @@ Performance, Internal Implementation, Development Support etc.
* Update parse-options API to catch mistakes to pass address of an
integral variable of a wrong type/size.

* Since a call to repo_config() can be called with repo set to NULL
these days, a command that is marked as RUN_SETUP in the builtin
command table does not have to check repo with NULL before making
the call.

* Overhaul of the reftable API.

* Reduce requirement for Perl in our documentation build and a few
scripts.


Fixes since v2.49
-----------------
Expand Down Expand Up @@ -224,6 +236,12 @@ Fixes since v2.49
* Various build tweaks, including CSPRNG selection on some platforms.
(merge cdda67de03 rj/build-tweaks later to maint).

* Developer support fix..
(merge 32b74b9809 js/git-perf-env-override later to maint).

* Fix for scheduled maintenance tasks on platforms using launchctl.
(merge eb2d7beb0e jh/gc-launchctl-schedule-fix later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 227c4f33a0 ja/doc-block-delimiter-markup-fix later to maint).
(merge 2bfd3b3685 ab/decorate-code-cleanup later to maint).
Expand All @@ -244,3 +262,8 @@ Fixes since v2.49
(merge 107d889303 md/t1403-path-is-file later to maint).
(merge abd4192b07 js/comma-semicolon-confusion later to maint).
(merge 27b7264206 ab/environment-clean-header later to maint).
(merge ff4a749354 as/typofix-in-env-h-header later to maint).
(merge 86eef3541e az/tighten-string-array-constness later to maint).
(merge 25292c301d lo/remove-log-reencode-from-rev-info later to maint).
(merge 1aa50636fd jk/p5332-testfix later to maint).
(merge 42cf4ac552 ps/ci-resurrect-p4-on-github later to maint).
80 changes: 0 additions & 80 deletions Documentation/cmd-list.perl

This file was deleted.

104 changes: 104 additions & 0 deletions Documentation/cmd-list.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#!/bin/sh

set -e

format_one () {
source_dir="$1"
command="$2"
attributes="$3"

path="$source_dir/Documentation/$command.adoc"
if ! test -f "$path"
then
echo >&2 "No such file $path"
exit 1
fi

state=0
while read line
do
case "$state" in
0)
case "$line" in
git*\(*\)|scalar*\(*\))
mansection="${line##*\(}"
mansection="${mansection%\)}"
;;
NAME)
state=1;;
esac
;;
1)
if test "$line" = "----"
then
state=2
fi
;;
2)
description="$line"
break
;;
esac
done <"$path"

if test -z "$mansection"
then
echo "No man section found in $path" >&2
exit 1
fi

if test -z "$description"
then
echo >&2 "No description found in $path"
exit 1
fi

case "$description" in
"$command - "*)
text="${description#$command - }"

printf "linkgit:%s[%s]::\n\t" "$command" "$mansection"
case "$attributes" in
*" deprecated "*)
printf "(deprecated) "
;;
esac
printf "$text.\n\n"
;;
*)
echo >&2 "Description does not match $command: $description"
exit 1
;;
esac
}

source_dir="$1"
build_dir="$2"
shift 2

for out
do
category="${out#cmds-}"
category="${category%.adoc}"
path="$build_dir/$out"

while read command command_category attributes
do
case "$command" in
"#"*)
continue;;
esac

case "$command_category" in
"$category")
format_one "$source_dir" "$command" " $attributes ";;
esac
done <"$source_dir/command-list.txt" >"$build_dir/$out+"

if cmp "$build_dir/$out+" "$build_dir/$out" >/dev/null 2>&1
then
rm "$build_dir/$out+"
else
mv "$build_dir/$out+" "$build_dir/$out"
fi
done
15 changes: 0 additions & 15 deletions Documentation/fix-texi.perl

This file was deleted.

21 changes: 21 additions & 0 deletions Documentation/fix-texi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/sh

awk '
/^@setfilename/{
print "@setfilename git.info"
next
}
/^@direntry/{
direntry=1
print "@dircategory Development"
print "@direntry"
print "* Git: (git). A fast distributed revision control system"
print "@end direntry"
next
}
/^@end direntry/{
direntry=0
next
}
!direntry
'
4 changes: 2 additions & 2 deletions Documentation/howto/recover-corrupted-object-harder.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ static int try_zlib(unsigned char *buf, int len)
{
/* make this absurdly large so we don't have to loop */
static unsigned char out[1024*1024];
z_stream z;
struct z_stream_s z;
int ret;

memset(&z, 0, sizeof(z));
Expand Down Expand Up @@ -278,7 +278,7 @@ int main(int argc, char **argv)
static unsigned char buf[25 * 1024 * 1024];
static unsigned char out[25 * 1024 * 1024];
int len;
z_stream z;
struct z_stream_s z;
int ret;

len = read(0, buf, sizeof(buf));
Expand Down
4 changes: 2 additions & 2 deletions Documentation/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -335,12 +335,12 @@ cmd_lists = [

documentation_deps += custom_target(
command: [
perl,
shell,
'@INPUT@',
meson.project_source_root(),
meson.current_build_dir(),
] + cmd_lists,
input: 'cmd-list.perl',
input: 'cmd-list.sh',
output: cmd_lists
)

Expand Down
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,7 @@ prefix = $(HOME)
bindir = $(prefix)/bin
mandir = $(prefix)/share/man
infodir = $(prefix)/share/info
bash_completion_dir = $(prefix)/share/bash-completion/completions
gitexecdir = libexec/git-core
mergetoolsdir = $(gitexecdir)/mergetools
sharedir = $(prefix)/share
Expand Down Expand Up @@ -1377,10 +1378,10 @@ UNIT_TEST_PROGRAMS += t-reftable-basics
UNIT_TEST_PROGRAMS += t-reftable-block
UNIT_TEST_PROGRAMS += t-reftable-merged
UNIT_TEST_PROGRAMS += t-reftable-pq
UNIT_TEST_PROGRAMS += t-reftable-reader
UNIT_TEST_PROGRAMS += t-reftable-readwrite
UNIT_TEST_PROGRAMS += t-reftable-record
UNIT_TEST_PROGRAMS += t-reftable-stack
UNIT_TEST_PROGRAMS += t-reftable-table
UNIT_TEST_PROGS = $(patsubst %,$(UNIT_TEST_BIN)/%$X,$(UNIT_TEST_PROGRAMS))
UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/test-lib.o
UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/lib-reftable.o
Expand Down Expand Up @@ -2327,6 +2328,7 @@ bindir_relative_SQ = $(subst ','\'',$(bindir_relative))
mandir_SQ = $(subst ','\'',$(mandir))
mandir_relative_SQ = $(subst ','\'',$(mandir_relative))
infodir_relative_SQ = $(subst ','\'',$(infodir_relative))
bash_completion_dir_SQ = $(subst ','\'',$(bash_completion_dir))
perllibdir_SQ = $(subst ','\'',$(perllibdir))
localedir_SQ = $(subst ','\'',$(localedir))
localedir_relative_SQ = $(subst ','\'',$(localedir_relative))
Expand Down Expand Up @@ -2737,10 +2739,10 @@ REFTABLE_OBJS += reftable/blocksource.o
REFTABLE_OBJS += reftable/iter.o
REFTABLE_OBJS += reftable/merged.o
REFTABLE_OBJS += reftable/pq.o
REFTABLE_OBJS += reftable/reader.o
REFTABLE_OBJS += reftable/record.o
REFTABLE_OBJS += reftable/stack.o
REFTABLE_OBJS += reftable/system.o
REFTABLE_OBJS += reftable/table.o
REFTABLE_OBJS += reftable/tree.o
REFTABLE_OBJS += reftable/writer.o

Expand Down Expand Up @@ -3571,6 +3573,10 @@ endif
ifneq (,$X)
$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_COMMANDS_TO_INSTALL) $(OTHER_PROGRAMS))), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';)
endif
ifndef NO_BASH_COMPLETION
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bash_completion_dir_SQ)' && \
$(INSTALL) -m 644 contrib/completion/git-completion.bash '$(DESTDIR_SQ)$(bash_completion_dir_SQ)/git'
endif

bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
Expand Down
3 changes: 1 addition & 2 deletions builtin/add.c
Original file line number Diff line number Diff line change
Expand Up @@ -386,8 +386,7 @@ int cmd_add(int argc,
char *ps_matched = NULL;
struct lock_file lock_file = LOCK_INIT;

if (repo)
repo_config(repo, add_config, NULL);
repo_config(repo, add_config, NULL);

argc = parse_options(argc, argv, prefix, builtin_add_options,
builtin_add_usage, PARSE_OPT_KEEP_ARGV0);
Expand Down
Loading