Diff of the two buildlogs: -- --- b1/build.log 2023-04-29 16:11:17.221253452 +0000 +++ b2/build.log 2023-04-29 16:35:27.081608513 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri May 31 10:28:52 -12 2024 -I: pbuilder-time-stamp: 1717194532 +I: Current time: Sun Apr 30 06:11:20 +14 2023 +I: pbuilder-time-stamp: 1682784680 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -18,8 +18,8 @@ I: copying [./git_2.30.2-1+deb11u2.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.T4wZlwa3/trustedkeys.kbx': General error -gpgv: Signature made Tue Feb 21 22:02:50 2023 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.uFFq_tz_/trustedkeys.kbx': General error +gpgv: Signature made Thu Feb 23 00:02:50 2023 +14 gpgv: using RSA key 861CFE698425FC1A7839303B3B52CA2A0AAFD954 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./git_2.30.2-1+deb11u2.dsc @@ -39,137 +39,168 @@ dpkg-source: info: applying CVE-2023-23946.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/105502/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/924/tmp/hooks/D01_modify_environment starting +debug: Running on ionos12-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 30 06:11 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/924/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/924/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=16' - DISTRIBUTION='bullseye' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=7' + DIRSTACK=() + DISTRIBUTION=bullseye + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='8cd92ae940894320aeb46bfb991eec20' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='105502' - PS1='# ' - PS2='> ' + INVOCATION_ID=614d009eb0924836864ec508b52b7532 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=924 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.oHNKRLo0/pbuilderrc_K9nS --distribution bullseye --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.oHNKRLo0/b1 --logfile b1/build.log git_2.30.2-1+deb11u2.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://85.184.249.68:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.oHNKRLo0/pbuilderrc_lHMe --distribution bullseye --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.oHNKRLo0/b2 --logfile b2/build.log git_2.30.2-1+deb11u2.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://78.137.99.97:3128 I: uname -a - Linux ionos16-i386 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux + Linux i-capture-the-hostname 5.10.0-21-686-pae #1 SMP Debian 5.10.162-1 (2023-01-21) i686 GNU/Linux I: ls -l /bin total 5776 - -rwxr-xr-x 1 root root 1367848 Mar 27 2022 bash - -rwxr-xr-x 3 root root 38280 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 38280 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 38280 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 17768 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 38824 Sep 22 2020 cat - -rwxr-xr-x 1 root root 71624 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 67528 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 75752 Sep 22 2020 chown - -rwxr-xr-x 1 root root 157960 Sep 22 2020 cp - -rwxr-xr-x 1 root root 128724 Dec 10 2020 dash - -rwxr-xr-x 1 root root 124904 Sep 22 2020 date - -rwxr-xr-x 1 root root 92172 Sep 22 2020 dd - -rwxr-xr-x 1 root root 100752 Sep 22 2020 df - -rwxr-xr-x 1 root root 153964 Sep 22 2020 dir - -rwxr-xr-x 1 root root 83644 Jan 20 2022 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 34664 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Jan 24 2023 egrep - -rwxr-xr-x 1 root root 34664 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Jan 24 2023 fgrep - -rwxr-xr-x 1 root root 71928 Jan 20 2022 findmnt - -rwsr-xr-x 1 root root 30112 Feb 26 2021 fusermount - -rwxr-xr-x 1 root root 210488 Jan 24 2023 grep - -rwxr-xr-x 2 root root 2346 Apr 9 2022 gunzip - -rwxr-xr-x 1 root root 6447 Apr 9 2022 gzexe - -rwxr-xr-x 1 root root 100952 Apr 9 2022 gzip - -rwxr-xr-x 1 root root 21916 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 83980 Sep 22 2020 ln - -rwxr-xr-x 1 root root 55572 Feb 7 2020 login - -rwxr-xr-x 1 root root 153964 Sep 22 2020 ls - -rwxr-xr-x 1 root root 153124 Jan 20 2022 lsblk - -rwxr-xr-x 1 root root 96328 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 79912 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 47048 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 58920 Jan 20 2022 more - -rwsr-xr-x 1 root root 50720 Jan 20 2022 mount - -rwxr-xr-x 1 root root 13856 Jan 20 2022 mountpoint - -rwxr-xr-x 1 root root 157996 Sep 22 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Dec 16 2021 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 38824 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Mar 27 2022 rbash -> bash - -rwxr-xr-x 1 root root 46984 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 75720 Sep 22 2020 rm - -rwxr-xr-x 1 root root 46984 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 22292 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 125036 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 May 23 03:56 sh -> dash - -rwxr-xr-x 1 root root 34696 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 83880 Sep 22 2020 stty - -rwsr-xr-x 1 root root 79396 Jan 20 2022 su - -rwxr-xr-x 1 root root 34696 Sep 22 2020 sync - -rwxr-xr-x 1 root root 602584 Feb 16 2021 tar - -rwxr-xr-x 1 root root 13860 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 108520 Sep 22 2020 touch - -rwxr-xr-x 1 root root 34664 Sep 22 2020 true - -rwxr-xr-x 1 root root 17768 Feb 26 2021 ulockmgr_server - -rwsr-xr-x 1 root root 30236 Jan 20 2022 umount - -rwxr-xr-x 1 root root 34664 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Apr 9 2022 uncompress - -rwxr-xr-x 1 root root 153964 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 63024 Jan 20 2022 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Apr 9 2022 zcat - -rwxr-xr-x 1 root root 1678 Apr 9 2022 zcmp - -rwxr-xr-x 1 root root 5898 Apr 9 2022 zdiff - -rwxr-xr-x 1 root root 29 Apr 9 2022 zegrep - -rwxr-xr-x 1 root root 29 Apr 9 2022 zfgrep - -rwxr-xr-x 1 root root 2081 Apr 9 2022 zforce - -rwxr-xr-x 1 root root 8049 Apr 9 2022 zgrep - -rwxr-xr-x 1 root root 2206 Apr 9 2022 zless - -rwxr-xr-x 1 root root 1842 Apr 9 2022 zmore - -rwxr-xr-x 1 root root 4577 Apr 9 2022 znew -I: user script /srv/workspace/pbuilder/105502/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 1367848 Mar 28 2022 bash + -rwxr-xr-x 3 root root 38280 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 38280 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 38280 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 17768 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 38824 Sep 23 2020 cat + -rwxr-xr-x 1 root root 71624 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 67528 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 75752 Sep 23 2020 chown + -rwxr-xr-x 1 root root 157960 Sep 23 2020 cp + -rwxr-xr-x 1 root root 128724 Dec 11 2020 dash + -rwxr-xr-x 1 root root 124904 Sep 23 2020 date + -rwxr-xr-x 1 root root 92172 Sep 23 2020 dd + -rwxr-xr-x 1 root root 100752 Sep 23 2020 df + -rwxr-xr-x 1 root root 153964 Sep 23 2020 dir + -rwxr-xr-x 1 root root 83644 Jan 21 2022 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 34664 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Jan 25 22:23 egrep + -rwxr-xr-x 1 root root 34664 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Jan 25 22:23 fgrep + -rwxr-xr-x 1 root root 71928 Jan 21 2022 findmnt + -rwsr-xr-x 1 root root 30112 Feb 27 2021 fusermount + -rwxr-xr-x 1 root root 210488 Jan 25 22:23 grep + -rwxr-xr-x 2 root root 2346 Apr 10 2022 gunzip + -rwxr-xr-x 1 root root 6447 Apr 10 2022 gzexe + -rwxr-xr-x 1 root root 100952 Apr 10 2022 gzip + -rwxr-xr-x 1 root root 21916 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 83980 Sep 23 2020 ln + -rwxr-xr-x 1 root root 55572 Feb 8 2020 login + -rwxr-xr-x 1 root root 153964 Sep 23 2020 ls + -rwxr-xr-x 1 root root 153124 Jan 21 2022 lsblk + -rwxr-xr-x 1 root root 96328 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 79912 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 47048 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 58920 Jan 21 2022 more + -rwsr-xr-x 1 root root 50720 Jan 21 2022 mount + -rwxr-xr-x 1 root root 13856 Jan 21 2022 mountpoint + -rwxr-xr-x 1 root root 157996 Sep 23 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Dec 17 2021 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 38824 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Mar 28 2022 rbash -> bash + -rwxr-xr-x 1 root root 46984 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 75720 Sep 23 2020 rm + -rwxr-xr-x 1 root root 46984 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 22292 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 125036 Dec 23 2018 sed + lrwxrwxrwx 1 root root 9 Apr 30 06:11 sh -> /bin/bash + -rwxr-xr-x 1 root root 34696 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 83880 Sep 23 2020 stty + -rwsr-xr-x 1 root root 79396 Jan 21 2022 su + -rwxr-xr-x 1 root root 34696 Sep 23 2020 sync + -rwxr-xr-x 1 root root 602584 Feb 17 2021 tar + -rwxr-xr-x 1 root root 13860 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 108520 Sep 23 2020 touch + -rwxr-xr-x 1 root root 34664 Sep 23 2020 true + -rwxr-xr-x 1 root root 17768 Feb 27 2021 ulockmgr_server + -rwsr-xr-x 1 root root 30236 Jan 21 2022 umount + -rwxr-xr-x 1 root root 34664 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Apr 10 2022 uncompress + -rwxr-xr-x 1 root root 153964 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 63024 Jan 21 2022 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Apr 10 2022 zcat + -rwxr-xr-x 1 root root 1678 Apr 10 2022 zcmp + -rwxr-xr-x 1 root root 5898 Apr 10 2022 zdiff + -rwxr-xr-x 1 root root 29 Apr 10 2022 zegrep + -rwxr-xr-x 1 root root 29 Apr 10 2022 zfgrep + -rwxr-xr-x 1 root root 2081 Apr 10 2022 zforce + -rwxr-xr-x 1 root root 8049 Apr 10 2022 zgrep + -rwxr-xr-x 1 root root 2206 Apr 10 2022 zless + -rwxr-xr-x 1 root root 1842 Apr 10 2022 zmore + -rwxr-xr-x 1 root root 4577 Apr 10 2022 znew +I: user script /srv/workspace/pbuilder/924/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -367,7 +398,7 @@ Get: 110 http://deb.debian.org/debian bullseye/main i386 unzip i386 6.0-26+deb11u1 [172 kB] Get: 111 http://deb.debian.org/debian bullseye/main i386 xmlto i386 0.0.28-2.1 [33.9 kB] Get: 112 http://deb.debian.org/debian bullseye/main i386 zlib1g-dev i386 1:1.2.11.dfsg-2+deb11u2 [194 kB] -Fetched 43.7 MB in 1s (59.8 MB/s) +Fetched 43.7 MB in 3s (16.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19727 files and directories currently installed.) @@ -844,7 +875,11 @@ fakeroot is already the newest version (1.25.3-1.1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/git-2.30.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../git_2.30.2-1+deb11u2_source.changes +I: user script /srv/workspace/pbuilder/924/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for bullseye +I: user script /srv/workspace/pbuilder/924/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/git-2.30.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../git_2.30.2-1+deb11u2_source.changes dpkg-buildpackage: info: source package git dpkg-buildpackage: info: source version 1:2.30.2-1+deb11u2 dpkg-buildpackage: info: source distribution bullseye-security @@ -998,293 +1033,310 @@ * new link flags make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' - * new prefix flags +gcc -o common-main.o -c -MF ./.depend/common-main.o.d -MQ common-main.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' common-main.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o common-main.o -c -MF ./.depend/common-main.o.d -MQ common-main.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' common-main.c +gcc -o alias.o -c -MF ./.depend/alias.o.d -MQ alias.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' alias.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o base85.o -c -MF ./.depend/base85.o.d -MQ base85.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' base85.c +gcc -o abspath.o -c -MF ./.depend/abspath.o.d -MQ abspath.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' abspath.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o blob.o -c -MF ./.depend/blob.o.d -MQ blob.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' blob.c +gcc -o advice.o -c -MF ./.depend/advice.o.d -MQ advice.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' advice.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o alias.o -c -MF ./.depend/alias.o.d -MQ alias.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' alias.c +gcc -o alloc.o -c -MF ./.depend/alloc.o.d -MQ alloc.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' alloc.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o advice.o -c -MF ./.depend/advice.o.d -MQ advice.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' advice.c +gcc -o archive-tar.o -c -MF ./.depend/archive-tar.o.d -MQ archive-tar.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' archive-tar.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o abspath.o -c -MF ./.depend/abspath.o.d -MQ abspath.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' abspath.c + * new prefix flags make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o alloc.o -c -MF ./.depend/alloc.o.d -MQ alloc.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' alloc.c +gcc -o base85.o -c -MF ./.depend/base85.o.d -MQ base85.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' base85.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o archive-tar.o -c -MF ./.depend/archive-tar.o.d -MQ archive-tar.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' archive-tar.c +gcc -o add-interactive.o -c -MF ./.depend/add-interactive.o.d -MQ add-interactive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' add-interactive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o chdir-notify.o -c -MF ./.depend/chdir-notify.o.d -MQ chdir-notify.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' chdir-notify.c +gcc -o archive-zip.o -c -MF ./.depend/archive-zip.o.d -MQ archive-zip.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' archive-zip.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o checkout.o -c -MF ./.depend/checkout.o.d -MQ checkout.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' checkout.c +gcc -o archive.o -c -MF ./.depend/archive.o.d -MQ archive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' archive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o branch.o -c -MF ./.depend/branch.o.d -MQ branch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' branch.c +gcc -o daemon.o -c -MF ./.depend/daemon.o.d -MQ daemon.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' daemon.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o blob.o -c -MF ./.depend/blob.o.d -MQ blob.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' blob.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o bloom.o -c -MF ./.depend/bloom.o.d -MQ bloom.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bloom.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o archive-zip.o -c -MF ./.depend/archive-zip.o.d -MQ archive-zip.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' archive-zip.c +gcc -o branch.o -c -MF ./.depend/branch.o.d -MQ branch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' branch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o bulk-checkin.o -c -MF ./.depend/bulk-checkin.o.d -MQ bulk-checkin.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bulk-checkin.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o archive.o -c -MF ./.depend/archive.o.d -MQ archive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' archive.c +gcc -o chdir-notify.o -c -MF ./.depend/chdir-notify.o.d -MQ chdir-notify.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' chdir-notify.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o compat/obstack.o -c -MF compat/.depend/obstack.o.d -MQ compat/obstack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/obstack.c +gcc -o bisect.o -c -MF ./.depend/bisect.o.d -MQ bisect.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bisect.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o bundle.o -c -MF ./.depend/bundle.o.d -MQ bundle.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bundle.c +gcc -o checkout.o -c -MF ./.depend/checkout.o.d -MQ checkout.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' checkout.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o bisect.o -c -MF ./.depend/bisect.o.d -MQ bisect.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bisect.c +gcc -o add-patch.o -c -MF ./.depend/add-patch.o.d -MQ add-patch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' add-patch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o daemon.o -c -MF ./.depend/daemon.o.d -MQ daemon.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' daemon.c +gcc -o bundle.o -c -MF ./.depend/bundle.o.d -MQ bundle.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' bundle.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o cache-tree.o -c -MF ./.depend/cache-tree.o.d -MQ cache-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' cache-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o color.o -c -MF ./.depend/color.o.d -MQ color.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' color.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o add-interactive.o -c -MF ./.depend/add-interactive.o.d -MQ add-interactive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' add-interactive.c +gcc -o column.o -c -MF ./.depend/column.o.d -MQ column.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' column.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o compat/terminal.o -c -MF compat/.depend/terminal.o.d -MQ compat/terminal.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/terminal.c +gcc -o compat/obstack.o -c -MF compat/.depend/obstack.o.d -MQ compat/obstack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/obstack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o cache-tree.o -c -MF ./.depend/cache-tree.o.d -MQ cache-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' cache-tree.c +gcc -o compat/terminal.o -c -MF compat/.depend/terminal.o.d -MQ compat/terminal.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/terminal.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o column.o -c -MF ./.depend/column.o.d -MQ column.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' column.c +gcc -o commit-reach.o -c -MF ./.depend/commit-reach.o.d -MQ commit-reach.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' commit-reach.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o copy.o -c -MF ./.depend/copy.o.d -MQ copy.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' copy.c +gcc -o blame.o -c -MF ./.depend/blame.o.d -MQ blame.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' blame.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o connected.o -c -MF ./.depend/connected.o.d -MQ connected.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' connected.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ctype.o -c -MF ./.depend/ctype.o.d -MQ ctype.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ctype.c +gcc -o commit.o -c -MF ./.depend/commit.o.d -MQ commit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' commit.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o decorate.o -c -MF ./.depend/decorate.o.d -MQ decorate.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' decorate.c +gcc -o combine-diff.o -c -MF ./.depend/combine-diff.o.d -MQ combine-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' combine-diff.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o copy.o -c -MF ./.depend/copy.o.d -MQ copy.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' copy.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o csum-file.o -c -MF ./.depend/csum-file.o.d -MQ csum-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' csum-file.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o commit-reach.o -c -MF ./.depend/commit-reach.o.d -MQ commit-reach.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' commit-reach.c +gcc -o connect.o -c -MF ./.depend/connect.o.d -MQ connect.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' connect.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o credential.o -c -MF ./.depend/credential.o.d -MQ credential.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' credential.c +gcc -o ctype.o -c -MF ./.depend/ctype.o.d -MQ ctype.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ctype.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diff-delta.o -c -MF ./.depend/diff-delta.o.d -MQ diff-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff-delta.c +gcc -o credential.o -c -MF ./.depend/credential.o.d -MQ credential.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' credential.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o add-patch.o -c -MF ./.depend/add-patch.o.d -MQ add-patch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' add-patch.c +gcc -o decorate.o -c -MF ./.depend/decorate.o.d -MQ decorate.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' decorate.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diff-no-index.o -c -MF ./.depend/diff-no-index.o.d -MQ diff-no-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff-no-index.c +gcc -o commit-graph.o -c -MF ./.depend/commit-graph.o.d -MQ commit-graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' commit-graph.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o connect.o -c -MF ./.depend/connect.o.d -MQ connect.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' connect.c +gcc -o apply.o -c -MF ./.depend/apply.o.d -MQ apply.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' apply.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diffcore-break.o -c -MF ./.depend/diffcore-break.o.d -MQ diffcore-break.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-break.c +gcc -o diff-delta.o -c -MF ./.depend/diff-delta.o.d -MQ diff-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff-delta.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diffcore-delta.o -c -MF ./.depend/diffcore-delta.o.d -MQ diffcore-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-delta.c +gcc -o convert.o -c -MF ./.depend/convert.o.d -MQ convert.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' convert.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o commit.o -c -MF ./.depend/commit.o.d -MQ commit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' commit.c +gcc -o diff-no-index.o -c -MF ./.depend/diff-no-index.o.d -MQ diff-no-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff-no-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o blame.o -c -MF ./.depend/blame.o.d -MQ blame.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' blame.c +gcc -o diffcore-break.o -c -MF ./.depend/diffcore-break.o.d -MQ diffcore-break.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-break.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diffcore-order.o -c -MF ./.depend/diffcore-order.o.d -MQ diffcore-order.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-order.c +gcc -o date.o -c -MF ./.depend/date.o.d -MQ date.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' date.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o dir-iterator.o -c -MF ./.depend/dir-iterator.o.d -MQ dir-iterator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' dir-iterator.c +gcc -o delta-islands.o -c -MF ./.depend/delta-islands.o.d -MQ delta-islands.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' delta-islands.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o diff-lib.o -c -MF ./.depend/diff-lib.o.d -MQ diff-lib.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff-lib.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o convert.o -c -MF ./.depend/convert.o.d -MQ convert.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' convert.c +gcc -o diffcore-order.o -c -MF ./.depend/diffcore-order.o.d -MQ diffcore-order.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-order.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o combine-diff.o -c -MF ./.depend/combine-diff.o.d -MQ combine-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' combine-diff.c +gcc -o diffcore-delta.o -c -MF ./.depend/diffcore-delta.o.d -MQ diffcore-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-delta.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o delta-islands.o -c -MF ./.depend/delta-islands.o.d -MQ delta-islands.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' delta-islands.c +gcc -o config.o -c -MF ./.depend/config.o.d -MQ config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DETC_GITCONFIG='"/etc/gitconfig"' config.c +config.c: In function 'git_config_copy_or_rename_section_in_file': +config.c:3188:17: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] + 3188 | output[0] = '\t'; + | ~~~~~~~~~~^~~~~~ +config.c:3094:7: note: at offset -1 to object 'buf' with size 1024 declared here + 3094 | char buf[1024]; + | ^~~ make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o date.o -c -MF ./.depend/date.o.d -MQ date.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' date.c +gcc -o diffcore-pickaxe.o -c -MF ./.depend/diffcore-pickaxe.o.d -MQ diffcore-pickaxe.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-pickaxe.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diffcore-pickaxe.o -c -MF ./.depend/diffcore-pickaxe.o.d -MQ diffcore-pickaxe.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-pickaxe.c +gcc -o dir-iterator.o -c -MF ./.depend/dir-iterator.o.d -MQ dir-iterator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' dir-iterator.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o editor.o -c -MF ./.depend/editor.o.d -MQ editor.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' editor.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o fetch-negotiator.o -c -MF ./.depend/fetch-negotiator.o.d -MQ fetch-negotiator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fetch-negotiator.c +gcc -o ewah/bitmap.o -c -MF ewah/.depend/bitmap.o.d -MQ ewah/bitmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ewah/bitmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o diffcore-rename.o -c -MF ./.depend/diffcore-rename.o.d -MQ diffcore-rename.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diffcore-rename.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o environment.o -c -MF ./.depend/environment.o.d -MQ environment.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' environment.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o entry.o -c -MF ./.depend/entry.o.d -MQ entry.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' entry.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' gcc -o ewah/ewah_rlw.o -c -MF ewah/.depend/ewah_rlw.o.d -MQ ewah/ewah_rlw.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ewah/ewah_rlw.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o ewah/ewah_io.o -c -MF ewah/.depend/ewah_io.o.d -MQ ewah/ewah_io.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ewah/ewah_io.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ewah/bitmap.o -c -MF ewah/.depend/bitmap.o.d -MQ ewah/bitmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ewah/bitmap.c +gcc -o fetch-negotiator.o -c -MF ./.depend/fetch-negotiator.o.d -MQ fetch-negotiator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fetch-negotiator.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o exec-cmd.o -c -MF ./.depend/exec-cmd.o.d -MQ exec-cmd.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' '-DGIT_EXEC_PATH="/usr/lib/git-core"' '-DGIT_LOCALE_PATH="share/locale"' '-DBINDIR="bin"' '-DFALLBACK_RUNTIME_PREFIX="/usr"' exec-cmd.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o environment.o -c -MF ./.depend/environment.o.d -MQ environment.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' environment.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o entry.o -c -MF ./.depend/entry.o.d -MQ entry.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' entry.c +gcc -o ewah/ewah_bitmap.o -c -MF ewah/.depend/ewah_bitmap.o.d -MQ ewah/ewah_bitmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ewah/ewah_bitmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o gettext.o -c -MF ./.depend/gettext.o.d -MQ gettext.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DGIT_LOCALE_PATH='"share/locale"' gettext.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ewah/ewah_bitmap.o -c -MF ewah/.depend/ewah_bitmap.o.d -MQ ewah/ewah_bitmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ewah/ewah_bitmap.c +gcc -o fsmonitor.o -c -MF ./.depend/fsmonitor.o.d -MQ fsmonitor.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fsmonitor.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o commit-graph.o -c -MF ./.depend/commit-graph.o.d -MQ commit-graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' commit-graph.c +gcc -o gpg-interface.o -c -MF ./.depend/gpg-interface.o.d -MQ gpg-interface.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' gpg-interface.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o fsmonitor.o -c -MF ./.depend/fsmonitor.o.d -MQ fsmonitor.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fsmonitor.c +gcc -o fmt-merge-msg.o -c -MF ./.depend/fmt-merge-msg.o.d -MQ fmt-merge-msg.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fmt-merge-msg.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o hashmap.o -c -MF ./.depend/hashmap.o.d -MQ hashmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' hashmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o gpg-interface.o -c -MF ./.depend/gpg-interface.o.d -MQ gpg-interface.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' gpg-interface.c +gcc -o fsck.o -c -MF ./.depend/fsck.o.d -MQ fsck.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fsck.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o hex.o -c -MF ./.depend/hex.o.d -MQ hex.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' hex.c +gcc -o graph.o -c -MF ./.depend/graph.o.d -MQ graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' graph.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o levenshtein.o -c -MF ./.depend/levenshtein.o.d -MQ levenshtein.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' levenshtein.c +gcc -o dir.o -c -MF ./.depend/dir.o.d -MQ dir.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' dir.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o json-writer.o -c -MF ./.depend/json-writer.o.d -MQ json-writer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' json-writer.c +gcc -o hex.o -c -MF ./.depend/hex.o.d -MQ hex.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' hex.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o fmt-merge-msg.o -c -MF ./.depend/fmt-merge-msg.o.d -MQ fmt-merge-msg.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fmt-merge-msg.c +gcc -o fetch-pack.o -c -MF ./.depend/fetch-pack.o.d -MQ fetch-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fetch-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o ident.o -c -MF ./.depend/ident.o.d -MQ ident.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ident.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o config.o -c -MF ./.depend/config.o.d -MQ config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DETC_GITCONFIG='"/etc/gitconfig"' config.c -config.c: In function 'git_config_copy_or_rename_section_in_file': -config.c:3188:17: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] - 3188 | output[0] = '\t'; - | ~~~~~~~~~~^~~~~~ -config.c:3094:7: note: at offset -1 to object 'buf' with size 1024 declared here - 3094 | char buf[1024]; - | ^~~ +gcc -o json-writer.o -c -MF ./.depend/json-writer.o.d -MQ json-writer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' json-writer.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o line-range.o -c -MF ./.depend/line-range.o.d -MQ line-range.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' line-range.c +gcc -o levenshtein.o -c -MF ./.depend/levenshtein.o.d -MQ levenshtein.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' levenshtein.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o graph.o -c -MF ./.depend/graph.o.d -MQ graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' graph.c +gcc -o grep.o -c -MF ./.depend/grep.o.d -MQ grep.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' grep.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o line-range.o -c -MF ./.depend/line-range.o.d -MQ line-range.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' line-range.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o linear-assignment.o -c -MF ./.depend/linear-assignment.o.d -MQ linear-assignment.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' linear-assignment.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o lockfile.o -c -MF ./.depend/lockfile.o.d -MQ lockfile.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' lockfile.c +gcc -o list-objects-filter-options.o -c -MF ./.depend/list-objects-filter-options.o.d -MQ list-objects-filter-options.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' list-objects-filter-options.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ll-merge.o -c -MF ./.depend/ll-merge.o.d -MQ ll-merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ll-merge.c +gcc -o list-objects.o -c -MF ./.depend/list-objects.o.d -MQ list-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' list-objects.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o fsck.o -c -MF ./.depend/fsck.o.d -MQ fsck.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fsck.c +gcc -o kwset.o -c -MF ./.depend/kwset.o.d -MQ kwset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' kwset.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o list-objects-filter-options.o -c -MF ./.depend/list-objects-filter-options.o.d -MQ list-objects-filter-options.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' list-objects-filter-options.c +/bin/sh ./generate-cmdlist.sh \ + \ + command-list.txt >command-list.h+ && mv command-list.h+ command-list.h make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o list-objects.o -c -MF ./.depend/list-objects.o.d -MQ list-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' list-objects.c +gcc -o list-objects-filter.o -c -MF ./.depend/list-objects-filter.o.d -MQ list-objects-filter.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' list-objects-filter.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ls-refs.o -c -MF ./.depend/ls-refs.o.d -MQ ls-refs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ls-refs.c +gcc -o ll-merge.o -c -MF ./.depend/ll-merge.o.d -MQ ll-merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ll-merge.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o list-objects-filter.o -c -MF ./.depend/list-objects-filter.o.d -MQ list-objects-filter.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' list-objects-filter.c +gcc -o lockfile.o -c -MF ./.depend/lockfile.o.d -MQ lockfile.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' lockfile.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o merge-ort.o -c -MF ./.depend/merge-ort.o.d -MQ merge-ort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-ort.c +gcc -o ls-refs.o -c -MF ./.depend/ls-refs.o.d -MQ ls-refs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ls-refs.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o merge-blobs.o -c -MF ./.depend/merge-blobs.o.d -MQ merge-blobs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-blobs.c +gcc -o line-log.o -c -MF ./.depend/line-log.o.d -MQ line-log.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' line-log.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o mem-pool.o -c -MF ./.depend/mem-pool.o.d -MQ mem-pool.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mem-pool.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o merge-ort-wrappers.o -c -MF ./.depend/merge-ort-wrappers.o.d -MQ merge-ort-wrappers.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-ort-wrappers.c +gcc -o mailmap.o -c -MF ./.depend/mailmap.o.d -MQ mailmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mailmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o grep.o -c -MF ./.depend/grep.o.d -MQ grep.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' grep.c +gcc -o match-trees.o -c -MF ./.depend/match-trees.o.d -MQ match-trees.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' match-trees.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o kwset.o -c -MF ./.depend/kwset.o.d -MQ kwset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' kwset.c +gcc -o merge-ort.o -c -MF ./.depend/merge-ort.o.d -MQ merge-ort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-ort.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o apply.o -c -MF ./.depend/apply.o.d -MQ apply.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' apply.c +gcc -o merge-blobs.o -c -MF ./.depend/merge-blobs.o.d -MQ merge-blobs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-blobs.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o mailmap.o -c -MF ./.depend/mailmap.o.d -MQ mailmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mailmap.c +gcc -o merge-ort-wrappers.o -c -MF ./.depend/merge-ort-wrappers.o.d -MQ merge-ort-wrappers.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-ort-wrappers.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o match-trees.o -c -MF ./.depend/match-trees.o.d -MQ match-trees.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' match-trees.c +gcc -o log-tree.o -c -MF ./.depend/log-tree.o.d -MQ log-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' log-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o line-log.o -c -MF ./.depend/line-log.o.d -MQ line-log.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' line-log.c +gcc -o mergesort.o -c -MF ./.depend/mergesort.o.d -MQ mergesort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mergesort.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o fetch-pack.o -c -MF ./.depend/fetch-pack.o.d -MQ fetch-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' fetch-pack.c +gcc -o merge.o -c -MF ./.depend/merge.o.d -MQ merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o mergesort.o -c -MF ./.depend/mergesort.o.d -MQ mergesort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mergesort.c +gcc -o negotiator/noop.o -c -MF negotiator/.depend/noop.o.d -MQ negotiator/noop.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' negotiator/noop.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o negotiator/noop.o -c -MF negotiator/.depend/noop.o.d -MQ negotiator/noop.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' negotiator/noop.c +gcc -o negotiator/default.o -c -MF negotiator/.depend/default.o.d -MQ negotiator/default.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' negotiator/default.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o merge.o -c -MF ./.depend/merge.o.d -MQ merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge.c +gcc -o mailinfo.o -c -MF ./.depend/mailinfo.o.d -MQ mailinfo.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mailinfo.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o negotiator/default.o -c -MF negotiator/.depend/default.o.d -MQ negotiator/default.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' negotiator/default.c +gcc -o name-hash.o -c -MF ./.depend/name-hash.o.d -MQ name-hash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' name-hash.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o notes-cache.o -c -MF ./.depend/notes-cache.o.d -MQ notes-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes-cache.c @@ -1293,34 +1345,28 @@ gcc -o negotiator/skipping.o -c -MF negotiator/.depend/skipping.o.d -MQ negotiator/skipping.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' negotiator/skipping.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o log-tree.o -c -MF ./.depend/log-tree.o.d -MQ log-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' log-tree.c +gcc -o notes-utils.o -c -MF ./.depend/notes-utils.o.d -MQ notes-utils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes-utils.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o oid-array.o -c -MF ./.depend/oid-array.o.d -MQ oid-array.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' oid-array.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o dir.o -c -MF ./.depend/dir.o.d -MQ dir.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' dir.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' gcc -o oidmap.o -c -MF ./.depend/oidmap.o.d -MQ oidmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' oidmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o notes-utils.o -c -MF ./.depend/notes-utils.o.d -MQ notes-utils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes-utils.c +gcc -o object.o -c -MF ./.depend/object.o.d -MQ object.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' object.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o name-hash.o -c -MF ./.depend/name-hash.o.d -MQ name-hash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' name-hash.c +gcc -o midx.o -c -MF ./.depend/midx.o.d -MQ midx.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' midx.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o mailinfo.o -c -MF ./.depend/mailinfo.o.d -MQ mailinfo.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' mailinfo.c +gcc -o notes-merge.o -c -MF ./.depend/notes-merge.o.d -MQ notes-merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes-merge.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o oidset.o -c -MF ./.depend/oidset.o.d -MQ oidset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' oidset.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o object.o -c -MF ./.depend/object.o.d -MQ object.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' object.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o pack-revindex.o -c -MF ./.depend/pack-revindex.o.d -MQ pack-revindex.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-revindex.c +gcc -o notes.o -c -MF ./.depend/notes.o.d -MQ notes.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o pack-objects.o -c -MF ./.depend/pack-objects.o.d -MQ pack-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-objects.c @@ -1329,76 +1375,79 @@ gcc -o pack-check.o -c -MF ./.depend/pack-check.o.d -MQ pack-check.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-check.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pack-write.o -c -MF ./.depend/pack-write.o.d -MQ pack-write.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-write.c +gcc -o pack-bitmap-write.o -c -MF ./.depend/pack-bitmap-write.o.d -MQ pack-bitmap-write.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-bitmap-write.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o patch-delta.o -c -MF ./.depend/patch-delta.o.d -MQ patch-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' patch-delta.c +gcc -o pack-revindex.o -c -MF ./.depend/pack-revindex.o.d -MQ pack-revindex.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-revindex.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o patch-ids.o -c -MF ./.depend/patch-ids.o.d -MQ patch-ids.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' patch-ids.c +gcc -o pager.o -c -MF ./.depend/pager.o.d -MQ pager.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pager.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pager.o -c -MF ./.depend/pager.o.d -MQ pager.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pager.c +gcc -o pack-write.o -c -MF ./.depend/pack-write.o.d -MQ pack-write.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-write.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o parse-options-cb.o -c -MF ./.depend/parse-options-cb.o.d -MQ parse-options-cb.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' parse-options-cb.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o notes-merge.o -c -MF ./.depend/notes-merge.o.d -MQ notes-merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes-merge.c +gcc -o merge-recursive.o -c -MF ./.depend/merge-recursive.o.d -MQ merge-recursive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-recursive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pack-bitmap-write.o -c -MF ./.depend/pack-bitmap-write.o.d -MQ pack-bitmap-write.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-bitmap-write.c +gcc -o patch-delta.o -c -MF ./.depend/patch-delta.o.d -MQ patch-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' patch-delta.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o preload-index.o -c -MF ./.depend/preload-index.o.d -MQ preload-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' preload-index.c +gcc -o patch-ids.o -c -MF ./.depend/patch-ids.o.d -MQ patch-ids.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' patch-ids.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o notes.o -c -MF ./.depend/notes.o.d -MQ notes.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' notes.c +gcc -o diff.o -c -MF ./.depend/diff.o.d -MQ diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o prio-queue.o -c -MF ./.depend/prio-queue.o.d -MQ prio-queue.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' prio-queue.c +gcc -o pack-bitmap.o -c -MF ./.depend/pack-bitmap.o.d -MQ pack-bitmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-bitmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o midx.o -c -MF ./.depend/midx.o.d -MQ midx.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' midx.c +gcc -o preload-index.o -c -MF ./.depend/preload-index.o.d -MQ preload-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' preload-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o promisor-remote.o -c -MF ./.depend/promisor-remote.o.d -MQ promisor-remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' promisor-remote.c +gcc -o parse-options.o -c -MF ./.depend/parse-options.o.d -MQ parse-options.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' parse-options.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o progress.o -c -MF ./.depend/progress.o.d -MQ progress.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' progress.c +gcc -o pathspec.o -c -MF ./.depend/pathspec.o.d -MQ pathspec.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pathspec.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o prompt.o -c -MF ./.depend/prompt.o.d -MQ prompt.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' prompt.c +gcc -o prio-queue.o -c -MF ./.depend/prio-queue.o.d -MQ prio-queue.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' prio-queue.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o protocol.o -c -MF ./.depend/protocol.o.d -MQ protocol.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' protocol.c +gcc -o pkt-line.o -c -MF ./.depend/pkt-line.o.d -MQ pkt-line.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pkt-line.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o prune-packed.o -c -MF ./.depend/prune-packed.o.d -MQ prune-packed.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' prune-packed.c +gcc -o prompt.o -c -MF ./.depend/prompt.o.d -MQ prompt.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' prompt.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pkt-line.o -c -MF ./.depend/pkt-line.o.d -MQ pkt-line.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pkt-line.c +gcc -o progress.o -c -MF ./.depend/progress.o.d -MQ progress.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' progress.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pathspec.o -c -MF ./.depend/pathspec.o.d -MQ pathspec.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pathspec.c +gcc -o protocol.o -c -MF ./.depend/protocol.o.d -MQ protocol.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' protocol.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o rebase.o -c -MF ./.depend/rebase.o.d -MQ rebase.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' rebase.c +gcc -o path.o -c -MF ./.depend/path.o.d -MQ path.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' path.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o parse-options.o -c -MF ./.depend/parse-options.o.d -MQ parse-options.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' parse-options.c +gcc -o promisor-remote.o -c -MF ./.depend/promisor-remote.o.d -MQ promisor-remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' promisor-remote.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o reachable.o -c -MF ./.depend/reachable.o.d -MQ reachable.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' reachable.c +gcc -o packfile.o -c -MF ./.depend/packfile.o.d -MQ packfile.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' packfile.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o path.o -c -MF ./.depend/path.o.d -MQ path.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' path.c +gcc -o prune-packed.o -c -MF ./.depend/prune-packed.o.d -MQ prune-packed.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' prune-packed.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o rebase-interactive.o -c -MF ./.depend/rebase-interactive.o.d -MQ rebase-interactive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' rebase-interactive.c +gcc -o rebase.o -c -MF ./.depend/rebase.o.d -MQ rebase.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' rebase.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pack-bitmap.o -c -MF ./.depend/pack-bitmap.o.d -MQ pack-bitmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pack-bitmap.c +gcc -o reachable.o -c -MF ./.depend/reachable.o.d -MQ reachable.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' reachable.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o rebase-interactive.o -c -MF ./.depend/rebase-interactive.o.d -MQ rebase-interactive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' rebase-interactive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o quote.o -c -MF ./.depend/quote.o.d -MQ quote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' quote.c @@ -1407,115 +1456,115 @@ gcc -o reflog-walk.o -c -MF ./.depend/reflog-walk.o.d -MQ reflog-walk.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' reflog-walk.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o refs/debug.o -c -MF refs/.depend/debug.o.d -MQ refs/debug.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/debug.c +gcc -o range-diff.o -c -MF ./.depend/range-diff.o.d -MQ range-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' range-diff.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o range-diff.o -c -MF ./.depend/range-diff.o.d -MQ range-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' range-diff.c +gcc -o pretty.o -c -MF ./.depend/pretty.o.d -MQ pretty.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pretty.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o refs/iterator.o -c -MF refs/.depend/iterator.o.d -MQ refs/iterator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/iterator.c +gcc -o refs/debug.o -c -MF refs/.depend/debug.o.d -MQ refs/debug.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/debug.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o packfile.o -c -MF ./.depend/packfile.o.d -MQ packfile.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' packfile.c +gcc -o refs/iterator.o -c -MF refs/.depend/iterator.o.d -MQ refs/iterator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/iterator.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o refspec.o -c -MF ./.depend/refspec.o.d -MQ refspec.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refspec.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o refs/ref-cache.o -c -MF refs/.depend/ref-cache.o.d -MQ refs/ref-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/ref-cache.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' gcc -o replace-object.o -c -MF ./.depend/replace-object.o.d -MQ replace-object.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' replace-object.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o repo-settings.o -c -MF ./.depend/repo-settings.o.d -MQ repo-settings.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' repo-settings.c +gcc -o refs/packed-backend.o -c -MF refs/.depend/packed-backend.o.d -MQ refs/packed-backend.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/packed-backend.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o refs/ref-cache.o -c -MF refs/.depend/ref-cache.o.d -MQ refs/ref-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/ref-cache.c +gcc -o repo-settings.o -c -MF ./.depend/repo-settings.o.d -MQ repo-settings.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' repo-settings.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o repository.o -c -MF ./.depend/repository.o.d -MQ repository.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' repository.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o pretty.o -c -MF ./.depend/pretty.o.d -MQ pretty.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' pretty.c +gcc -o refs/files-backend.o -c -MF refs/.depend/files-backend.o.d -MQ refs/files-backend.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/files-backend.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o reset.o -c -MF ./.depend/reset.o.d -MQ reset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' reset.c +gcc -o refs.o -c -MF ./.depend/refs.o.d -MQ refs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o resolve-undo.o -c -MF ./.depend/resolve-undo.o.d -MQ resolve-undo.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' resolve-undo.c +gcc -o ref-filter.o -c -MF ./.depend/ref-filter.o.d -MQ ref-filter.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ref-filter.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o refs/packed-backend.o -c -MF refs/.depend/packed-backend.o.d -MQ refs/packed-backend.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/packed-backend.c +gcc -o read-cache.o -c -MF ./.depend/read-cache.o.d -MQ read-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' read-cache.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o merge-recursive.o -c -MF ./.depend/merge-recursive.o.d -MQ merge-recursive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' merge-recursive.c +gcc -o reset.o -c -MF ./.depend/reset.o.d -MQ reset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' reset.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o serve.o -c -MF ./.depend/serve.o.d -MQ serve.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' serve.c +gcc -o resolve-undo.o -c -MF ./.depend/resolve-undo.o.d -MQ resolve-undo.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' resolve-undo.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o server-info.o -c -MF ./.depend/server-info.o.d -MQ server-info.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' server-info.c +gcc -o serve.o -c -MF ./.depend/serve.o.d -MQ serve.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' serve.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha1-lookup.o -c -MF ./.depend/sha1-lookup.o.d -MQ sha1-lookup.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1-lookup.c +gcc -o rerere.o -c -MF ./.depend/rerere.o.d -MQ rerere.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' rerere.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o send-pack.o -c -MF ./.depend/send-pack.o.d -MQ send-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' send-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o rerere.o -c -MF ./.depend/rerere.o.d -MQ rerere.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' rerere.c +gcc -o server-info.o -c -MF ./.depend/server-info.o.d -MQ server-info.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' server-info.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o refs.o -c -MF ./.depend/refs.o.d -MQ refs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs.c +gcc -o sha1-lookup.o -c -MF ./.depend/sha1-lookup.o.d -MQ sha1-lookup.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1-lookup.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sigchain.o -c -MF ./.depend/sigchain.o.d -MQ sigchain.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sigchain.c +gcc -o run-command.o -c -MF ./.depend/run-command.o.d -MQ run-command.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' run-command.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sideband.o -c -MF ./.depend/sideband.o.d -MQ sideband.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sideband.c +gcc -o remote.o -c -MF ./.depend/remote.o.d -MQ remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' remote.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o stable-qsort.o -c -MF ./.depend/stable-qsort.o.d -MQ stable-qsort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' stable-qsort.c +gcc -o sideband.o -c -MF ./.depend/sideband.o.d -MQ sideband.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sideband.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ref-filter.o -c -MF ./.depend/ref-filter.o.d -MQ ref-filter.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ref-filter.c +gcc -o sigchain.o -c -MF ./.depend/sigchain.o.d -MQ sigchain.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sigchain.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o refs/files-backend.o -c -MF refs/.depend/files-backend.o.d -MQ refs/files-backend.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' refs/files-backend.c +gcc -o setup.o -c -MF ./.depend/setup.o.d -MQ setup.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' setup.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o run-command.o -c -MF ./.depend/run-command.o.d -MQ run-command.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' run-command.c +gcc -o shallow.o -c -MF ./.depend/shallow.o.d -MQ shallow.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' shallow.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o setup.o -c -MF ./.depend/setup.o.d -MQ setup.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' setup.c +gcc -o stable-qsort.o -c -MF ./.depend/stable-qsort.o.d -MQ stable-qsort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' stable-qsort.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o split-index.o -c -MF ./.depend/split-index.o.d -MQ split-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' split-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o strvec.o -c -MF ./.depend/strvec.o.d -MQ strvec.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' strvec.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o strmap.o -c -MF ./.depend/strmap.o.d -MQ strmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' strmap.c +gcc -o streaming.o -c -MF ./.depend/streaming.o.d -MQ streaming.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' streaming.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o read-cache.o -c -MF ./.depend/read-cache.o.d -MQ read-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' read-cache.c +gcc -o sha1-name.o -c -MF ./.depend/sha1-name.o.d -MQ sha1-name.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1-name.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o shallow.o -c -MF ./.depend/shallow.o.d -MQ shallow.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' shallow.c +gcc -o strmap.o -c -MF ./.depend/strmap.o.d -MQ strmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' strmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o streaming.o -c -MF ./.depend/streaming.o.d -MQ streaming.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' streaming.c +gcc -o string-list.o -c -MF ./.depend/string-list.o.d -MQ string-list.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' string-list.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o string-list.o -c -MF ./.depend/string-list.o.d -MQ string-list.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' string-list.c +gcc -o strvec.o -c -MF ./.depend/strvec.o.d -MQ strvec.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' strvec.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o remote.o -c -MF ./.depend/remote.o.d -MQ remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' remote.c +gcc -o sha1-file.o -c -MF ./.depend/sha1-file.o.d -MQ sha1-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1-file.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o sub-process.o -c -MF ./.depend/sub-process.o.d -MQ sub-process.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sub-process.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o thread-utils.o -c -MF ./.depend/thread-utils.o.d -MQ thread-utils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' thread-utils.c +gcc -o strbuf.o -c -MF ./.depend/strbuf.o.d -MQ strbuf.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' strbuf.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o symlinks.o -c -MF ./.depend/symlinks.o.d -MQ symlinks.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' symlinks.c @@ -1524,33 +1573,31 @@ gcc -o tag.o -c -MF ./.depend/tag.o.d -MQ tag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tag.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o tempfile.o -c -MF ./.depend/tempfile.o.d -MQ tempfile.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tempfile.c +gcc -o submodule-config.o -c -MF ./.depend/submodule-config.o.d -MQ submodule-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' submodule-config.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o tmp-objdir.o -c -MF ./.depend/tmp-objdir.o.d -MQ tmp-objdir.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tmp-objdir.c +gcc -o thread-utils.o -c -MF ./.depend/thread-utils.o.d -MQ thread-utils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' thread-utils.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_cmd_name.o -c -MF trace2/.depend/tr2_cmd_name.o.d -MQ trace2/tr2_cmd_name.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_cmd_name.c +gcc -o tempfile.o -c -MF ./.depend/tempfile.o.d -MQ tempfile.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tempfile.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha1-name.o -c -MF ./.depend/sha1-name.o.d -MQ sha1-name.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1-name.c +gcc -o revision.o -c -MF ./.depend/revision.o.d -MQ revision.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' revision.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_cfg.o -c -MF trace2/.depend/tr2_cfg.o.d -MQ trace2/tr2_cfg.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_cfg.c +gcc -o tmp-objdir.o -c -MF ./.depend/tmp-objdir.o.d -MQ tmp-objdir.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tmp-objdir.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_sid.o -c -MF trace2/.depend/tr2_sid.o.d -MQ trace2/tr2_sid.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_sid.c +gcc -o trace2/tr2_cfg.o -c -MF trace2/.depend/tr2_cfg.o.d -MQ trace2/tr2_cfg.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_cfg.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -/bin/sh ./generate-cmdlist.sh \ - \ - command-list.txt >command-list.h+ && mv command-list.h+ command-list.h +gcc -o trace2/tr2_cmd_name.o -c -MF trace2/.depend/tr2_cmd_name.o.d -MQ trace2/tr2_cmd_name.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_cmd_name.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o submodule-config.o -c -MF ./.depend/submodule-config.o.d -MQ submodule-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' submodule-config.c +gcc -o trace.o -c -MF ./.depend/trace.o.d -MQ trace.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace.o -c -MF ./.depend/trace.o.d -MQ trace.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace.c +gcc -o trace2/tr2_sid.o -c -MF trace2/.depend/tr2_sid.o.d -MQ trace2/tr2_sid.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_sid.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o trace2/tr2_sysenv.o -c -MF trace2/.depend/tr2_sysenv.o.d -MQ trace2/tr2_sysenv.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_sysenv.c @@ -1559,186 +1606,198 @@ gcc -o trace2/tr2_dst.o -c -MF trace2/.depend/tr2_dst.o.d -MQ trace2/tr2_dst.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_dst.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_tbuf.o -c -MF trace2/.depend/tr2_tbuf.o.d -MQ trace2/tr2_tbuf.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tbuf.c +gcc -o trace2.o -c -MF ./.depend/trace2.o.d -MQ trace2.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2.o -c -MF ./.depend/trace2.o.d -MQ trace2.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2.c +gcc -o trace2/tr2_tbuf.o -c -MF trace2/.depend/tr2_tbuf.o.d -MQ trace2/tr2_tbuf.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tbuf.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha1-file.o -c -MF ./.depend/sha1-file.o.d -MQ sha1-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1-file.c +gcc -o trace2/tr2_tgt_normal.o -c -MF trace2/.depend/tr2_tgt_normal.o.d -MQ trace2/tr2_tgt_normal.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tgt_normal.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o trace2/tr2_tls.o -c -MF trace2/.depend/tr2_tls.o.d -MQ trace2/tr2_tls.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tls.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o diff.o -c -MF ./.depend/diff.o.d -MQ diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' diff.c +gcc -o trace2/tr2_tgt_event.o -c -MF trace2/.depend/tr2_tgt_event.o.d -MQ trace2/tr2_tgt_event.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tgt_event.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_tgt_normal.o -c -MF trace2/.depend/tr2_tgt_normal.o.d -MQ trace2/tr2_tgt_normal.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tgt_normal.c +gcc -o submodule.o -c -MF ./.depend/submodule.o.d -MQ submodule.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' submodule.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_tgt_event.o -c -MF trace2/.depend/tr2_tgt_event.o.d -MQ trace2/tr2_tgt_event.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tgt_event.c +gcc -o trace2/tr2_tgt_perf.o -c -MF trace2/.depend/tr2_tgt_perf.o.d -MQ trace2/tr2_tgt_perf.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tgt_perf.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o strbuf.o -c -MF ./.depend/strbuf.o.d -MQ strbuf.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' strbuf.c +gcc -o tree-diff.o -c -MF ./.depend/tree-diff.o.d -MQ tree-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tree-diff.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o tree.o -c -MF ./.depend/tree.o.d -MQ tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o url.o -c -MF ./.depend/url.o.d -MQ url.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' url.c +gcc -o trailer.o -c -MF ./.depend/trailer.o.d -MQ trailer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trailer.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trace2/tr2_tgt_perf.o -c -MF trace2/.depend/tr2_tgt_perf.o.d -MQ trace2/tr2_tgt_perf.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trace2/tr2_tgt_perf.c +gcc -o sequencer.o -c -MF ./.depend/sequencer.o.d -MQ sequencer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sequencer.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o tree-diff.o -c -MF ./.depend/tree-diff.o.d -MQ tree-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tree-diff.c +gcc -o transport.o -c -MF ./.depend/transport.o.d -MQ transport.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' transport.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o varint.o -c -MF ./.depend/varint.o.d -MQ varint.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' varint.c +gcc -o url.o -c -MF ./.depend/url.o.d -MQ url.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' url.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o tree-walk.o -c -MF ./.depend/tree-walk.o.d -MQ tree-walk.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tree-walk.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o usage.o -c -MF ./.depend/usage.o.d -MQ usage.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' usage.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o userdiff.o -c -MF ./.depend/userdiff.o.d -MQ userdiff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' userdiff.c +gcc -o transport-helper.o -c -MF ./.depend/transport-helper.o.d -MQ transport-helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' transport-helper.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o varint.o -c -MF ./.depend/varint.o.d -MQ varint.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' varint.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o urlmatch.o -c -MF ./.depend/urlmatch.o.d -MQ urlmatch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' urlmatch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o versioncmp.o -c -MF ./.depend/versioncmp.o.d -MQ versioncmp.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' versioncmp.c +gcc -o userdiff.o -c -MF ./.depend/userdiff.o.d -MQ userdiff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' userdiff.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o tree-walk.o -c -MF ./.depend/tree-walk.o.d -MQ tree-walk.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' tree-walk.c +gcc -o versioncmp.o -c -MF ./.depend/versioncmp.o.d -MQ versioncmp.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' versioncmp.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o trailer.o -c -MF ./.depend/trailer.o.d -MQ trailer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' trailer.c +gcc -o wildmatch.o -c -MF ./.depend/wildmatch.o.d -MQ wildmatch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' wildmatch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o revision.o -c -MF ./.depend/revision.o.d -MQ revision.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' revision.c +gcc -o walker.o -c -MF ./.depend/walker.o.d -MQ walker.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' walker.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o submodule.o -c -MF ./.depend/submodule.o.d -MQ submodule.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' submodule.c +gcc -o utf8.o -c -MF ./.depend/utf8.o.d -MQ utf8.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' utf8.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o transport.o -c -MF ./.depend/transport.o.d -MQ transport.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' transport.c +gcc -o upload-pack.o -c -MF ./.depend/upload-pack.o.d -MQ upload-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' upload-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o wildmatch.o -c -MF ./.depend/wildmatch.o.d -MQ wildmatch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' wildmatch.c +gcc -o write-or-die.o -c -MF ./.depend/write-or-die.o.d -MQ write-or-die.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' write-or-die.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o walker.o -c -MF ./.depend/walker.o.d -MQ walker.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' walker.c +gcc -o worktree.o -c -MF ./.depend/worktree.o.d -MQ worktree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' worktree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o write-or-die.o -c -MF ./.depend/write-or-die.o.d -MQ write-or-die.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' write-or-die.c +gcc -o wrapper.o -c -MF ./.depend/wrapper.o.d -MQ wrapper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' wrapper.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o utf8.o -c -MF ./.depend/utf8.o.d -MQ utf8.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' utf8.c +gcc -o ws.o -c -MF ./.depend/ws.o.d -MQ ws.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ws.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o transport-helper.o -c -MF ./.depend/transport-helper.o.d -MQ transport-helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' transport-helper.c +gcc -o zlib.o -c -MF ./.depend/zlib.o.d -MQ zlib.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' zlib.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha1dc_git.o -c -MF ./.depend/sha1dc_git.o.d -MQ sha1dc_git.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1dc_git.c +gcc -o xdiff-interface.o -c -MF ./.depend/xdiff-interface.o.d -MQ xdiff-interface.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff-interface.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o unix-socket.o -c -MF ./.depend/unix-socket.o.d -MQ unix-socket.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' unix-socket.c +gcc -o unpack-trees.o -c -MF ./.depend/unpack-trees.o.d -MQ unpack-trees.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' unpack-trees.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o compat/fopen.o -c -MF compat/.depend/fopen.o.d -MQ compat/fopen.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/fopen.c +gcc -o unix-socket.o -c -MF ./.depend/unix-socket.o.d -MQ unix-socket.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' unix-socket.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o ws.o -c -MF ./.depend/ws.o.d -MQ ws.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' ws.c +gcc -o sha1dc_git.o -c -MF ./.depend/sha1dc_git.o.d -MQ sha1dc_git.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1dc_git.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o compat/strlcpy.o -c -MF compat/.depend/strlcpy.o.d -MQ compat/strlcpy.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/strlcpy.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o wrapper.o -c -MF ./.depend/wrapper.o.d -MQ wrapper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' wrapper.c +gcc -o compat/fopen.o -c -MF compat/.depend/fopen.o.d -MQ compat/fopen.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/fopen.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o worktree.o -c -MF ./.depend/worktree.o.d -MQ worktree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' worktree.c +gcc -o compat/qsort_s.o -c -MF compat/.depend/qsort_s.o.d -MQ compat/qsort_s.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/qsort_s.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o zlib.o -c -MF ./.depend/zlib.o.d -MQ zlib.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' zlib.c +gcc -o sha1dc/ubc_check.o -c -MF sha1dc/.depend/ubc_check.o.d -MQ sha1dc/ubc_check.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1dc/ubc_check.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o upload-pack.o -c -MF ./.depend/upload-pack.o.d -MQ upload-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' upload-pack.c +gcc -o xdiff/xemit.o -c -MF xdiff/.depend/xemit.o.d -MQ xdiff/xemit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xemit.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff-interface.o -c -MF ./.depend/xdiff-interface.o.d -MQ xdiff-interface.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff-interface.c +gcc -o xdiff/xhistogram.o -c -MF xdiff/.depend/xhistogram.o.d -MQ xdiff/xhistogram.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xhistogram.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o compat/qsort_s.o -c -MF compat/.depend/qsort_s.o.d -MQ compat/qsort_s.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' compat/qsort_s.c +gcc -o sha256/block/sha256.o -c -MF sha256/block/.depend/sha256.o.d -MQ sha256/block/sha256.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha256/block/sha256.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha1dc/ubc_check.o -c -MF sha1dc/.depend/ubc_check.o.d -MQ sha1dc/ubc_check.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1dc/ubc_check.c +gcc -o xdiff/xdiffi.o -c -MF xdiff/.depend/xdiffi.o.d -MQ xdiff/xdiffi.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xdiffi.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff/xemit.o -c -MF xdiff/.depend/xemit.o.d -MQ xdiff/xemit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xemit.c +gcc -o xdiff/xpatience.o -c -MF xdiff/.depend/xpatience.o.d -MQ xdiff/xpatience.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xpatience.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff/xpatience.o -c -MF xdiff/.depend/xpatience.o.d -MQ xdiff/xpatience.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xpatience.c +gcc -o xdiff/xmerge.o -c -MF xdiff/.depend/xmerge.o.d -MQ xdiff/xmerge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xmerge.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o xdiff/xprepare.o -c -MF xdiff/.depend/xprepare.o.d -MQ xdiff/xprepare.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xprepare.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff/xhistogram.o -c -MF xdiff/.depend/xhistogram.o.d -MQ xdiff/xhistogram.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xhistogram.c +gcc -o sha1dc/sha1.o -c -MF sha1dc/.depend/sha1.o.d -MQ sha1dc/sha1.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1dc/sha1.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o xdiff/xutils.o -c -MF xdiff/.depend/xutils.o.d -MQ xdiff/xutils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xutils.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o sh-i18n--envsubst.o -c -MF ./.depend/sh-i18n--envsubst.o.d -MQ sh-i18n--envsubst.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sh-i18n--envsubst.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o http-backend.o -c -MF ./.depend/http-backend.o.d -MQ http-backend.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-backend.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' gcc -o shell.o -c -MF ./.depend/shell.o.d -MQ shell.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' shell.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o http-fetch.o -c -MF ./.depend/http-fetch.o.d -MQ http-fetch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-fetch.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' * new script parameters make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' * new perl-specific parameters make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff/xutils.o -c -MF xdiff/.depend/xutils.o.d -MQ xdiff/xutils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xutils.c +gcc -o imap-send.o -c -MF ./.depend/imap-send.o.d -MQ imap-send.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' imap-send.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' * new Python interpreter location make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o http-walker.o -c -MF ./.depend/http-walker.o.d -MQ http-walker.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-walker.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-instaweb git-instaweb+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-instaweb.sh >git-instaweb+ && \ chmod +x git-instaweb+ && \ mv git-instaweb+ git-instaweb make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o http-fetch.o -c -MF ./.depend/http-fetch.o.d -MQ http-fetch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-fetch.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o unpack-trees.o -c -MF ./.depend/unpack-trees.o.d -MQ unpack-trees.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' unpack-trees.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff/xmerge.o -c -MF xdiff/.depend/xmerge.o.d -MQ xdiff/xmerge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xmerge.c +gcc -o wt-status.o -c -MF ./.depend/wt-status.o.d -MQ wt-status.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' wt-status.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha256/block/sha256.o -c -MF sha256/block/.depend/sha256.o.d -MQ sha256/block/sha256.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha256/block/sha256.c +gcc -o builtin/annotate.o -c -MF builtin/.depend/annotate.o.d -MQ builtin/annotate.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/annotate.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o http-backend.o -c -MF ./.depend/http-backend.o.d -MQ http-backend.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-backend.c +gcc -o builtin/apply.o -c -MF builtin/.depend/apply.o.d -MQ builtin/apply.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/apply.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/annotate.o -c -MF builtin/.depend/annotate.o.d -MQ builtin/annotate.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/annotate.c +gcc -o builtin/add.o -c -MF builtin/.depend/add.o.d -MQ builtin/add.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/add.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/apply.o -c -MF builtin/.depend/apply.o.d -MQ builtin/apply.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/apply.c +gcc -o builtin/archive.o -c -MF builtin/.depend/archive.o.d -MQ builtin/archive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/archive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o xdiff/xdiffi.o -c -MF xdiff/.depend/xdiffi.o.d -MQ xdiff/xdiffi.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' xdiff/xdiffi.c +gcc -o remote-curl.o -c -MF ./.depend/remote-curl.o.d -MQ remote-curl.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' remote-curl.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o http-walker.o -c -MF ./.depend/http-walker.o.d -MQ http-walker.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-walker.c +gcc -o http-push.o -c -MF ./.depend/http-push.o.d -MQ http-push.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-push.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/archive.o -c -MF builtin/.depend/archive.o.d -MQ builtin/archive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/archive.c +gcc -o git.o -c -MF ./.depend/git.o.d -MQ git.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' '-DGIT_HTML_PATH="share/doc/git/html"' '-DGIT_MAN_PATH="share/man"' '-DGIT_INFO_PATH="share/info"' git.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/bugreport.o -c -MF builtin/.depend/bugreport.o.d -MQ builtin/bugreport.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/bugreport.c @@ -1747,67 +1806,64 @@ gcc -o builtin/bundle.o -c -MF builtin/.depend/bundle.o.d -MQ builtin/bundle.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/bundle.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/add.o -c -MF builtin/.depend/add.o.d -MQ builtin/add.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/add.c +gcc -o http.o -c -MF ./.depend/http.o.d -MQ http.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sha1dc/sha1.o -c -MF sha1dc/.depend/sha1.o.d -MQ sha1dc/sha1.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sha1dc/sha1.c +gcc -o builtin/bisect--helper.o -c -MF builtin/.depend/bisect--helper.o.d -MQ builtin/bisect--helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/bisect--helper.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/check-attr.o -c -MF builtin/.depend/check-attr.o.d -MQ builtin/check-attr.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/check-attr.c +gcc -o builtin/check-ignore.o -c -MF builtin/.depend/check-ignore.o.d -MQ builtin/check-ignore.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/check-ignore.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o imap-send.o -c -MF ./.depend/imap-send.o.d -MQ imap-send.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' imap-send.c +gcc -o builtin/am.o -c -MF builtin/.depend/am.o.d -MQ builtin/am.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/am.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/check-mailmap.o -c -MF builtin/.depend/check-mailmap.o.d -MQ builtin/check-mailmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/check-mailmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/check-ignore.o -c -MF builtin/.depend/check-ignore.o.d -MQ builtin/check-ignore.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/check-ignore.c +gcc -o builtin/check-attr.o -c -MF builtin/.depend/check-attr.o.d -MQ builtin/check-attr.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/check-attr.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/check-ref-format.o -c -MF builtin/.depend/check-ref-format.o.d -MQ builtin/check-ref-format.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/check-ref-format.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o git.o -c -MF ./.depend/git.o.d -MQ git.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' '-DGIT_HTML_PATH="share/doc/git/html"' '-DGIT_MAN_PATH="share/man"' '-DGIT_INFO_PATH="share/info"' git.c +gcc -o builtin/blame.o -c -MF builtin/.depend/blame.o.d -MQ builtin/blame.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/blame.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/cat-file.o -c -MF builtin/.depend/cat-file.o.d -MQ builtin/cat-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/cat-file.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/bisect--helper.o -c -MF builtin/.depend/bisect--helper.o.d -MQ builtin/bisect--helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/bisect--helper.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/checkout-index.o -c -MF builtin/.depend/checkout-index.o.d -MQ builtin/checkout-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/checkout-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/column.o -c -MF builtin/.depend/column.o.d -MQ builtin/column.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/column.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o wt-status.o -c -MF ./.depend/wt-status.o.d -MQ wt-status.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' wt-status.c +gcc -o builtin/branch.o -c -MF builtin/.depend/branch.o.d -MQ builtin/branch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/branch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o http-push.o -c -MF ./.depend/http-push.o.d -MQ http-push.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http-push.c +gcc -o builtin/commit-graph.o -c -MF builtin/.depend/commit-graph.o.d -MQ builtin/commit-graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/commit-graph.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o remote-curl.o -c -MF ./.depend/remote-curl.o.d -MQ remote-curl.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' remote-curl.c +gcc -o builtin/commit-tree.o -c -MF builtin/.depend/commit-tree.o.d -MQ builtin/commit-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/commit-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/commit-graph.o -c -MF builtin/.depend/commit-graph.o.d -MQ builtin/commit-graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/commit-graph.c +gcc -o builtin/count-objects.o -c -MF builtin/.depend/count-objects.o.d -MQ builtin/count-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/count-objects.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o http.o -c -MF ./.depend/http.o.d -MQ http.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' http.c +gcc -o builtin/config.o -c -MF builtin/.depend/config.o.d -MQ builtin/config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/config.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/commit-tree.o -c -MF builtin/.depend/commit-tree.o.d -MQ builtin/commit-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/commit-tree.c +gcc -o builtin/clean.o -c -MF builtin/.depend/clean.o.d -MQ builtin/clean.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/clean.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/credential-cache.o -c -MF builtin/.depend/credential-cache.o.d -MQ builtin/credential-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/credential-cache.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/count-objects.o -c -MF builtin/.depend/count-objects.o.d -MQ builtin/count-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/count-objects.c +gcc -o builtin/credential-cache--daemon.o -c -MF builtin/.depend/credential-cache--daemon.o.d -MQ builtin/credential-cache--daemon.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/credential-cache--daemon.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/branch.o -c -MF builtin/.depend/branch.o.d -MQ builtin/branch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/branch.c +gcc -o builtin/clone.o -c -MF builtin/.depend/clone.o.d -MQ builtin/clone.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/clone.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/credential.o -c -MF builtin/.depend/credential.o.d -MQ builtin/credential.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/credential.c @@ -1816,37 +1872,28 @@ gcc -o builtin/credential-store.o -c -MF builtin/.depend/credential-store.o.d -MQ builtin/credential-store.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/credential-store.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/credential-cache--daemon.o -c -MF builtin/.depend/credential-cache--daemon.o.d -MQ builtin/credential-cache--daemon.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/credential-cache--daemon.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/blame.o -c -MF builtin/.depend/blame.o.d -MQ builtin/blame.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/blame.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/diff-files.o -c -MF builtin/.depend/diff-files.o.d -MQ builtin/diff-files.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff-files.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/diff-index.o -c -MF builtin/.depend/diff-index.o.d -MQ builtin/diff-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o sequencer.o -c -MF ./.depend/sequencer.o.d -MQ sequencer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' sequencer.c +gcc -o builtin/diff-files.o -c -MF builtin/.depend/diff-files.o.d -MQ builtin/diff-files.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff-files.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/config.o -c -MF builtin/.depend/config.o.d -MQ builtin/config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/config.c +gcc -o builtin/diff-tree.o -c -MF builtin/.depend/diff-tree.o.d -MQ builtin/diff-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/diff-tree.o -c -MF builtin/.depend/diff-tree.o.d -MQ builtin/diff-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff-tree.c +gcc -o builtin/checkout.o -c -MF builtin/.depend/checkout.o.d -MQ builtin/checkout.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/checkout.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/env--helper.o -c -MF builtin/.depend/env--helper.o.d -MQ builtin/env--helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/env--helper.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/clean.o -c -MF builtin/.depend/clean.o.d -MQ builtin/clean.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/clean.c +gcc -o builtin/diff.o -c -MF builtin/.depend/diff.o.d -MQ builtin/diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/fmt-merge-msg.o -c -MF builtin/.depend/fmt-merge-msg.o.d -MQ builtin/fmt-merge-msg.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fmt-merge-msg.c +gcc -o builtin/describe.o -c -MF builtin/.depend/describe.o.d -MQ builtin/describe.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/describe.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/diff.o -c -MF builtin/.depend/diff.o.d -MQ builtin/diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/diff.c +gcc -o builtin/commit.o -c -MF builtin/.depend/commit.o.d -MQ builtin/commit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/commit.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/fetch-pack.o -c -MF builtin/.depend/fetch-pack.o.d -MQ builtin/fetch-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fetch-pack.c @@ -1855,44 +1902,44 @@ gcc -o builtin/for-each-repo.o -c -MF builtin/.depend/for-each-repo.o.d -MQ builtin/for-each-repo.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/for-each-repo.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -/bin/sh ./generate-configlist.sh \ - >config-list.h+ && mv config-list.h+ config-list.h +gcc -o builtin/fmt-merge-msg.o -c -MF builtin/.depend/fmt-merge-msg.o.d -MQ builtin/fmt-merge-msg.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fmt-merge-msg.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/am.o -c -MF builtin/.depend/am.o.d -MQ builtin/am.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/am.c +gcc -o builtin/difftool.o -c -MF builtin/.depend/difftool.o.d -MQ builtin/difftool.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/difftool.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/clone.o -c -MF builtin/.depend/clone.o.d -MQ builtin/clone.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/clone.c +gcc -o builtin/for-each-ref.o -c -MF builtin/.depend/for-each-ref.o.d -MQ builtin/for-each-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/for-each-ref.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/for-each-ref.o -c -MF builtin/.depend/for-each-ref.o.d -MQ builtin/for-each-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/for-each-ref.c +gcc -o builtin/get-tar-commit-id.o -c -MF builtin/.depend/get-tar-commit-id.o.d -MQ builtin/get-tar-commit-id.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/get-tar-commit-id.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/describe.o -c -MF builtin/.depend/describe.o.d -MQ builtin/describe.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/describe.c +gcc -o builtin/hash-object.o -c -MF builtin/.depend/hash-object.o.d -MQ builtin/hash-object.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/hash-object.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/get-tar-commit-id.o -c -MF builtin/.depend/get-tar-commit-id.o.d -MQ builtin/get-tar-commit-id.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/get-tar-commit-id.c +/bin/sh ./generate-configlist.sh \ + >config-list.h+ && mv config-list.h+ config-list.h make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/checkout.o -c -MF builtin/.depend/checkout.o.d -MQ builtin/checkout.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/checkout.c +gcc -o builtin/fast-export.o -c -MF builtin/.depend/fast-export.o.d -MQ builtin/fast-export.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fast-export.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/difftool.o -c -MF builtin/.depend/difftool.o.d -MQ builtin/difftool.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/difftool.c +gcc -o builtin/gc.o -c -MF builtin/.depend/gc.o.d -MQ builtin/gc.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/gc.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/hash-object.o -c -MF builtin/.depend/hash-object.o.d -MQ builtin/hash-object.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/hash-object.c +gcc -o builtin/fsck.o -c -MF builtin/.depend/fsck.o.d -MQ builtin/fsck.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fsck.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/interpret-trailers.o -c -MF builtin/.depend/interpret-trailers.o.d -MQ builtin/interpret-trailers.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/interpret-trailers.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/commit.o -c -MF builtin/.depend/commit.o.d -MQ builtin/commit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/commit.c +gcc -o builtin/fetch.o -c -MF builtin/.depend/fetch.o.d -MQ builtin/fetch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fetch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/fsck.o -c -MF builtin/.depend/fsck.o.d -MQ builtin/fsck.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fsck.c +gcc -o builtin/ls-remote.o -c -MF builtin/.depend/ls-remote.o.d -MQ builtin/ls-remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/ls-remote.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/fast-export.o -c -MF builtin/.depend/fast-export.o.d -MQ builtin/fast-export.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fast-export.c +gcc -o builtin/init-db.o -c -MF builtin/.depend/init-db.o.d -MQ builtin/init-db.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DDEFAULT_GIT_TEMPLATE_DIR='"share/git-core/templates"' builtin/init-db.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/mailinfo.o -c -MF builtin/.depend/mailinfo.o.d -MQ builtin/mailinfo.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mailinfo.c @@ -1901,34 +1948,37 @@ gcc -o builtin/ls-tree.o -c -MF builtin/.depend/ls-tree.o.d -MQ builtin/ls-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/ls-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/merge-file.o -c -MF builtin/.depend/merge-file.o.d -MQ builtin/merge-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-file.c +gcc -o builtin/ls-files.o -c -MF builtin/.depend/ls-files.o.d -MQ builtin/ls-files.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/ls-files.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/ls-remote.o -c -MF builtin/.depend/ls-remote.o.d -MQ builtin/ls-remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/ls-remote.c +gcc -o builtin/mailsplit.o -c -MF builtin/.depend/mailsplit.o.d -MQ builtin/mailsplit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mailsplit.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/merge-ours.o -c -MF builtin/.depend/merge-ours.o.d -MQ builtin/merge-ours.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-ours.c +gcc -o builtin/merge-file.o -c -MF builtin/.depend/merge-file.o.d -MQ builtin/merge-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-file.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/merge-base.o -c -MF builtin/.depend/merge-base.o.d -MQ builtin/merge-base.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-base.c +gcc -o builtin/index-pack.o -c -MF builtin/.depend/index-pack.o.d -MQ builtin/index-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/index-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/init-db.o -c -MF builtin/.depend/init-db.o.d -MQ builtin/init-db.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DDEFAULT_GIT_TEMPLATE_DIR='"share/git-core/templates"' builtin/init-db.c +gcc -o builtin/merge-base.o -c -MF builtin/.depend/merge-base.o.d -MQ builtin/merge-base.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-base.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/mailsplit.o -c -MF builtin/.depend/mailsplit.o.d -MQ builtin/mailsplit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mailsplit.c +gcc -o builtin/grep.o -c -MF builtin/.depend/grep.o.d -MQ builtin/grep.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/grep.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/merge-index.o -c -MF builtin/.depend/merge-index.o.d -MQ builtin/merge-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o builtin/merge-ours.o -c -MF builtin/.depend/merge-ours.o.d -MQ builtin/merge-ours.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-ours.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/merge-recursive.o -c -MF builtin/.depend/merge-recursive.o.d -MQ builtin/merge-recursive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-recursive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/ls-files.o -c -MF builtin/.depend/ls-files.o.d -MQ builtin/ls-files.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/ls-files.c +gcc -o builtin/merge-tree.o -c -MF builtin/.depend/merge-tree.o.d -MQ builtin/merge-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/gc.o -c -MF builtin/.depend/gc.o.d -MQ builtin/gc.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/gc.c +gcc -o builtin/mktag.o -c -MF builtin/.depend/mktag.o.d -MQ builtin/mktag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mktag.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/multi-pack-index.o -c -MF builtin/.depend/multi-pack-index.o.d -MQ builtin/multi-pack-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/multi-pack-index.c @@ -1937,170 +1987,176 @@ gcc -o builtin/mktree.o -c -MF builtin/.depend/mktree.o.d -MQ builtin/mktree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mktree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/merge-tree.o -c -MF builtin/.depend/merge-tree.o.d -MQ builtin/merge-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge-tree.c +gcc -o builtin/mv.o -c -MF builtin/.depend/mv.o.d -MQ builtin/mv.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mv.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/mktag.o -c -MF builtin/.depend/mktag.o.d -MQ builtin/mktag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mktag.c +gcc -o builtin/fast-import.o -c -MF builtin/.depend/fast-import.o.d -MQ builtin/fast-import.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fast-import.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o builtin/name-rev.o -c -MF builtin/.depend/name-rev.o.d -MQ builtin/name-rev.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/name-rev.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/pack-refs.o -c -MF builtin/.depend/pack-refs.o.d -MQ builtin/pack-refs.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pack-refs.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/prune-packed.o -c -MF builtin/.depend/prune-packed.o.d -MQ builtin/prune-packed.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/prune-packed.c +gcc -o builtin/log.o -c -MF builtin/.depend/log.o.d -MQ builtin/log.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/log.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/patch-id.o -c -MF builtin/.depend/patch-id.o.d -MQ builtin/patch-id.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/patch-id.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/mv.o -c -MF builtin/.depend/mv.o.d -MQ builtin/mv.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/mv.c +gcc -o builtin/prune-packed.o -c -MF builtin/.depend/prune-packed.o.d -MQ builtin/prune-packed.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/prune-packed.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/prune.o -c -MF builtin/.depend/prune.o.d -MQ builtin/prune.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/prune.c +gcc -o builtin/pack-redundant.o -c -MF builtin/.depend/pack-redundant.o.d -MQ builtin/pack-redundant.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pack-redundant.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/fetch.o -c -MF builtin/.depend/fetch.o.d -MQ builtin/fetch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fetch.c +gcc -o builtin/merge.o -c -MF builtin/.depend/merge.o.d -MQ builtin/merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/range-diff.o -c -MF builtin/.depend/range-diff.o.d -MQ builtin/range-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/range-diff.c +gcc -o builtin/notes.o -c -MF builtin/.depend/notes.o.d -MQ builtin/notes.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/notes.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/name-rev.o -c -MF builtin/.depend/name-rev.o.d -MQ builtin/name-rev.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/name-rev.c +gcc -o builtin/range-diff.o -c -MF builtin/.depend/range-diff.o.d -MQ builtin/range-diff.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/range-diff.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/pack-redundant.o -c -MF builtin/.depend/pack-redundant.o.d -MQ builtin/pack-redundant.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pack-redundant.c +gcc -o builtin/prune.o -c -MF builtin/.depend/prune.o.d -MQ builtin/prune.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/prune.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/remote-fd.o -c -MF builtin/.depend/remote-fd.o.d -MQ builtin/remote-fd.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/remote-fd.c +gcc -o builtin/pull.o -c -MF builtin/.depend/pull.o.d -MQ builtin/pull.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pull.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/index-pack.o -c -MF builtin/.depend/index-pack.o.d -MQ builtin/index-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/index-pack.c +gcc -o builtin/remote-ext.o -c -MF builtin/.depend/remote-ext.o.d -MQ builtin/remote-ext.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/remote-ext.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/read-tree.o -c -MF builtin/.depend/read-tree.o.d -MQ builtin/read-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/read-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/grep.o -c -MF builtin/.depend/grep.o.d -MQ builtin/grep.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/grep.c +gcc -o builtin/push.o -c -MF builtin/.depend/push.o.d -MQ builtin/push.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/push.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/remote-ext.o -c -MF builtin/.depend/remote-ext.o.d -MQ builtin/remote-ext.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/remote-ext.c +gcc -o builtin/remote-fd.o -c -MF builtin/.depend/remote-fd.o.d -MQ builtin/remote-fd.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/remote-fd.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/notes.o -c -MF builtin/.depend/notes.o.d -MQ builtin/notes.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/notes.c +gcc -o builtin/reflog.o -c -MF builtin/.depend/reflog.o.d -MQ builtin/reflog.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/reflog.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/pull.o -c -MF builtin/.depend/pull.o.d -MQ builtin/pull.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pull.c +gcc -o builtin/repack.o -c -MF builtin/.depend/repack.o.d -MQ builtin/repack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/repack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/rerere.o -c -MF builtin/.depend/rerere.o.d -MQ builtin/rerere.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rerere.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/push.o -c -MF builtin/.depend/push.o.d -MQ builtin/push.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/push.c +gcc -o builtin/replace.o -c -MF builtin/.depend/replace.o.d -MQ builtin/replace.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/replace.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/log.o -c -MF builtin/.depend/log.o.d -MQ builtin/log.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/log.c +gcc -o builtin/reset.o -c -MF builtin/.depend/reset.o.d -MQ builtin/reset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/reset.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/reflog.o -c -MF builtin/.depend/reflog.o.d -MQ builtin/reflog.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/reflog.c +gcc -o builtin/remote.o -c -MF builtin/.depend/remote.o.d -MQ builtin/remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/remote.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/merge.o -c -MF builtin/.depend/merge.o.d -MQ builtin/merge.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/merge.c +gcc -o builtin/rev-list.o -c -MF builtin/.depend/rev-list.o.d -MQ builtin/rev-list.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rev-list.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/reset.o -c -MF builtin/.depend/reset.o.d -MQ builtin/reset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/reset.c +gcc -o builtin/revert.o -c -MF builtin/.depend/revert.o.d -MQ builtin/revert.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/revert.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/revert.o -c -MF builtin/.depend/revert.o.d -MQ builtin/revert.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/revert.c +gcc -o builtin/rm.o -c -MF builtin/.depend/rm.o.d -MQ builtin/rm.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rm.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/repack.o -c -MF builtin/.depend/repack.o.d -MQ builtin/repack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/repack.c +gcc -o builtin/receive-pack.o -c -MF builtin/.depend/receive-pack.o.d -MQ builtin/receive-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/receive-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/show-index.o -c -MF builtin/.depend/show-index.o.d -MQ builtin/show-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/show-index.c +gcc -o builtin/pack-objects.o -c -MF builtin/.depend/pack-objects.o.d -MQ builtin/pack-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pack-objects.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/rm.o -c -MF builtin/.depend/rm.o.d -MQ builtin/rm.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rm.c +gcc -o builtin/show-index.o -c -MF builtin/.depend/show-index.o.d -MQ builtin/show-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/show-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/send-pack.o -c -MF builtin/.depend/send-pack.o.d -MQ builtin/send-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/send-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/replace.o -c -MF builtin/.depend/replace.o.d -MQ builtin/replace.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/replace.c +gcc -o builtin/show-ref.o -c -MF builtin/.depend/show-ref.o.d -MQ builtin/show-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/show-ref.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/show-ref.o -c -MF builtin/.depend/show-ref.o.d -MQ builtin/show-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/show-ref.c +gcc -o builtin/rebase.o -c -MF builtin/.depend/rebase.o.d -MQ builtin/rebase.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rebase.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/rev-list.o -c -MF builtin/.depend/rev-list.o.d -MQ builtin/rev-list.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rev-list.c +gcc -o builtin/shortlog.o -c -MF builtin/.depend/shortlog.o.d -MQ builtin/shortlog.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/shortlog.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/stripspace.o -c -MF builtin/.depend/stripspace.o.d -MQ builtin/stripspace.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/stripspace.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/shortlog.o -c -MF builtin/.depend/shortlog.o.d -MQ builtin/shortlog.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/shortlog.c +gcc -o builtin/rev-parse.o -c -MF builtin/.depend/rev-parse.o.d -MQ builtin/rev-parse.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rev-parse.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/unpack-file.o -c -MF builtin/.depend/unpack-file.o.d -MQ builtin/unpack-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/unpack-file.c +gcc -o builtin/sparse-checkout.o -c -MF builtin/.depend/sparse-checkout.o.d -MQ builtin/sparse-checkout.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/sparse-checkout.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/symbolic-ref.o -c -MF builtin/.depend/symbolic-ref.o.d -MQ builtin/symbolic-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/symbolic-ref.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/sparse-checkout.o -c -MF builtin/.depend/sparse-checkout.o.d -MQ builtin/sparse-checkout.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/sparse-checkout.c +gcc -o builtin/unpack-file.o -c -MF builtin/.depend/unpack-file.o.d -MQ builtin/unpack-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/unpack-file.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o builtin/show-branch.o -c -MF builtin/.depend/show-branch.o.d -MQ builtin/show-branch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/show-branch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/update-server-info.o -c -MF builtin/.depend/update-server-info.o.d -MQ builtin/update-server-info.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/update-server-info.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/show-branch.o -c -MF builtin/.depend/show-branch.o.d -MQ builtin/show-branch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/show-branch.c +gcc -o builtin/unpack-objects.o -c -MF builtin/.depend/unpack-objects.o.d -MQ builtin/unpack-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/unpack-objects.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/upload-archive.o -c -MF builtin/.depend/upload-archive.o.d -MQ builtin/upload-archive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/upload-archive.c +gcc -o builtin/update-ref.o -c -MF builtin/.depend/update-ref.o.d -MQ builtin/update-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/update-ref.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/rev-parse.o -c -MF builtin/.depend/rev-parse.o.d -MQ builtin/rev-parse.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rev-parse.c +gcc -o builtin/stash.o -c -MF builtin/.depend/stash.o.d -MQ builtin/stash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/stash.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o builtin/upload-archive.o -c -MF builtin/.depend/upload-archive.o.d -MQ builtin/upload-archive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/upload-archive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/upload-pack.o -c -MF builtin/.depend/upload-pack.o.d -MQ builtin/upload-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/upload-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/update-ref.o -c -MF builtin/.depend/update-ref.o.d -MQ builtin/update-ref.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/update-ref.c +gcc -o builtin/var.o -c -MF builtin/.depend/var.o.d -MQ builtin/var.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/var.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/receive-pack.o -c -MF builtin/.depend/receive-pack.o.d -MQ builtin/receive-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/receive-pack.c +gcc -o builtin/verify-commit.o -c -MF builtin/.depend/verify-commit.o.d -MQ builtin/verify-commit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/verify-commit.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/unpack-objects.o -c -MF builtin/.depend/unpack-objects.o.d -MQ builtin/unpack-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/unpack-objects.c +gcc -o builtin/verify-tag.o -c -MF builtin/.depend/verify-tag.o.d -MQ builtin/verify-tag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/verify-tag.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-rebase--preserve-merges git-rebase--preserve-merges+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-rebase--preserve-merges.sh >git-rebase--preserve-merges+ && \ -mv git-rebase--preserve-merges+ git-rebase--preserve-merges +gcc -o builtin/verify-pack.o -c -MF builtin/.depend/verify-pack.o.d -MQ builtin/verify-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/verify-pack.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-mergetool--lib git-mergetool--lib+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-mergetool--lib.sh >git-mergetool--lib+ && \ mv git-mergetool--lib+ git-mergetool--lib make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-sh-i18n git-sh-i18n+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-sh-i18n.sh >git-sh-i18n+ && \ -mv git-sh-i18n+ git-sh-i18n -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/fast-import.o -c -MF builtin/.depend/fast-import.o.d -MQ builtin/fast-import.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/fast-import.c +rm -f git-rebase--preserve-merges git-rebase--preserve-merges+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-rebase--preserve-merges.sh >git-rebase--preserve-merges+ && \ +mv git-rebase--preserve-merges+ git-rebase--preserve-merges make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/var.o -c -MF builtin/.depend/var.o.d -MQ builtin/var.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/var.c +rm -f git-sh-i18n git-sh-i18n+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-sh-i18n.sh >git-sh-i18n+ && \ +mv git-sh-i18n+ git-sh-i18n make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-sh-setup git-sh-setup+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-sh-setup.sh >git-sh-setup+ && \ mv git-sh-setup+ git-sh-setup make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/remote.o -c -MF builtin/.depend/remote.o.d -MQ builtin/remote.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/remote.c +gcc -o builtin/tag.o -c -MF builtin/.depend/tag.o.d -MQ builtin/tag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/tag.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f xdiff/lib.a && ar rcs xdiff/lib.a xdiff/xdiffi.o xdiff/xemit.o xdiff/xhistogram.o xdiff/xmerge.o xdiff/xpatience.o xdiff/xprepare.o xdiff/xutils.o +gcc -o builtin/write-tree.o -c -MF builtin/.depend/write-tree.o.d -MQ builtin/write-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/write-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/verify-commit.o -c -MF builtin/.depend/verify-commit.o.d -MQ builtin/verify-commit.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/verify-commit.c +rm -f xdiff/lib.a && ar rcs xdiff/lib.a xdiff/xdiffi.o xdiff/xemit.o xdiff/xhistogram.o xdiff/xmerge.o xdiff/xpatience.o xdiff/xprepare.o xdiff/xutils.o make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-bisect git-bisect+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-bisect.sh >git-bisect+ && \ @@ -2113,9 +2169,12 @@ mv git-difftool--helper+ git-difftool--helper make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-merge-one-file git-merge-one-file+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-merge-one-file.sh >git-merge-one-file+ && \ -chmod +x git-merge-one-file+ && \ -mv git-merge-one-file+ git-merge-one-file +gcc -o version.o -c -MF ./.depend/version.o.d -MQ version.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' '-DGIT_VERSION="2.30.2"' '-DGIT_USER_AGENT="git/2.30.2"' '-DGIT_BUILT_FROM_COMMIT=""' version.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +rm -f git-filter-branch git-filter-branch+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-filter-branch.sh >git-filter-branch+ && \ +chmod +x git-filter-branch+ && \ +mv git-filter-branch+ git-filter-branch make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-merge-octopus git-merge-octopus+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-merge-octopus.sh >git-merge-octopus+ && \ @@ -2123,19 +2182,22 @@ mv git-merge-octopus+ git-merge-octopus make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-merge-one-file git-merge-one-file+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-merge-one-file.sh >git-merge-one-file+ && \ +chmod +x git-merge-one-file+ && \ +mv git-merge-one-file+ git-merge-one-file +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-merge-resolve git-merge-resolve+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-merge-resolve.sh >git-merge-resolve+ && \ chmod +x git-merge-resolve+ && \ mv git-merge-resolve+ git-merge-resolve make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-filter-branch git-filter-branch+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-filter-branch.sh >git-filter-branch+ && \ -chmod +x git-filter-branch+ && \ -mv git-filter-branch+ git-filter-branch +rm -f git-mergetool git-mergetool+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-mergetool.sh >git-mergetool+ && \ +chmod +x git-mergetool+ && \ +mv git-mergetool+ git-mergetool make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-request-pull git-request-pull+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-request-pull.sh >git-request-pull+ && \ -chmod +x git-request-pull+ && \ -mv git-request-pull+ git-request-pull +gcc -o builtin/update-index.o -c -MF builtin/.depend/update-index.o.d -MQ builtin/update-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/update-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-quiltimport git-quiltimport+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-quiltimport.sh >git-quiltimport+ && \ @@ -2143,9 +2205,9 @@ mv git-quiltimport+ git-quiltimport make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-mergetool git-mergetool+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-mergetool.sh >git-mergetool+ && \ -chmod +x git-mergetool+ && \ -mv git-mergetool+ git-mergetool +rm -f git-request-pull git-request-pull+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-request-pull.sh >git-request-pull+ && \ +chmod +x git-request-pull+ && \ +mv git-request-pull+ git-request-pull make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-submodule git-submodule+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-submodule.sh >git-submodule+ && \ @@ -2153,6 +2215,11 @@ mv git-submodule+ git-submodule make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-web--browse git-web--browse+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-web--browse.sh >git-web--browse+ && \ +chmod +x git-web--browse+ && \ +mv git-web--browse+ git-web--browse +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f GIT-PERL-HEADER && \ INSTLIBDIR='/usr/share/perl5' && \ INSTLIBDIR_EXTRA='' && \ @@ -2173,15 +2240,16 @@ mv git-p4+ git-p4 make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/verify-tag.o -c -MF builtin/.depend/verify-tag.o.d -MQ builtin/verify-tag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/verify-tag.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -rm -f git-web--browse git-web--browse+ && sed -e '1s|#!.*/sh|#!/bin/sh|' -e 's|@SHELL_PATH@|/bin/sh|' -e 's|@@DIFF@@|diff|' -e 's|@@LOCALEDIR@@|/usr/share/locale|g' -e 's/@@NO_CURL@@//g' -e 's/@@USE_GETTEXT_SCHEME@@//g' -e '/^# @@BROKEN_PATH_FIX@@$/d' -e 's|@@GITWEBDIR@@|/usr/share/gitweb|g' -e 's|@@PERL@@|/usr/bin/perl|g' -e 's|@@SANE_TEXT_GREP@@|-a|g' -e 's|@@PAGER_ENV@@|LESS=FRX LV=-c|g' git-web--browse.sh >git-web--browse+ && \ -chmod +x git-web--browse+ && \ -mv git-web--browse+ git-web--browse -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/write-tree.o -c -MF builtin/.depend/write-tree.o.d -MQ builtin/write-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/write-tree.c +rm -f git-add--interactive git-add--interactive+ && \ +sed -e '1{' \ + -e ' s|#!.*perl|#!/usr/bin/perl|' \ + -e ' r GIT-PERL-HEADER' \ + -e ' G' \ + -e '}' \ + -e 's/@@GIT_VERSION@@/2.30.2/g' \ + git-add--interactive.perl >git-add--interactive+ && \ +chmod +x git-add--interactive+ && \ +mv git-add--interactive+ git-add--interactive make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-archimport git-archimport+ && \ @@ -2220,31 +2288,28 @@ mv git-cvsimport+ git-cvsimport make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-cvsserver git-cvsserver+ && \ +rm -f git-send-email git-send-email+ && \ sed -e '1{' \ -e ' s|#!.*perl|#!/usr/bin/perl|' \ -e ' r GIT-PERL-HEADER' \ -e ' G' \ -e '}' \ -e 's/@@GIT_VERSION@@/2.30.2/g' \ - git-cvsserver.perl >git-cvsserver+ && \ -chmod +x git-cvsserver+ && \ -mv git-cvsserver+ git-cvsserver + git-send-email.perl >git-send-email+ && \ +chmod +x git-send-email+ && \ +mv git-send-email+ git-send-email make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-add--interactive git-add--interactive+ && \ +rm -f git-cvsserver git-cvsserver+ && \ sed -e '1{' \ -e ' s|#!.*perl|#!/usr/bin/perl|' \ -e ' r GIT-PERL-HEADER' \ -e ' G' \ -e '}' \ -e 's/@@GIT_VERSION@@/2.30.2/g' \ - git-add--interactive.perl >git-add--interactive+ && \ -chmod +x git-add--interactive+ && \ -mv git-add--interactive+ git-add--interactive -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/verify-pack.o -c -MF builtin/.depend/verify-pack.o.d -MQ builtin/verify-pack.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/verify-pack.c + git-cvsserver.perl >git-cvsserver+ && \ +chmod +x git-cvsserver+ && \ +mv git-cvsserver+ git-cvsserver make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-svn git-svn+ && \ @@ -2259,70 +2324,48 @@ mv git-svn+ git-svn make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-send-email git-send-email+ && \ -sed -e '1{' \ - -e ' s|#!.*perl|#!/usr/bin/perl|' \ - -e ' r GIT-PERL-HEADER' \ - -e ' G' \ - -e '}' \ - -e 's/@@GIT_VERSION@@/2.30.2/g' \ - git-send-email.perl >git-send-email+ && \ -chmod +x git-send-email+ && \ -mv git-send-email+ git-send-email -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o version.o -c -MF ./.depend/version.o.d -MQ version.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' '-DGIT_VERSION="2.30.2"' '-DGIT_USER_AGENT="git/2.30.2"' '-DGIT_BUILT_FROM_COMMIT=""' version.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/tag.o -c -MF builtin/.depend/tag.o.d -MQ builtin/tag.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/tag.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/stash.o -c -MF builtin/.depend/stash.o.d -MQ builtin/stash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/stash.c +gcc -o attr.o -c -MF ./.depend/attr.o.d -MQ attr.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DETC_GITATTRIBUTES='"/etc/gitattributes"' attr.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/rebase.o -c -MF builtin/.depend/rebase.o.d -MQ builtin/rebase.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/rebase.c +gcc -o builtin/submodule--helper.o -c -MF builtin/.depend/submodule--helper.o.d -MQ builtin/submodule--helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/submodule--helper.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/help.o -c -MF builtin/.depend/help.o.d -MQ builtin/help.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' '-DGIT_HTML_PATH="share/doc/git/html"' '-DGIT_MAN_PATH="share/man"' '-DGIT_INFO_PATH="share/info"' builtin/help.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o attr.o -c -MF ./.depend/attr.o.d -MQ attr.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -DETC_GITATTRIBUTES='"/etc/gitattributes"' attr.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/update-index.o -c -MF builtin/.depend/update-index.o.d -MQ builtin/update-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/update-index.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' gcc -o builtin/worktree.o -c -MF builtin/.depend/worktree.o.d -MQ builtin/worktree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/worktree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o help.o -c -MF ./.depend/help.o.d -MQ help.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' help.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/pack-objects.o -c -MF builtin/.depend/pack-objects.o.d -MQ builtin/pack-objects.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/pack-objects.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f libgit.a && ar rcs libgit.a abspath.o add-interactive.o add-patch.o advice.o alias.o alloc.o apply.o archive-tar.o archive-zip.o archive.o attr.o base85.o bisect.o blame.o blob.o bloom.o branch.o bulk-checkin.o bundle.o cache-tree.o chdir-notify.o checkout.o color.o column.o combine-diff.o commit-graph.o commit-reach.o commit.o compat/obstack.o compat/terminal.o config.o connect.o connected.o convert.o copy.o credential.o csum-file.o ctype.o date.o decorate.o delta-islands.o diff-delta.o diff-lib.o diff-no-index.o diff.o diffcore-break.o diffcore-delta.o diffcore-order.o diffcore-pickaxe.o diffcore-rename.o dir-iterator.o dir.o editor.o entry.o environment.o ewah/bitmap.o ewah/ewah_bitmap.o ewah/ewah_io.o ewah/ewah_rlw.o exec-cmd.o fetch-negotiator.o fetch-pack.o fmt-merge-msg.o fsck.o fsmonitor.o gettext.o gpg-interface.o graph.o grep.o hashmap.o help.o hex.o ident.o json-writer.o kwset.o levenshtein.o line-log.o line-range.o linear-assignment.o list-objects-filter-options.o list-objects-filter.o list-objects.o ll-merge.o lockfile.o log-tree.o ls-refs.o mailinfo.o mailmap.o match-trees.o mem-pool.o merge-blobs.o merge-ort.o merge-ort-wrappers.o merge-recursive.o merge.o mergesort.o midx.o name-hash.o negotiator/default.o negotiator/noop.o negotiator/skipping.o notes-cache.o notes-merge.o notes-utils.o notes.o object.o oid-array.o oidmap.o oidset.o pack-bitmap-write.o pack-bitmap.o pack-check.o pack-objects.o pack-revindex.o pack-write.o packfile.o pager.o parse-options-cb.o parse-options.o patch-delta.o patch-ids.o path.o pathspec.o pkt-line.o preload-index.o pretty.o prio-queue.o progress.o promisor-remote.o prompt.o protocol.o prune-packed.o quote.o range-diff.o reachable.o read-cache.o rebase-interactive.o rebase.o ref-filter.o reflog-walk.o refs.o refs/debug.o refs/files-backend.o refs/iterator.o refs/packed-backend.o refs/ref-cache.o refspec.o remote.o replace-object.o repo-settings.o repository.o rerere.o reset.o resolve-undo.o revision.o run-command.o send-pack.o sequencer.o serve.o server-info.o setup.o sha1-file.o sha1-lookup.o sha1-name.o shallow.o sideband.o sigchain.o split-index.o stable-qsort.o strbuf.o streaming.o string-list.o strmap.o strvec.o sub-process.o submodule-config.o submodule.o symlinks.o tag.o tempfile.o thread-utils.o tmp-objdir.o trace.o trace2.o trace2/tr2_cfg.o trace2/tr2_cmd_name.o trace2/tr2_dst.o trace2/tr2_sid.o trace2/tr2_sysenv.o trace2/tr2_tbuf.o trace2/tr2_tgt_event.o trace2/tr2_tgt_normal.o trace2/tr2_tgt_perf.o trace2/tr2_tls.o trailer.o transport-helper.o transport.o tree-diff.o tree-walk.o tree.o unpack-trees.o upload-pack.o url.o urlmatch.o usage.o userdiff.o utf8.o varint.o version.o versioncmp.o walker.o wildmatch.o worktree.o wrapper.o write-or-die.o ws.o wt-status.o xdiff-interface.o zlib.o unix-socket.o sha1dc_git.o sha1dc/sha1.o sha1dc/ubc_check.o sha256/block/sha256.o compat/fopen.o compat/strlcpy.o compat/qsort_s.o make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o builtin/submodule--helper.o -c -MF builtin/.depend/submodule--helper.o.d -MQ builtin/submodule--helper.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' builtin/submodule--helper.c +gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-sh-i18n--envsubst -Wl,-z,relro sh-i18n--envsubst.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-http-backend -Wl,-z,relro http-backend.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-shell -Wl,-z,relro shell.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-http-push -Wl,-z,relro http.o http-push.o common-main.o \ + -lcurl -lexpat libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-sh-i18n--envsubst -Wl,-z,relro sh-i18n--envsubst.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-imap-send -Wl,-z,relro imap-send.o http.o common-main.o \ + -lcurl libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-daemon -Wl,-z,relro daemon.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-shell -Wl,-z,relro shell.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-http-fetch -Wl,-z,relro http.o http-walker.o http-fetch.o common-main.o \ -lcurl libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-daemon -Wl,-z,relro daemon.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-remote-http -Wl,-z,relro remote-curl.o http.o http-walker.o common-main.o \ -lcurl -lexpat libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' @@ -2345,16 +2388,20 @@ cp git-remote-http git-remote-ftps make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-http-push -Wl,-z,relro http.o http-push.o common-main.o \ - -lcurl -lexpat libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git -Wl,-z,relro \ + git.o builtin/add.o builtin/am.o builtin/annotate.o builtin/apply.o builtin/archive.o builtin/bisect--helper.o builtin/blame.o builtin/branch.o builtin/bugreport.o builtin/bundle.o builtin/cat-file.o builtin/check-attr.o builtin/check-ignore.o builtin/check-mailmap.o builtin/check-ref-format.o builtin/checkout-index.o builtin/checkout.o builtin/clean.o builtin/clone.o builtin/column.o builtin/commit-graph.o builtin/commit-tree.o builtin/commit.o builtin/config.o builtin/count-objects.o builtin/credential-cache--daemon.o builtin/credential-cache.o builtin/credential-store.o builtin/credential.o builtin/describe.o builtin/diff-files.o builtin/diff-index.o builtin/diff-tree.o builtin/diff.o builtin/difftool.o builtin/env--helper.o builtin/fast-export.o builtin/fast-import.o builtin/fetch-pack.o builtin/fetch.o builtin/fmt-merge-msg.o builtin/for-each-ref.o builtin/for-each-repo.o builtin/fsck.o builtin/gc.o builtin/get-tar-commit-id.o builtin/grep.o builtin/hash-object.o builtin/help.o builtin/index-pack.o builtin/init-db.o builtin/interpret-trailers.o builtin/log.o builtin/ls-files.o builtin/ls-remote.o builtin/ls-tree.o builtin/mailinfo.o builtin/mailsplit.o builtin/merge-base.o builtin/merge-file.o builtin/merge-index.o builtin/merge-ours.o builtin/merge-recursive.o builtin/merge-tree.o builtin/merge.o builtin/mktag.o builtin/mktree.o builtin/multi-pack-index.o builtin/mv.o builtin/name-rev.o builtin/notes.o builtin/pack-objects.o builtin/pack-redundant.o builtin/pack-refs.o builtin/patch-id.o builtin/prune-packed.o builtin/prune.o builtin/pull.o builtin/push.o builtin/range-diff.o builtin/read-tree.o builtin/rebase.o builtin/receive-pack.o builtin/reflog.o builtin/remote-ext.o builtin/remote-fd.o builtin/remote.o builtin/repack.o builtin/replace.o builtin/rerere.o builtin/reset.o builtin/rev-list.o builtin/rev-parse.o builtin/revert.o builtin/rm.o builtin/send-pack.o builtin/shortlog.o builtin/show-branch.o builtin/show-index.o builtin/show-ref.o builtin/sparse-checkout.o builtin/stash.o builtin/stripspace.o builtin/submodule--helper.o builtin/symbolic-ref.o builtin/tag.o builtin/unpack-file.o builtin/unpack-objects.o builtin/update-index.o builtin/update-ref.o builtin/update-server-info.o builtin/upload-archive.o builtin/upload-pack.o builtin/var.o builtin/verify-commit.o builtin/verify-pack.o builtin/verify-tag.o builtin/worktree.o builtin/write-tree.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git-imap-send -Wl,-z,relro imap-send.o http.o common-main.o \ - -lcurl libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +rm -f git-add && \ +ln git git-add 2>/dev/null || \ +ln -s git git-add 2>/dev/null || \ +cp git git-add make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o git -Wl,-z,relro \ - git.o builtin/add.o builtin/am.o builtin/annotate.o builtin/apply.o builtin/archive.o builtin/bisect--helper.o builtin/blame.o builtin/branch.o builtin/bugreport.o builtin/bundle.o builtin/cat-file.o builtin/check-attr.o builtin/check-ignore.o builtin/check-mailmap.o builtin/check-ref-format.o builtin/checkout-index.o builtin/checkout.o builtin/clean.o builtin/clone.o builtin/column.o builtin/commit-graph.o builtin/commit-tree.o builtin/commit.o builtin/config.o builtin/count-objects.o builtin/credential-cache--daemon.o builtin/credential-cache.o builtin/credential-store.o builtin/credential.o builtin/describe.o builtin/diff-files.o builtin/diff-index.o builtin/diff-tree.o builtin/diff.o builtin/difftool.o builtin/env--helper.o builtin/fast-export.o builtin/fast-import.o builtin/fetch-pack.o builtin/fetch.o builtin/fmt-merge-msg.o builtin/for-each-ref.o builtin/for-each-repo.o builtin/fsck.o builtin/gc.o builtin/get-tar-commit-id.o builtin/grep.o builtin/hash-object.o builtin/help.o builtin/index-pack.o builtin/init-db.o builtin/interpret-trailers.o builtin/log.o builtin/ls-files.o builtin/ls-remote.o builtin/ls-tree.o builtin/mailinfo.o builtin/mailsplit.o builtin/merge-base.o builtin/merge-file.o builtin/merge-index.o builtin/merge-ours.o builtin/merge-recursive.o builtin/merge-tree.o builtin/merge.o builtin/mktag.o builtin/mktree.o builtin/multi-pack-index.o builtin/mv.o builtin/name-rev.o builtin/notes.o builtin/pack-objects.o builtin/pack-redundant.o builtin/pack-refs.o builtin/patch-id.o builtin/prune-packed.o builtin/prune.o builtin/pull.o builtin/push.o builtin/range-diff.o builtin/read-tree.o builtin/rebase.o builtin/receive-pack.o builtin/reflog.o builtin/remote-ext.o builtin/remote-fd.o builtin/remote.o builtin/repack.o builtin/replace.o builtin/rerere.o builtin/reset.o builtin/rev-list.o builtin/rev-parse.o builtin/revert.o builtin/rm.o builtin/send-pack.o builtin/shortlog.o builtin/show-branch.o builtin/show-index.o builtin/show-ref.o builtin/sparse-checkout.o builtin/stash.o builtin/stripspace.o builtin/submodule--helper.o builtin/symbolic-ref.o builtin/tag.o builtin/unpack-file.o builtin/unpack-objects.o builtin/update-index.o builtin/update-ref.o builtin/update-server-info.o builtin/upload-archive.o builtin/upload-pack.o builtin/var.o builtin/verify-commit.o builtin/verify-pack.o builtin/verify-tag.o builtin/worktree.o builtin/write-tree.o common-main.o libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt +rm -f git-am && \ +ln git git-am 2>/dev/null || \ +ln -s git git-am 2>/dev/null || \ +cp git git-am make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-annotate && \ @@ -2363,12 +2410,24 @@ cp git git-annotate make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-apply && \ +ln git git-apply 2>/dev/null || \ +ln -s git git-apply 2>/dev/null || \ +cp git git-apply +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-archive && \ ln git git-archive 2>/dev/null || \ ln -s git git-archive 2>/dev/null || \ cp git git-archive make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-bisect--helper && \ +ln git git-bisect--helper 2>/dev/null || \ +ln -s git git-bisect--helper 2>/dev/null || \ +cp git git-bisect--helper +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-blame && \ ln git git-blame 2>/dev/null || \ ln -s git git-blame 2>/dev/null || \ @@ -2381,28 +2440,16 @@ cp git git-branch make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-apply && \ -ln git git-apply 2>/dev/null || \ -ln -s git git-apply 2>/dev/null || \ -cp git git-apply -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-bugreport && \ ln git git-bugreport 2>/dev/null || \ ln -s git git-bugreport 2>/dev/null || \ cp git git-bugreport make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-add && \ -ln git git-add 2>/dev/null || \ -ln -s git git-add 2>/dev/null || \ -cp git git-add -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -rm -f git-bisect--helper && \ -ln git git-bisect--helper 2>/dev/null || \ -ln -s git git-bisect--helper 2>/dev/null || \ -cp git git-bisect--helper +rm -f git-bundle && \ +ln git git-bundle 2>/dev/null || \ +ln -s git git-bundle 2>/dev/null || \ +cp git git-bundle make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-cat-file && \ @@ -2423,18 +2470,6 @@ cp git git-check-ignore make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-am && \ -ln git git-am 2>/dev/null || \ -ln -s git git-am 2>/dev/null || \ -cp git git-am -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -rm -f git-bundle && \ -ln git git-bundle 2>/dev/null || \ -ln -s git git-bundle 2>/dev/null || \ -cp git git-bundle -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-check-mailmap && \ ln git git-check-mailmap 2>/dev/null || \ ln -s git git-check-mailmap 2>/dev/null || \ @@ -2495,36 +2530,36 @@ cp git git-commit make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-count-objects && \ -ln git git-count-objects 2>/dev/null || \ -ln -s git git-count-objects 2>/dev/null || \ -cp git git-count-objects -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-config && \ ln git git-config 2>/dev/null || \ ln -s git git-config 2>/dev/null || \ cp git git-config make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-count-objects && \ +ln git git-count-objects 2>/dev/null || \ +ln -s git git-count-objects 2>/dev/null || \ +cp git git-count-objects +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-credential-cache--daemon && \ ln git git-credential-cache--daemon 2>/dev/null || \ ln -s git git-credential-cache--daemon 2>/dev/null || \ cp git git-credential-cache--daemon make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-credential-cache && \ -ln git git-credential-cache 2>/dev/null || \ -ln -s git git-credential-cache 2>/dev/null || \ -cp git git-credential-cache -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-credential-store && \ ln git git-credential-store 2>/dev/null || \ ln -s git git-credential-store 2>/dev/null || \ cp git git-credential-store make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-credential-cache && \ +ln git git-credential-cache 2>/dev/null || \ +ln -s git git-credential-cache 2>/dev/null || \ +cp git git-credential-cache +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-credential && \ ln git git-credential 2>/dev/null || \ ln -s git git-credential 2>/dev/null || \ @@ -2609,6 +2644,18 @@ cp git git-for-each-ref make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-for-each-repo && \ +ln git git-for-each-repo 2>/dev/null || \ +ln -s git git-for-each-repo 2>/dev/null || \ +cp git git-for-each-repo +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +rm -f git-fsck && \ +ln git git-fsck 2>/dev/null || \ +ln -s git git-fsck 2>/dev/null || \ +cp git git-fsck +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-gc && \ ln git git-gc 2>/dev/null || \ ln -s git git-gc 2>/dev/null || \ @@ -2627,10 +2674,10 @@ cp git git-grep make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-for-each-repo && \ -ln git git-for-each-repo 2>/dev/null || \ -ln -s git git-for-each-repo 2>/dev/null || \ -cp git git-for-each-repo +rm -f git-hash-object && \ +ln git git-hash-object 2>/dev/null || \ +ln -s git git-hash-object 2>/dev/null || \ +cp git git-hash-object make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-help && \ @@ -2657,12 +2704,6 @@ cp git git-interpret-trailers make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-fsck && \ -ln git git-fsck 2>/dev/null || \ -ln -s git git-fsck 2>/dev/null || \ -cp git git-fsck -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-log && \ ln git git-log 2>/dev/null || \ ln -s git git-log 2>/dev/null || \ @@ -2675,10 +2716,10 @@ cp git git-ls-files make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-hash-object && \ -ln git git-hash-object 2>/dev/null || \ -ln -s git git-hash-object 2>/dev/null || \ -cp git git-hash-object +rm -f git-ls-remote && \ +ln git git-ls-remote 2>/dev/null || \ +ln -s git git-ls-remote 2>/dev/null || \ +cp git git-ls-remote make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-ls-tree && \ @@ -2687,12 +2728,6 @@ cp git git-ls-tree make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-ls-remote && \ -ln git git-ls-remote 2>/dev/null || \ -ln -s git git-ls-remote 2>/dev/null || \ -cp git git-ls-remote -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-mailinfo && \ ln git git-mailinfo 2>/dev/null || \ ln -s git git-mailinfo 2>/dev/null || \ @@ -2741,40 +2776,40 @@ cp git git-merge-tree make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-mktag && \ -ln git git-mktag 2>/dev/null || \ -ln -s git git-mktag 2>/dev/null || \ -cp git git-mktag -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-merge && \ ln git git-merge 2>/dev/null || \ ln -s git git-merge 2>/dev/null || \ cp git git-merge make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-mktag && \ +ln git git-mktag 2>/dev/null || \ +ln -s git git-mktag 2>/dev/null || \ +cp git git-mktag +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-mktree && \ ln git git-mktree 2>/dev/null || \ ln -s git git-mktree 2>/dev/null || \ cp git git-mktree make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-name-rev && \ -ln git git-name-rev 2>/dev/null || \ -ln -s git git-name-rev 2>/dev/null || \ -cp git git-name-rev -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-multi-pack-index && \ ln git git-multi-pack-index 2>/dev/null || \ ln -s git git-multi-pack-index 2>/dev/null || \ cp git git-multi-pack-index make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-pack-objects && \ -ln git git-pack-objects 2>/dev/null || \ -ln -s git git-pack-objects 2>/dev/null || \ -cp git git-pack-objects +rm -f git-mv && \ +ln git git-mv 2>/dev/null || \ +ln -s git git-mv 2>/dev/null || \ +cp git git-mv +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +rm -f git-name-rev && \ +ln git git-name-rev 2>/dev/null || \ +ln -s git git-name-rev 2>/dev/null || \ +cp git git-name-rev make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-notes && \ @@ -2783,6 +2818,12 @@ cp git git-notes make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-pack-objects && \ +ln git git-pack-objects 2>/dev/null || \ +ln -s git git-pack-objects 2>/dev/null || \ +cp git git-pack-objects +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-pack-redundant && \ ln git git-pack-redundant 2>/dev/null || \ ln -s git git-pack-redundant 2>/dev/null || \ @@ -2807,12 +2848,6 @@ cp git git-prune-packed make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-mv && \ -ln git git-mv 2>/dev/null || \ -ln -s git git-mv 2>/dev/null || \ -cp git git-mv -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-prune && \ ln git git-prune 2>/dev/null || \ ln -s git git-prune 2>/dev/null || \ @@ -2831,6 +2866,12 @@ cp git git-push make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-range-diff && \ +ln git git-range-diff 2>/dev/null || \ +ln -s git git-range-diff 2>/dev/null || \ +cp git git-range-diff +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-read-tree && \ ln git git-read-tree 2>/dev/null || \ ln -s git git-read-tree 2>/dev/null || \ @@ -2873,16 +2914,10 @@ cp git git-remote make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-range-diff && \ -ln git git-range-diff 2>/dev/null || \ -ln -s git git-range-diff 2>/dev/null || \ -cp git git-range-diff -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -rm -f git-repack && \ -ln git git-repack 2>/dev/null || \ -ln -s git git-repack 2>/dev/null || \ -cp git git-repack +rm -f git-replace && \ +ln git git-replace 2>/dev/null || \ +ln -s git git-replace 2>/dev/null || \ +cp git git-replace make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-rerere && \ @@ -2891,10 +2926,10 @@ cp git git-rerere make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-replace && \ -ln git git-replace 2>/dev/null || \ -ln -s git git-replace 2>/dev/null || \ -cp git git-replace +rm -f git-repack && \ +ln git git-repack 2>/dev/null || \ +ln -s git git-repack 2>/dev/null || \ +cp git git-repack make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-reset && \ @@ -2915,28 +2950,28 @@ cp git git-rev-parse make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-send-pack && \ +ln git git-send-pack 2>/dev/null || \ +ln -s git git-send-pack 2>/dev/null || \ +cp git git-send-pack +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-revert && \ ln git git-revert 2>/dev/null || \ ln -s git git-revert 2>/dev/null || \ cp git git-revert make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-rm && \ -ln git git-rm 2>/dev/null || \ -ln -s git git-rm 2>/dev/null || \ -cp git git-rm -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-shortlog && \ ln git git-shortlog 2>/dev/null || \ ln -s git git-shortlog 2>/dev/null || \ cp git git-shortlog make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-send-pack && \ -ln git git-send-pack 2>/dev/null || \ -ln -s git git-send-pack 2>/dev/null || \ -cp git git-send-pack +rm -f git-rm && \ +ln git git-rm 2>/dev/null || \ +ln -s git git-rm 2>/dev/null || \ +cp git git-rm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-show-branch && \ @@ -2951,18 +2986,18 @@ cp git git-show-index make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-show-ref && \ -ln git git-show-ref 2>/dev/null || \ -ln -s git git-show-ref 2>/dev/null || \ -cp git git-show-ref -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-sparse-checkout && \ ln git git-sparse-checkout 2>/dev/null || \ ln -s git git-sparse-checkout 2>/dev/null || \ cp git git-sparse-checkout make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-show-ref && \ +ln git git-show-ref 2>/dev/null || \ +ln -s git git-show-ref 2>/dev/null || \ +cp git git-show-ref +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-stash && \ ln git git-stash 2>/dev/null || \ ln -s git git-stash 2>/dev/null || \ @@ -2975,48 +3010,48 @@ cp git git-submodule--helper make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-symbolic-ref && \ -ln git git-symbolic-ref 2>/dev/null || \ -ln -s git git-symbolic-ref 2>/dev/null || \ -cp git git-symbolic-ref -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-stripspace && \ ln git git-stripspace 2>/dev/null || \ ln -s git git-stripspace 2>/dev/null || \ cp git git-stripspace make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-symbolic-ref && \ +ln git git-symbolic-ref 2>/dev/null || \ +ln -s git git-symbolic-ref 2>/dev/null || \ +cp git git-symbolic-ref +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-tag && \ ln git git-tag 2>/dev/null || \ ln -s git git-tag 2>/dev/null || \ cp git git-tag make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-unpack-file && \ -ln git git-unpack-file 2>/dev/null || \ -ln -s git git-unpack-file 2>/dev/null || \ -cp git git-unpack-file -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -rm -f git-update-ref && \ -ln git git-update-ref 2>/dev/null || \ -ln -s git git-update-ref 2>/dev/null || \ -cp git git-update-ref -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-unpack-objects && \ ln git git-unpack-objects 2>/dev/null || \ ln -s git git-unpack-objects 2>/dev/null || \ cp git git-unpack-objects make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-unpack-file && \ +ln git git-unpack-file 2>/dev/null || \ +ln -s git git-unpack-file 2>/dev/null || \ +cp git git-unpack-file +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-update-index && \ ln git git-update-index 2>/dev/null || \ ln -s git git-update-index 2>/dev/null || \ cp git git-update-index make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-update-ref && \ +ln git git-update-ref 2>/dev/null || \ +ln -s git git-update-ref 2>/dev/null || \ +cp git git-update-ref +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-update-server-info && \ ln git git-update-server-info 2>/dev/null || \ ln -s git git-update-server-info 2>/dev/null || \ @@ -3035,18 +3070,18 @@ cp git git-upload-pack make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-verify-commit && \ -ln git git-verify-commit 2>/dev/null || \ -ln -s git git-verify-commit 2>/dev/null || \ -cp git git-verify-commit -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-var && \ ln git git-var 2>/dev/null || \ ln -s git git-var 2>/dev/null || \ cp git git-var make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-verify-commit && \ +ln git git-verify-commit 2>/dev/null || \ +ln -s git git-verify-commit 2>/dev/null || \ +cp git git-verify-commit +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-verify-pack && \ ln git git-verify-pack 2>/dev/null || \ ln -s git git-verify-pack 2>/dev/null || \ @@ -3059,6 +3094,12 @@ cp git git-verify-tag make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-cherry && \ +ln git git-cherry 2>/dev/null || \ +ln -s git git-cherry 2>/dev/null || \ +cp git git-cherry +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-worktree && \ ln git git-worktree 2>/dev/null || \ ln -s git git-worktree 2>/dev/null || \ @@ -3071,12 +3112,6 @@ cp git git-write-tree make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-cherry && \ -ln git git-cherry 2>/dev/null || \ -ln -s git git-cherry 2>/dev/null || \ -cp git git-cherry -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-cherry-pick && \ ln git git-cherry-pick 2>/dev/null || \ ln -s git git-cherry-pick 2>/dev/null || \ @@ -3131,18 +3166,18 @@ cp git git-stage make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-switch && \ -ln git git-switch 2>/dev/null || \ -ln -s git git-switch 2>/dev/null || \ -cp git git-switch -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-status && \ ln git git-status 2>/dev/null || \ ln -s git git-status 2>/dev/null || \ cp git git-status make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +rm -f git-switch && \ +ln git git-switch 2>/dev/null || \ +ln -s git git-switch 2>/dev/null || \ +cp git git-switch +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' rm -f git-whatchanged && \ ln git git-whatchanged 2>/dev/null || \ ln -s git git-whatchanged 2>/dev/null || \ @@ -3156,50 +3191,58 @@ * new locations or Tcl/Tk interpreter make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l hu -d po/ po/hu.po -514 translated messages. -make[3]: Leaving directory '/build/git-2.30.2/git-gui' -make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l fr -d po/ po/fr.po -520 translated messages. +msgfmt --statistics --tcl -l de -d po/ po/de.po +579 translated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' msgfmt --statistics --tcl -l el -d po/ po/el.po 381 translated messages, 4 fuzzy translations, 6 untranslated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l bg -d po/ po/bg.po -565 translated messages. -make[3]: Leaving directory '/build/git-2.30.2/git-gui' -make[3]: Entering directory '/build/git-2.30.2/git-gui' msgfmt --statistics --tcl -l it -d po/ po/it.po 519 translated messages, 1 untranslated message. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l pt_br -d po/ po/pt_br.po +msgfmt --statistics --tcl -l fr -d po/ po/fr.po 520 translated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l de -d po/ po/de.po -579 translated messages. +msgfmt --statistics --tcl -l ja -d po/ po/ja.po +546 translated messages, 1 untranslated message. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' msgfmt --statistics --tcl -l nb -d po/ po/nb.po 474 translated messages, 39 untranslated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l pt_pt -d po/ po/pt_pt.po -550 translated messages. +msgfmt --statistics --tcl -l pt_br -d po/ po/pt_br.po +520 translated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l ja -d po/ po/ja.po -546 translated messages, 1 untranslated message. +msgfmt --statistics --tcl -l hu -d po/ po/hu.po +514 translated messages. +make[3]: Leaving directory '/build/git-2.30.2/git-gui' +make[3]: Entering directory '/build/git-2.30.2/git-gui' +msgfmt --statistics --tcl -l bg -d po/ po/bg.po +565 translated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' msgfmt --statistics --tcl -l sv -d po/ po/sv.po 547 translated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' +msgfmt --statistics --tcl -l zh_cn -d po/ po/zh_cn.po +366 translated messages, 7 fuzzy translations, 17 untranslated messages. +make[3]: Leaving directory '/build/git-2.30.2/git-gui' +make[3]: Entering directory '/build/git-2.30.2/git-gui' +msgfmt --statistics --tcl -l vi -d po/ po/vi.po +543 translated messages. +make[3]: Leaving directory '/build/git-2.30.2/git-gui' +make[3]: Entering directory '/build/git-2.30.2/git-gui' +msgfmt --statistics --tcl -l pt_pt -d po/ po/pt_pt.po +550 translated messages. +make[3]: Leaving directory '/build/git-2.30.2/git-gui' +make[3]: Entering directory '/build/git-2.30.2/git-gui' rm -f git-gui git-gui+ && \ sed -e '1s|#!.*/sh|#!/bin/sh|' \ -e 's|@@SHELL_PATH@@|/bin/sh|' \ @@ -3213,18 +3256,10 @@ mv git-gui+ git-gui make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l zh_cn -d po/ po/zh_cn.po -366 translated messages, 7 fuzzy translations, 17 untranslated messages. -make[3]: Leaving directory '/build/git-2.30.2/git-gui' -make[3]: Entering directory '/build/git-2.30.2/git-gui' msgfmt --statistics --tcl -l ru -d po/ po/ru.po 579 translated messages. make[3]: Leaving directory '/build/git-2.30.2/git-gui' make[3]: Entering directory '/build/git-2.30.2/git-gui' -msgfmt --statistics --tcl -l vi -d po/ po/vi.po -543 translated messages. -make[3]: Leaving directory '/build/git-2.30.2/git-gui' -make[3]: Entering directory '/build/git-2.30.2/git-gui' if echo \ source lib/class.tcl\; \ auto_mkindex lib about.tcl blame.tcl branch.tcl branch_checkout.tcl branch_create.tcl branch_delete.tcl branch_rename.tcl browser.tcl checkout_op.tcl choose_font.tcl choose_repository.tcl choose_rev.tcl chord.tcl class.tcl commit.tcl console.tcl database.tcl date.tcl diff.tcl encoding.tcl error.tcl index.tcl line.tcl logo.tcl merge.tcl mergetool.tcl option.tcl remote.tcl remote_add.tcl remote_branch_delete.tcl search.tcl shortcut.tcl spellcheck.tcl sshkey.tcl status_bar.tcl themed.tcl tools.tcl tools_dlg.tcl transport.tcl win32.tcl \ @@ -3243,6 +3278,11 @@ * new Tcl/Tk interpreter location make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' +Generating catalog po/bg.msg +msgfmt --statistics --tcl po/bg.po -l bg -d po/ +317 translated messages. +make[3]: Leaving directory '/build/git-2.30.2/gitk-git' +make[3]: Entering directory '/build/git-2.30.2/gitk-git' Generating catalog po/ca.msg msgfmt --statistics --tcl po/ca.po -l ca -d po/ 307 translated messages. @@ -3253,13 +3293,13 @@ 307 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/bg.msg -msgfmt --statistics --tcl po/bg.po -l bg -d po/ -317 translated messages. +Generating catalog po/es.msg +msgfmt --statistics --tcl po/es.po -l es -d po/ +184 translated messages, 46 fuzzy translations, 77 untranslated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/fr.msg -msgfmt --statistics --tcl po/fr.po -l fr -d po/ +Generating catalog po/ja.msg +msgfmt --statistics --tcl po/ja.po -l ja -d po/ 311 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' @@ -3268,9 +3308,14 @@ 277 translated messages, 18 fuzzy translations, 12 untranslated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/es.msg -msgfmt --statistics --tcl po/es.po -l es -d po/ -184 translated messages, 46 fuzzy translations, 77 untranslated messages. +Generating catalog po/pt_br.msg +msgfmt --statistics --tcl po/pt_br.po -l pt_br -d po/ +279 translated messages, 16 fuzzy translations, 12 untranslated messages. +make[3]: Leaving directory '/build/git-2.30.2/gitk-git' +make[3]: Entering directory '/build/git-2.30.2/gitk-git' +Generating catalog po/fr.msg +msgfmt --statistics --tcl po/fr.po -l fr -d po/ +311 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' Generating catalog po/it.msg @@ -3278,19 +3323,14 @@ 274 translated messages, 17 fuzzy translations, 16 untranslated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/ja.msg -msgfmt --statistics --tcl po/ja.po -l ja -d po/ -311 translated messages. -make[3]: Leaving directory '/build/git-2.30.2/gitk-git' -make[3]: Entering directory '/build/git-2.30.2/gitk-git' Generating catalog po/pt_pt.msg msgfmt --statistics --tcl po/pt_pt.po -l pt_pt -d po/ 311 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/sv.msg -msgfmt --statistics --tcl po/sv.po -l sv -d po/ -311 translated messages. +Generating catalog po/ru.msg +msgfmt --statistics --tcl po/ru.po -l ru -d po/ +317 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' Generating catalog po/vi.msg @@ -3298,26 +3338,21 @@ 307 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/pt_br.msg -msgfmt --statistics --tcl po/pt_br.po -l pt_br -d po/ -279 translated messages, 16 fuzzy translations, 12 untranslated messages. +rm -f gitk-wish gitk-wish+ && \ +sed -e '1,3s|^exec .* "$0"|exec wish "$0"|' gitk-wish+ && \ +chmod +x gitk-wish+ && \ +mv -f gitk-wish+ gitk-wish make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/zh_cn.msg -msgfmt --statistics --tcl po/zh_cn.po -l zh_cn -d po/ -317 translated messages. +Generating catalog po/sv.msg +msgfmt --statistics --tcl po/sv.po -l sv -d po/ +311 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' make[3]: Entering directory '/build/git-2.30.2/gitk-git' -Generating catalog po/ru.msg -msgfmt --statistics --tcl po/ru.po -l ru -d po/ +Generating catalog po/zh_cn.msg +msgfmt --statistics --tcl po/zh_cn.po -l zh_cn -d po/ 317 translated messages. make[3]: Leaving directory '/build/git-2.30.2/gitk-git' -make[3]: Entering directory '/build/git-2.30.2/gitk-git' -rm -f gitk-wish gitk-wish+ && \ -sed -e '1,3s|^exec .* "$0"|exec wish "$0"|' gitk-wish+ && \ -chmod +x gitk-wish+ && \ -mv -f gitk-wish+ gitk-wish -make[3]: Leaving directory '/build/git-2.30.2/gitk-git' /usr/bin/make -C templates SHELL_PATH='/bin/sh' PERL_PATH='/usr/bin/perl' make[3]: Entering directory '/build/git-2.30.2/templates' : no custom templates yet @@ -3347,55 +3382,51 @@ 14 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/ko/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ko/LC_MESSAGES/git.mo po/ko.po -3608 translated messages. +mkdir -p po/build/locale/bg/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/bg/LC_MESSAGES/git.mo po/bg.po +5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/ca/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ca/LC_MESSAGES/git.mo po/ca.po -4386 translated messages, 652 fuzzy translations. +mkdir -p po/build/locale/es/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/es/LC_MESSAGES/git.mo po/es.po +4931 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/ru/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ru/LC_MESSAGES/git.mo po/ru.po -3521 translated messages, 1060 untranslated messages. +mkdir -p po/build/locale/ko/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ko/LC_MESSAGES/git.mo po/ko.po +3608 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/de/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/de/LC_MESSAGES/git.mo po/de.po +mkdir -p po/build/locale/pl/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/pl/LC_MESSAGES/git.mo po/pl.po 5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/sv/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/sv/LC_MESSAGES/git.mo po/sv.po -5037 translated messages. +mkdir -p po/build/locale/pt_PT/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/pt_PT/LC_MESSAGES/git.mo po/pt_PT.po +2877 translated messages, 1290 fuzzy translations, 846 untranslated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/zh_TW/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/zh_TW/LC_MESSAGES/git.mo po/zh_TW.po -5036 translated messages, 1 untranslated message. +mkdir -p po/build/locale/fr/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/fr/LC_MESSAGES/git.mo po/fr.po +5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p po/build/locale/el/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/el/LC_MESSAGES/git.mo po/el.po 1038 translated messages, 3325 untranslated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/es/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/es/LC_MESSAGES/git.mo po/es.po -4931 translated messages. -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/pt_PT/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/pt_PT/LC_MESSAGES/git.mo po/pt_PT.po -2877 translated messages, 1290 fuzzy translations, 846 untranslated messages. +mkdir -p po/build/locale/ru/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ru/LC_MESSAGES/git.mo po/ru.po +3521 translated messages, 1060 untranslated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/zh_CN/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/zh_CN/LC_MESSAGES/git.mo po/zh_CN.po +mkdir -p po/build/locale/sv/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/sv/LC_MESSAGES/git.mo po/sv.po 5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/fr/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/fr/LC_MESSAGES/git.mo po/fr.po -5037 translated messages. +mkdir -p po/build/locale/ca/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/ca/LC_MESSAGES/git.mo po/ca.po +4386 translated messages, 652 fuzzy translations. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/bg/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/bg/LC_MESSAGES/git.mo po/bg.po +mkdir -p po/build/locale/tr/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/tr/LC_MESSAGES/git.mo po/tr.po 5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/tr/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/tr/LC_MESSAGES/git.mo po/tr.po +mkdir -p po/build/locale/de/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/de/LC_MESSAGES/git.mo po/de.po 5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' @@ -3403,14 +3434,18 @@ 5013 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p po/build/locale/pl/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/pl/LC_MESSAGES/git.mo po/pl.po -5037 translated messages. +mkdir -p po/build/locale/zh_TW/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/zh_TW/LC_MESSAGES/git.mo po/zh_TW.po +5036 translated messages, 1 untranslated message. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p po/build/locale/vi/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/vi/LC_MESSAGES/git.mo po/vi.po 5037 translated messages. make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +mkdir -p po/build/locale/zh_CN/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/zh_CN/LC_MESSAGES/git.mo po/zh_CN.po +5037 translated messages. +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ @@ -3432,25 +3467,25 @@ mkdir -p perl/build/lib/Git/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/Packet.pm > perl/build/lib/Git/Packet.pm +< perl/Git/LoadCPAN.pm > perl/build/lib/Git/LoadCPAN.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/Git/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/SVN.pm > perl/build/lib/Git/SVN.pm +< perl/Git/Packet.pm > perl/build/lib/Git/Packet.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p perl/build/lib/Git/SVN/ && \ +mkdir -p perl/build/lib/Git/LoadCPAN/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/SVN/Editor.pm > perl/build/lib/Git/SVN/Editor.pm +< perl/Git/LoadCPAN/Error.pm > perl/build/lib/Git/LoadCPAN/Error.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p perl/build/lib/Git/LoadCPAN/ && \ +mkdir -p perl/build/lib/Git/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/LoadCPAN/Error.pm > perl/build/lib/Git/LoadCPAN/Error.pm +< perl/Git/SVN.pm > perl/build/lib/Git/SVN.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/Git/SVN/ && \ @@ -3462,13 +3497,13 @@ mkdir -p perl/build/lib/Git/SVN/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/SVN/GlobSpec.pm > perl/build/lib/Git/SVN/GlobSpec.pm +< perl/Git/SVN/Editor.pm > perl/build/lib/Git/SVN/Editor.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/Git/SVN/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/SVN/Migration.pm > perl/build/lib/Git/SVN/Migration.pm +< perl/Git/SVN/GlobSpec.pm > perl/build/lib/Git/SVN/GlobSpec.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/Git/SVN/ && \ @@ -3480,19 +3515,19 @@ mkdir -p perl/build/lib/Git/SVN/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/SVN/Ra.pm > perl/build/lib/Git/SVN/Ra.pm +< perl/Git/SVN/Migration.pm > perl/build/lib/Git/SVN/Migration.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -mkdir -p perl/build/lib/Git/ && \ +mkdir -p perl/build/lib/Git/SVN/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/LoadCPAN.pm > perl/build/lib/Git/LoadCPAN.pm +< perl/Git/SVN/Prompt.pm > perl/build/lib/Git/SVN/Prompt.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/Git/SVN/ && \ sed -e 's|@@LOCALEDIR@@|/usr/share/locale|g' \ -e 's|@@NO_PERL_CPAN_FALLBACKS@@|1|g' \ -< perl/Git/SVN/Prompt.pm > perl/build/lib/Git/SVN/Prompt.pm +< perl/Git/SVN/Ra.pm > perl/build/lib/Git/SVN/Ra.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' mkdir -p perl/build/lib/Git/SVN/ && \ @@ -3513,37 +3548,37 @@ < perl/Git/SVN/Memoize/YAML.pm > perl/build/lib/Git/SVN/Memoize/YAML.pm make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-tool.o -c -MF t/helper/.depend/test-tool.o.d -MQ t/helper/test-tool.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-tool.c +gcc -o t/helper/test-advise.o -c -MF t/helper/.depend/test-advise.o.d -MQ t/helper/test-advise.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-advise.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-fake-ssh.o -c -MF t/helper/.depend/test-fake-ssh.o.d -MQ t/helper/test-fake-ssh.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-fake-ssh.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-drop-caches.o -c -MF t/helper/.depend/test-drop-caches.o.d -MQ t/helper/test-drop-caches.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-drop-caches.c +gcc -o t/helper/test-crontab.o -c -MF t/helper/.depend/test-crontab.o.d -MQ t/helper/test-crontab.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-crontab.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-advise.o -c -MF t/helper/.depend/test-advise.o.d -MQ t/helper/test-advise.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-advise.c +gcc -o t/helper/test-tool.o -c -MF t/helper/.depend/test-tool.o.d -MQ t/helper/test-tool.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-tool.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-chmtime.o -c -MF t/helper/.depend/test-chmtime.o.d -MQ t/helper/test-chmtime.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-chmtime.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-delta.o -c -MF t/helper/.depend/test-delta.o.d -MQ t/helper/test-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-delta.c +gcc -o t/helper/test-bloom.o -c -MF t/helper/.depend/test-bloom.o.d -MQ t/helper/test-bloom.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-bloom.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-crontab.o -c -MF t/helper/.depend/test-crontab.o.d -MQ t/helper/test-crontab.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-crontab.c +gcc -o t/helper/test-config.o -c -MF t/helper/.depend/test-config.o.d -MQ t/helper/test-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-config.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-dir-iterator.o -c -MF t/helper/.depend/test-dir-iterator.o.d -MQ t/helper/test-dir-iterator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dir-iterator.c +gcc -o t/helper/test-ctype.o -c -MF t/helper/.depend/test-ctype.o.d -MQ t/helper/test-ctype.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-ctype.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-bloom.o -c -MF t/helper/.depend/test-bloom.o.d -MQ t/helper/test-bloom.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-bloom.c +gcc -o t/helper/test-dir-iterator.o -c -MF t/helper/.depend/test-dir-iterator.o.d -MQ t/helper/test-dir-iterator.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dir-iterator.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-config.o -c -MF t/helper/.depend/test-config.o.d -MQ t/helper/test-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-config.c +gcc -o t/helper/test-drop-caches.o -c -MF t/helper/.depend/test-drop-caches.o.d -MQ t/helper/test-drop-caches.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-drop-caches.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-dump-split-index.o -c -MF t/helper/.depend/test-dump-split-index.o.d -MQ t/helper/test-dump-split-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dump-split-index.c +gcc -o t/helper/test-delta.o -c -MF t/helper/.depend/test-delta.o.d -MQ t/helper/test-delta.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-delta.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-date.o -c -MF t/helper/.depend/test-date.o.d -MQ t/helper/test-date.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-date.c @@ -3555,10 +3590,10 @@ gcc -o t/helper/test-dump-fsmonitor.o -c -MF t/helper/.depend/test-dump-fsmonitor.o.d -MQ t/helper/test-dump-fsmonitor.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dump-fsmonitor.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-dump-untracked-cache.o -c -MF t/helper/.depend/test-dump-untracked-cache.o.d -MQ t/helper/test-dump-untracked-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dump-untracked-cache.c +gcc -o t/helper/test-dump-split-index.o -c -MF t/helper/.depend/test-dump-split-index.o.d -MQ t/helper/test-dump-split-index.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dump-split-index.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-ctype.o -c -MF t/helper/.depend/test-ctype.o.d -MQ t/helper/test-ctype.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-ctype.c +gcc -o t/helper/test-example-decorate.o -c -MF t/helper/.depend/test-example-decorate.o.d -MQ t/helper/test-example-decorate.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-example-decorate.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-genrandom.o -c -MF t/helper/.depend/test-genrandom.o.d -MQ t/helper/test-genrandom.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-genrandom.c @@ -3567,10 +3602,7 @@ gcc -o t/helper/test-genzeros.o -c -MF t/helper/.depend/test-genzeros.o.d -MQ t/helper/test-genzeros.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-genzeros.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-example-decorate.o -c -MF t/helper/.depend/test-example-decorate.o.d -MQ t/helper/test-example-decorate.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-example-decorate.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-index-version.o -c -MF t/helper/.depend/test-index-version.o.d -MQ t/helper/test-index-version.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-index-version.c +gcc -o t/helper/test-dump-untracked-cache.o -c -MF t/helper/.depend/test-dump-untracked-cache.o.d -MQ t/helper/test-dump-untracked-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-dump-untracked-cache.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-hash.o -c -MF t/helper/.depend/test-hash.o.d -MQ t/helper/test-hash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-hash.c @@ -3579,40 +3611,46 @@ gcc -o t/helper/test-hash-speed.o -c -MF t/helper/.depend/test-hash-speed.o.d -MQ t/helper/test-hash-speed.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-hash-speed.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-mktemp.o -c -MF t/helper/.depend/test-mktemp.o.d -MQ t/helper/test-mktemp.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-mktemp.c +gcc -o t/helper/test-fast-rebase.o -c -MF t/helper/.depend/test-fast-rebase.o.d -MQ t/helper/test-fast-rebase.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-fast-rebase.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-index-version.o -c -MF t/helper/.depend/test-index-version.o.d -MQ t/helper/test-index-version.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-index-version.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-mergesort.o -c -MF t/helper/.depend/test-mergesort.o.d -MQ t/helper/test-mergesort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-mergesort.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-match-trees.o -c -MF t/helper/.depend/test-match-trees.o.d -MQ t/helper/test-match-trees.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-match-trees.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-online-cpus.o -c -MF t/helper/.depend/test-online-cpus.o.d -MQ t/helper/test-online-cpus.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-online-cpus.c +gcc -o t/helper/test-mktemp.o -c -MF t/helper/.depend/test-mktemp.o.d -MQ t/helper/test-mktemp.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-mktemp.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-mergesort.o -c -MF t/helper/.depend/test-mergesort.o.d -MQ t/helper/test-mergesort.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-mergesort.c +gcc -o t/helper/test-hashmap.o -c -MF t/helper/.depend/test-hashmap.o.d -MQ t/helper/test-hashmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-hashmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-oid-array.o -c -MF t/helper/.depend/test-oid-array.o.d -MQ t/helper/test-oid-array.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-oid-array.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-fast-rebase.o -c -MF t/helper/.depend/test-fast-rebase.o.d -MQ t/helper/test-fast-rebase.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-fast-rebase.c +gcc -o t/helper/test-lazy-init-name-hash.o -c -MF t/helper/.depend/test-lazy-init-name-hash.o.d -MQ t/helper/test-lazy-init-name-hash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-lazy-init-name-hash.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-parse-pathspec-file.o -c -MF t/helper/.depend/test-parse-pathspec-file.o.d -MQ t/helper/test-parse-pathspec-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-parse-pathspec-file.c +gcc -o t/helper/test-online-cpus.o -c -MF t/helper/.depend/test-online-cpus.o.d -MQ t/helper/test-online-cpus.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-online-cpus.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-oidmap.o -c -MF t/helper/.depend/test-oidmap.o.d -MQ t/helper/test-oidmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-oidmap.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-pkt-line.o -c -MF t/helper/.depend/test-pkt-line.o.d -MQ t/helper/test-pkt-line.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-pkt-line.c +gcc -o t/helper/test-json-writer.o -c -MF t/helper/.depend/test-json-writer.o.d -MQ t/helper/test-json-writer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-json-writer.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-lazy-init-name-hash.o -c -MF t/helper/.depend/test-lazy-init-name-hash.o.d -MQ t/helper/test-lazy-init-name-hash.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-lazy-init-name-hash.c +gcc -o t/helper/test-parse-pathspec-file.o -c -MF t/helper/.depend/test-parse-pathspec-file.o.d -MQ t/helper/test-parse-pathspec-file.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-parse-pathspec-file.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-prio-queue.o -c -MF t/helper/.depend/test-prio-queue.o.d -MQ t/helper/test-prio-queue.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-prio-queue.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-hashmap.o -c -MF t/helper/.depend/test-hashmap.o.d -MQ t/helper/test-hashmap.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-hashmap.c +gcc -o t/helper/test-pkt-line.o -c -MF t/helper/.depend/test-pkt-line.o.d -MQ t/helper/test-pkt-line.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-pkt-line.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-progress.o -c -MF t/helper/.depend/test-progress.o.d -MQ t/helper/test-progress.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-progress.c @@ -3621,52 +3659,70 @@ gcc -o t/helper/test-read-cache.o -c -MF t/helper/.depend/test-read-cache.o.d -MQ t/helper/test-read-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-read-cache.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-read-midx.o -c -MF t/helper/.depend/test-read-midx.o.d -MQ t/helper/test-read-midx.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-read-midx.c +gcc -o t/helper/test-proc-receive.o -c -MF t/helper/.depend/test-proc-receive.o.d -MQ t/helper/test-proc-receive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-proc-receive.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-read-graph.o -c -MF t/helper/.depend/test-read-graph.o.d -MQ t/helper/test-read-graph.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-read-graph.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-proc-receive.o -c -MF t/helper/.depend/test-proc-receive.o.d -MQ t/helper/test-proc-receive.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-proc-receive.c +gcc -o t/helper/test-read-midx.o -c -MF t/helper/.depend/test-read-midx.o.d -MQ t/helper/test-read-midx.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-read-midx.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-reach.o -c -MF t/helper/.depend/test-reach.o.d -MQ t/helper/test-reach.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-reach.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-regex.o -c -MF t/helper/.depend/test-regex.o.d -MQ t/helper/test-regex.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-regex.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-json-writer.o -c -MF t/helper/.depend/test-json-writer.o.d -MQ t/helper/test-json-writer.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-json-writer.c +gcc -o t/helper/test-parse-options.o -c -MF t/helper/.depend/test-parse-options.o.d -MQ t/helper/test-parse-options.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-parse-options.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-scrap-cache-tree.o -c -MF t/helper/.depend/test-scrap-cache-tree.o.d -MQ t/helper/test-scrap-cache-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-scrap-cache-tree.c +gcc -o t/helper/test-path-utils.o -c -MF t/helper/.depend/test-path-utils.o.d -MQ t/helper/test-path-utils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-path-utils.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-serve-v2.o -c -MF t/helper/.depend/test-serve-v2.o.d -MQ t/helper/test-serve-v2.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-serve-v2.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-sha1.o -c -MF t/helper/.depend/test-sha1.o.d -MQ t/helper/test-sha1.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-sha1.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-reach.o -c -MF t/helper/.depend/test-reach.o.d -MQ t/helper/test-reach.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-reach.c +gcc -o t/helper/test-scrap-cache-tree.o -c -MF t/helper/.depend/test-scrap-cache-tree.o.d -MQ t/helper/test-scrap-cache-tree.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-scrap-cache-tree.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-repository.o -c -MF t/helper/.depend/test-repository.o.d -MQ t/helper/test-repository.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-repository.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-path-utils.o -c -MF t/helper/.depend/test-path-utils.o.d -MQ t/helper/test-path-utils.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-path-utils.c +gcc -o t/helper/test-revision-walking.o -c -MF t/helper/.depend/test-revision-walking.o.d -MQ t/helper/test-revision-walking.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-revision-walking.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-strcmp-offset.o -c -MF t/helper/.depend/test-strcmp-offset.o.d -MQ t/helper/test-strcmp-offset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-strcmp-offset.c +gcc -o t/helper/test-ref-store.o -c -MF t/helper/.depend/test-ref-store.o.d -MQ t/helper/test-ref-store.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-ref-store.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-serve-v2.o -c -MF t/helper/.depend/test-serve-v2.o.d -MQ t/helper/test-serve-v2.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-serve-v2.c +gcc -o t/helper/test-sigchain.o -c -MF t/helper/.depend/test-sigchain.o.d -MQ t/helper/test-sigchain.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-sigchain.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-sha256.o -c -MF t/helper/.depend/test-sha256.o.d -MQ t/helper/test-sha256.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-sha256.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-ref-store.o -c -MF t/helper/.depend/test-ref-store.o.d -MQ t/helper/test-ref-store.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-ref-store.c +gcc -o t/helper/test-strcmp-offset.o -c -MF t/helper/.depend/test-strcmp-offset.o.d -MQ t/helper/test-strcmp-offset.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-strcmp-offset.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-parse-options.o -c -MF t/helper/.depend/test-parse-options.o.d -MQ t/helper/test-parse-options.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-parse-options.c +gcc -o t/helper/test-submodule-config.o -c -MF t/helper/.depend/test-submodule-config.o.d -MQ t/helper/test-submodule-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-submodule-config.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-revision-walking.o -c -MF t/helper/.depend/test-revision-walking.o.d -MQ t/helper/test-revision-walking.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-revision-walking.c +gcc -o t/helper/test-submodule-nested-repo-config.o -c -MF t/helper/.depend/test-submodule-nested-repo-config.o.d -MQ t/helper/test-submodule-nested-repo-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-submodule-nested-repo-config.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-run-command.o -c -MF t/helper/.depend/test-run-command.o.d -MQ t/helper/test-run-command.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-run-command.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-string-list.o -c -MF t/helper/.depend/test-string-list.o.d -MQ t/helper/test-string-list.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-string-list.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-subprocess.o -c -MF t/helper/.depend/test-subprocess.o.d -MQ t/helper/test-subprocess.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-subprocess.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-urlmatch-normalization.o -c -MF t/helper/.depend/test-urlmatch-normalization.o.d -MQ t/helper/test-urlmatch-normalization.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-urlmatch-normalization.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' sed -e '1s|#!.*/sh|#!/bin/sh|' \ @@ -3675,9 +3731,6 @@ chmod +x bin-wrappers/git make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-sigchain.o -c -MF t/helper/.depend/test-sigchain.o.d -MQ t/helper/test-sigchain.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-sigchain.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' sed -e '1s|#!.*/sh|#!/bin/sh|' \ -e 's|@@BUILD_DIR@@|/build/git-2.30.2|' \ -e 's|@@PROG@@|git-receive-pack|' < wrap-for-bin.sh > bin-wrappers/git-receive-pack && \ @@ -3702,6 +3755,9 @@ chmod +x bin-wrappers/git-upload-pack make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' +gcc -o t/helper/test-trace2.o -c -MF t/helper/.depend/test-trace2.o.d -MQ t/helper/test-trace2.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-trace2.c +make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' sed -e '1s|#!.*/sh|#!/bin/sh|' \ -e 's|@@BUILD_DIR@@|/build/git-2.30.2|' \ -e 's|@@PROG@@|git-cvsserver|' < wrap-for-bin.sh > bin-wrappers/git-cvsserver && \ @@ -3720,37 +3776,16 @@ chmod +x bin-wrappers/test-tool make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-submodule-config.o -c -MF t/helper/.depend/test-submodule-config.o.d -MQ t/helper/test-submodule-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-submodule-config.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-submodule-nested-repo-config.o -c -MF t/helper/.depend/test-submodule-nested-repo-config.o.d -MQ t/helper/test-submodule-nested-repo-config.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-submodule-nested-repo-config.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-subprocess.o -c -MF t/helper/.depend/test-subprocess.o.d -MQ t/helper/test-subprocess.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-subprocess.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-windows-named-pipe.o -c -MF t/helper/.depend/test-windows-named-pipe.o.d -MQ t/helper/test-windows-named-pipe.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-windows-named-pipe.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-wildmatch.o -c -MF t/helper/.depend/test-wildmatch.o.d -MQ t/helper/test-wildmatch.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-wildmatch.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-urlmatch-normalization.o -c -MF t/helper/.depend/test-urlmatch-normalization.o.d -MQ t/helper/test-urlmatch-normalization.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-urlmatch-normalization.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-string-list.o -c -MF t/helper/.depend/test-string-list.o.d -MQ t/helper/test-string-list.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-string-list.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-xml-encode.o -c -MF t/helper/.depend/test-xml-encode.o.d -MQ t/helper/test-xml-encode.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-xml-encode.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' gcc -o t/helper/test-write-cache.o -c -MF t/helper/.depend/test-write-cache.o.d -MQ t/helper/test-write-cache.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-write-cache.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-trace2.o -c -MF t/helper/.depend/test-trace2.o.d -MQ t/helper/test-trace2.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-trace2.c -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' -gcc -o t/helper/test-run-command.o -c -MF t/helper/.depend/test-run-command.o.d -MQ t/helper/test-run-command.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-run-command.c +gcc -o t/helper/test-xml-encode.o -c -MF t/helper/.depend/test-xml-encode.o.d -MQ t/helper/test-xml-encode.o -MMD -MP -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' t/helper/test-xml-encode.c make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' gcc -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -I. -DHAVE_SYSINFO -DGIT_HOST_CPU="\"i686\"" -DUSE_LIBPCRE2 -DHAVE_ALLOCA_H -DUSE_CURL_FOR_IMAP_SEND -DNO_OPENSSL -DSHA1_DC -DSHA1DC_NO_STANDARD_INCLUDES -DSHA1DC_INIT_SAFE_HASH_DEFAULT=0 -DSHA1DC_CUSTOM_INCLUDE_SHA1_C="\"cache.h\"" -DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C="\"git-compat-util.h\"" -DSHA256_BLK -DHAVE_PATHS_H -DHAVE_DEV_TTY -DHAVE_CLOCK_GETTIME -DHAVE_CLOCK_MONOTONIC -DHAVE_GETDELIM '-DPROCFS_EXECUTABLE_PATH="/proc/self/exe"' -DFREAD_READS_DIRECTORIES -DNO_STRLCPY -DDEFAULT_EDITOR='"editor"' -DDEFAULT_PAGER='"pager"' -DSHELL_PATH='"/bin/sh"' -DPAGER_ENV='"LESS=FRX LV=-c"' -o t/helper/test-fake-ssh -Wl,-z,relro t/helper/test-fake-ssh.o common-main.o libgit.a xdiff/lib.a libgit.a xdiff/lib.a -lpcre2-8 -lz -lpthread -lrt @@ -3825,28 +3860,16 @@ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 git-tools.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/update-hook-example.html+ howto/update-hook-example.html && \ -sed -e '1,/^$/d' howto/update-hook-example.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/update-hook-example.html+ && \ -mv howto/update-hook-example.html+ howto/update-hook-example.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/using-merge-subtree.html+ howto/using-merge-subtree.html && \ sed -e '1,/^$/d' howto/using-merge-subtree.txt | \ TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/using-merge-subtree.html+ && \ mv howto/using-merge-subtree.html+ howto/using-merge-subtree.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/rebuild-from-update-hook.html+ howto/rebuild-from-update-hook.html && \ -sed -e '1,/^$/d' howto/rebuild-from-update-hook.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/rebuild-from-update-hook.html+ && \ -mv howto/rebuild-from-update-hook.html+ howto/rebuild-from-update-hook.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/separating-topic-branches.html+ howto/separating-topic-branches.html && \ -sed -e '1,/^$/d' howto/separating-topic-branches.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/separating-topic-branches.html+ && \ -mv howto/separating-topic-branches.html+ howto/separating-topic-branches.html +rm -f howto/revert-branch-rebase.html+ howto/revert-branch-rebase.html && \ +sed -e '1,/^$/d' howto/revert-branch-rebase.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/revert-branch-rebase.html+ && \ +mv howto/revert-branch-rebase.html+ howto/revert-branch-rebase.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/new-command.html+ howto/new-command.html && \ @@ -3855,16 +3878,28 @@ mv howto/new-command.html+ howto/new-command.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f howto/using-signed-tag-in-pull-request.html+ howto/using-signed-tag-in-pull-request.html && \ +sed -e '1,/^$/d' howto/using-signed-tag-in-pull-request.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/using-signed-tag-in-pull-request.html+ && \ +mv howto/using-signed-tag-in-pull-request.html+ howto/using-signed-tag-in-pull-request.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f howto/update-hook-example.html+ howto/update-hook-example.html && \ +sed -e '1,/^$/d' howto/update-hook-example.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/update-hook-example.html+ && \ +mv howto/update-hook-example.html+ howto/update-hook-example.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/use-git-daemon.html+ howto/use-git-daemon.html && \ sed -e '1,/^$/d' howto/use-git-daemon.txt | \ TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/use-git-daemon.html+ && \ mv howto/use-git-daemon.html+ howto/use-git-daemon.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/revert-branch-rebase.html+ howto/revert-branch-rebase.html && \ -sed -e '1,/^$/d' howto/revert-branch-rebase.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/revert-branch-rebase.html+ && \ -mv howto/revert-branch-rebase.html+ howto/revert-branch-rebase.html +rm -f howto/separating-topic-branches.html+ howto/separating-topic-branches.html && \ +sed -e '1,/^$/d' howto/separating-topic-branches.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/separating-topic-branches.html+ && \ +mv howto/separating-topic-branches.html+ howto/separating-topic-branches.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/recover-corrupted-blob-object.html+ howto/recover-corrupted-blob-object.html && \ @@ -3873,13 +3908,16 @@ mv howto/recover-corrupted-blob-object.html+ howto/recover-corrupted-blob-object.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/using-signed-tag-in-pull-request.html+ howto/using-signed-tag-in-pull-request.html && \ -sed -e '1,/^$/d' howto/using-signed-tag-in-pull-request.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/using-signed-tag-in-pull-request.html+ && \ -mv howto/using-signed-tag-in-pull-request.html+ howto/using-signed-tag-in-pull-request.html +rm -f howto/rebuild-from-update-hook.html+ howto/rebuild-from-update-hook.html && \ +sed -e '1,/^$/d' howto/rebuild-from-update-hook.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/rebuild-from-update-hook.html+ && \ +mv howto/rebuild-from-update-hook.html+ howto/rebuild-from-update-hook.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -cp SubmittingPatches SubmittingPatches.txt +rm -f howto/setup-git-server-over-http.html+ howto/setup-git-server-over-http.html && \ +sed -e '1,/^$/d' howto/setup-git-server-over-http.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/setup-git-server-over-http.html+ && \ +mv howto/setup-git-server-over-http.html+ howto/setup-git-server-over-http.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/recover-corrupted-object-harder.html+ howto/recover-corrupted-object-harder.html && \ @@ -3888,43 +3926,28 @@ mv howto/recover-corrupted-object-harder.html+ howto/recover-corrupted-object-harder.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/rebase-from-internal-branch.html+ howto/rebase-from-internal-branch.html && \ -sed -e '1,/^$/d' howto/rebase-from-internal-branch.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/rebase-from-internal-branch.html+ && \ -mv howto/rebase-from-internal-branch.html+ howto/rebase-from-internal-branch.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/revert-a-faulty-merge.html+ howto/revert-a-faulty-merge.html && \ sed -e '1,/^$/d' howto/revert-a-faulty-merge.txt | \ TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/revert-a-faulty-merge.html+ && \ mv howto/revert-a-faulty-merge.html+ howto/revert-a-faulty-merge.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-merge.txt -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f howto/setup-git-server-over-http.html+ howto/setup-git-server-over-http.html && \ -sed -e '1,/^$/d' howto/setup-git-server-over-http.txt | \ -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/setup-git-server-over-http.html+ && \ -mv howto/setup-git-server-over-http.html+ howto/setup-git-server-over-http.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-error-handling.txt -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/keep-canonical-history-correct.html+ howto/keep-canonical-history-correct.html && \ sed -e '1,/^$/d' howto/keep-canonical-history-correct.txt | \ TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/keep-canonical-history-correct.html+ && \ mv howto/keep-canonical-history-correct.html+ howto/keep-canonical-history-correct.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/long-running-process-protocol.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-merge.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/multi-pack-index.txt +rm -f howto/rebase-from-internal-branch.html+ howto/rebase-from-internal-branch.html && \ +sed -e '1,/^$/d' howto/rebase-from-internal-branch.txt | \ +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 - >howto/rebase-from-internal-branch.html+ && \ +mv howto/rebase-from-internal-branch.html+ howto/rebase-from-internal-branch.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-parse-options.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-error-handling.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f howto/maintain-git.html+ howto/maintain-git.html && \ @@ -3933,94 +3956,86 @@ mv howto/maintain-git.html+ howto/maintain-git.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/index-format.txt +cp SubmittingPatches SubmittingPatches.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/pack-format.txt +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 git-bisect-lk2009.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/protocol-common.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-parse-options.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/partial-clone.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/index-format.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/http-protocol.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-trace2.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 MyFirstObjectWalk.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/racy-git.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/http-protocol.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/protocol-capabilities.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/long-running-process-protocol.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/send-pack-pipeline.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/hash-function-transition.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -cd technical && '/bin/sh' ./api-index.sh +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/multi-pack-index.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/pack-protocol.txt +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 MyFirstContribution.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/hash-function-transition.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/pack-format.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/pack-heuristics.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/protocol-common.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-trace2.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/pack-heuristics.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/shallow.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/partial-clone.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/protocol-v2.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/protocol-capabilities.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/signature-format.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/pack-protocol.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 git-bisect-lk2009.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/racy-git.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f everyday.html+ everyday.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -o everyday.html+ everyday.txto && \ -mv everyday.html+ everyday.html +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/protocol-v2.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote-helpers.html+ git-remote-helpers.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -o git-remote-helpers.html+ git-remote-helpers.txto && \ -mv git-remote-helpers.html+ git-remote-helpers.html +cd technical && '/bin/sh' ./api-index.sh make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 MyFirstContribution.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/send-pack-pipeline.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/trivial-merge.txt +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/shallow.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-archimport.xml+ git-archimport.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-archimport.xml+ git-archimport.txt && \ -mv git-archimport.xml+ git-archimport.xml +rm -f everyday.html+ everyday.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -o everyday.html+ everyday.txto && \ +mv everyday.html+ everyday.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-bugreport.xml+ git-bugreport.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-bugreport.xml+ git-bugreport.txt && \ -mv git-bugreport.xml+ git-bugreport.xml +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/signature-format.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-annotate.xml+ git-annotate.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-annotate.xml+ git-annotate.txt && \ -mv git-annotate.xml+ git-annotate.xml +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/trivial-merge.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-archive.xml+ git-archive.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-archive.xml+ git-archive.txt && \ -mv git-archive.xml+ git-archive.xml +rm -f git-remote-helpers.html+ git-remote-helpers.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -o git-remote-helpers.html+ git-remote-helpers.txto && \ +mv git-remote-helpers.html+ git-remote-helpers.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-am.xml+ git-am.xml && \ @@ -4033,14 +4048,14 @@ mv git-apply.xml+ git-apply.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-attr.xml+ git-check-attr.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-attr.xml+ git-check-attr.txt && \ -mv git-check-attr.xml+ git-check-attr.xml +rm -f git-annotate.xml+ git-annotate.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-annotate.xml+ git-annotate.txt && \ +mv git-annotate.xml+ git-annotate.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-ignore.xml+ git-check-ignore.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-ignore.xml+ git-check-ignore.txt && \ -mv git-check-ignore.xml+ git-check-ignore.xml +rm -f git-archimport.xml+ git-archimport.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-archimport.xml+ git-archimport.txt && \ +mv git-archimport.xml+ git-archimport.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-add.xml+ git-add.xml && \ @@ -4048,6 +4063,19 @@ mv git-add.xml+ git-add.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-archive.xml+ git-archive.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-archive.xml+ git-archive.txt && \ +mv git-archive.xml+ git-archive.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-bugreport.xml+ git-bugreport.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-bugreport.xml+ git-bugreport.txt && \ +mv git-bugreport.xml+ git-bugreport.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/reftable.txt +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-bundle.xml+ git-bundle.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-bundle.xml+ git-bundle.txt && \ mv git-bundle.xml+ git-bundle.xml @@ -4058,37 +4086,49 @@ mv git-bisect.xml+ git-bisect.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-check-attr.xml+ git-check-attr.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-attr.xml+ git-check-attr.txt && \ +mv git-check-attr.xml+ git-check-attr.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-branch.xml+ git-branch.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-branch.xml+ git-branch.txt && \ +mv git-branch.xml+ git-branch.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-blame.xml+ git-blame.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-blame.xml+ git-blame.txt && \ +mv git-blame.xml+ git-blame.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cat-file.xml+ git-cat-file.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cat-file.xml+ git-cat-file.txt && \ mv git-cat-file.xml+ git-cat-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-mailmap.xml+ git-check-mailmap.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-mailmap.xml+ git-check-mailmap.txt && \ -mv git-check-mailmap.xml+ git-check-mailmap.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-ref-format.xml+ git-check-ref-format.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-ref-format.xml+ git-check-ref-format.txt && \ -mv git-check-ref-format.xml+ git-check-ref-format.xml +rm -f git-check-ignore.xml+ git-check-ignore.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-ignore.xml+ git-check-ignore.txt && \ +mv git-check-ignore.xml+ git-check-ignore.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-citool.xml+ git-citool.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-citool.xml+ git-citool.txt && \ -mv git-citool.xml+ git-citool.xml +rm -f user-manual.xml+ user-manual.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d book -o user-manual.xml+ user-manual.txt && \ +mv user-manual.xml+ user-manual.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-branch.xml+ git-branch.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-branch.xml+ git-branch.txt && \ -mv git-branch.xml+ git-branch.xml +rm -f git-check-mailmap.xml+ git-check-mailmap.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-mailmap.xml+ git-check-mailmap.txt && \ +mv git-check-mailmap.xml+ git-check-mailmap.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/reftable.txt +rm -f git-checkout-index.xml+ git-checkout-index.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-checkout-index.xml+ git-checkout-index.txt && \ +mv git-checkout-index.xml+ git-checkout-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-blame.xml+ git-blame.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-blame.xml+ git-blame.txt && \ -mv git-blame.xml+ git-blame.xml +rm -f git-check-ref-format.xml+ git-check-ref-format.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-check-ref-format.xml+ git-check-ref-format.txt && \ +mv git-check-ref-format.xml+ git-check-ref-format.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cherry.xml+ git-cherry.xml && \ @@ -4096,9 +4136,14 @@ mv git-cherry.xml+ git-cherry.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-checkout-index.xml+ git-checkout-index.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-checkout-index.xml+ git-checkout-index.txt && \ -mv git-checkout-index.xml+ git-checkout-index.xml +rm -f git-citool.xml+ git-citool.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-citool.xml+ git-citool.txt && \ +mv git-citool.xml+ git-citool.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-cherry-pick.xml+ git-cherry-pick.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cherry-pick.xml+ git-cherry-pick.txt && \ +mv git-cherry-pick.xml+ git-cherry-pick.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-clean.xml+ git-clean.xml && \ @@ -4111,19 +4156,14 @@ mv git-column.xml+ git-column.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cherry-pick.xml+ git-cherry-pick.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cherry-pick.xml+ git-cherry-pick.txt && \ -mv git-cherry-pick.xml+ git-cherry-pick.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-credential-cache--daemon.xml+ git-credential-cache--daemon.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-credential-cache--daemon.xml+ git-credential-cache--daemon.txt && \ -mv git-credential-cache--daemon.xml+ git-credential-cache--daemon.xml +rm -f git-commit-tree.xml+ git-commit-tree.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-commit-tree.xml+ git-commit-tree.txt && \ +mv git-commit-tree.xml+ git-commit-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-count-objects.xml+ git-count-objects.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-count-objects.xml+ git-count-objects.txt && \ -mv git-count-objects.xml+ git-count-objects.xml +rm -f git-checkout.xml+ git-checkout.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-checkout.xml+ git-checkout.txt && \ +mv git-checkout.xml+ git-checkout.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-commit-graph.xml+ git-commit-graph.xml && \ @@ -4131,6 +4171,16 @@ mv git-commit-graph.xml+ git-commit-graph.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-clone.xml+ git-clone.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-clone.xml+ git-clone.txt && \ +mv git-clone.xml+ git-clone.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-credential-cache--daemon.xml+ git-credential-cache--daemon.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-credential-cache--daemon.xml+ git-credential-cache--daemon.txt && \ +mv git-credential-cache--daemon.xml+ git-credential-cache--daemon.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-credential-cache.xml+ git-credential-cache.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-credential-cache.xml+ git-credential-cache.txt && \ mv git-credential-cache.xml+ git-credential-cache.xml @@ -4141,14 +4191,9 @@ mv git-credential-store.xml+ git-credential-store.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-commit-tree.xml+ git-commit-tree.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-commit-tree.xml+ git-commit-tree.txt && \ -mv git-commit-tree.xml+ git-commit-tree.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-checkout.xml+ git-checkout.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-checkout.xml+ git-checkout.txt && \ -mv git-checkout.xml+ git-checkout.xml +rm -f git-count-objects.xml+ git-count-objects.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-count-objects.xml+ git-count-objects.txt && \ +mv git-count-objects.xml+ git-count-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cvsexportcommit.xml+ git-cvsexportcommit.xml && \ @@ -4156,9 +4201,9 @@ mv git-cvsexportcommit.xml+ git-cvsexportcommit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-clone.xml+ git-clone.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-clone.xml+ git-clone.txt && \ -mv git-clone.xml+ git-clone.xml +rm -f git-cvsimport.xml+ git-cvsimport.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cvsimport.xml+ git-cvsimport.txt && \ +mv git-cvsimport.xml+ git-cvsimport.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-credential.xml+ git-credential.xml && \ @@ -4166,14 +4211,9 @@ mv git-credential.xml+ git-credential.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cvsimport.xml+ git-cvsimport.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cvsimport.xml+ git-cvsimport.txt && \ -mv git-cvsimport.xml+ git-cvsimport.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-describe.xml+ git-describe.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-describe.xml+ git-describe.txt && \ -mv git-describe.xml+ git-describe.xml +rm -f git-commit.xml+ git-commit.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-commit.xml+ git-commit.txt && \ +mv git-commit.xml+ git-commit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-daemon.xml+ git-daemon.xml && \ @@ -4181,14 +4221,29 @@ mv git-daemon.xml+ git-daemon.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-cvsserver.xml+ git-cvsserver.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cvsserver.xml+ git-cvsserver.txt && \ +mv git-cvsserver.xml+ git-cvsserver.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-describe.xml+ git-describe.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-describe.xml+ git-describe.txt && \ +mv git-describe.xml+ git-describe.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-difftool.xml+ git-difftool.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-difftool.xml+ git-difftool.txt && \ mv git-difftool.xml+ git-difftool.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cvsserver.xml+ git-cvsserver.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-cvsserver.xml+ git-cvsserver.txt && \ -mv git-cvsserver.xml+ git-cvsserver.xml +rm -f git-fast-export.xml+ git-fast-export.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fast-export.xml+ git-fast-export.txt && \ +mv git-fast-export.xml+ git-fast-export.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff-index.xml+ git-diff-index.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff-index.xml+ git-diff-index.txt && \ +mv git-diff-index.xml+ git-diff-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fetch-pack.xml+ git-fetch-pack.xml && \ @@ -4196,14 +4251,19 @@ mv git-fetch-pack.xml+ git-fetch-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-commit.xml+ git-commit.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-commit.xml+ git-commit.txt && \ -mv git-commit.xml+ git-commit.xml +rm -f git-diff-files.xml+ git-diff-files.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff-files.xml+ git-diff-files.txt && \ +mv git-diff-files.xml+ git-diff-files.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fast-export.xml+ git-fast-export.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fast-export.xml+ git-fast-export.txt && \ -mv git-fast-export.xml+ git-fast-export.xml +rm -f git-diff-tree.xml+ git-diff-tree.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff-tree.xml+ git-diff-tree.txt && \ +mv git-diff-tree.xml+ git-diff-tree.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff.xml+ git-diff.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff.xml+ git-diff.txt && \ +mv git-diff.xml+ git-diff.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fmt-merge-msg.xml+ git-fmt-merge-msg.xml && \ @@ -4211,9 +4271,9 @@ mv git-fmt-merge-msg.xml+ git-fmt-merge-msg.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-for-each-repo.xml+ git-for-each-repo.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-for-each-repo.xml+ git-for-each-repo.txt && \ -mv git-for-each-repo.xml+ git-for-each-repo.xml +rm -f git-fetch.xml+ git-fetch.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fetch.xml+ git-fetch.txt && \ +mv git-fetch.xml+ git-fetch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fsck-objects.xml+ git-fsck-objects.xml && \ @@ -4221,9 +4281,14 @@ mv git-fsck-objects.xml+ git-fsck-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-get-tar-commit-id.xml+ git-get-tar-commit-id.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-get-tar-commit-id.xml+ git-get-tar-commit-id.txt && \ -mv git-get-tar-commit-id.xml+ git-get-tar-commit-id.xml +rm -f git-for-each-repo.xml+ git-for-each-repo.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-for-each-repo.xml+ git-for-each-repo.txt && \ +mv git-for-each-repo.xml+ git-for-each-repo.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-fast-import.xml+ git-fast-import.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fast-import.xml+ git-fast-import.txt && \ +mv git-fast-import.xml+ git-fast-import.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-filter-branch.xml+ git-filter-branch.xml && \ @@ -4231,16 +4296,21 @@ mv git-filter-branch.xml+ git-filter-branch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fsck.xml+ git-fsck.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fsck.xml+ git-fsck.txt && \ -mv git-fsck.xml+ git-fsck.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-for-each-ref.xml+ git-for-each-ref.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-for-each-ref.xml+ git-for-each-ref.txt && \ mv git-for-each-ref.xml+ git-for-each-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-get-tar-commit-id.xml+ git-get-tar-commit-id.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-get-tar-commit-id.xml+ git-get-tar-commit-id.txt && \ +mv git-get-tar-commit-id.xml+ git-get-tar-commit-id.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-fsck.xml+ git-fsck.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fsck.xml+ git-fsck.txt && \ +mv git-fsck.xml+ git-fsck.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-gc.xml+ git-gc.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-gc.xml+ git-gc.txt && \ mv git-gc.xml+ git-gc.xml @@ -4251,9 +4321,14 @@ mv git-gui.xml+ git-gui.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fetch.xml+ git-fetch.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fetch.xml+ git-fetch.txt && \ -mv git-fetch.xml+ git-fetch.xml +rm -f git-help.xml+ git-help.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-help.xml+ git-help.txt && \ +mv git-help.xml+ git-help.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-grep.xml+ git-grep.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-grep.xml+ git-grep.txt && \ +mv git-grep.xml+ git-grep.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-hash-object.xml+ git-hash-object.xml && \ @@ -4266,14 +4341,9 @@ mv git-http-fetch.xml+ git-http-fetch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-grep.xml+ git-grep.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-grep.xml+ git-grep.txt && \ -mv git-grep.xml+ git-grep.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-help.xml+ git-help.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-help.xml+ git-help.txt && \ -mv git-help.xml+ git-help.xml +rm -f git-http-backend.xml+ git-http-backend.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-http-backend.xml+ git-http-backend.txt && \ +mv git-http-backend.xml+ git-http-backend.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-http-push.xml+ git-http-push.xml && \ @@ -4281,19 +4351,24 @@ mv git-http-push.xml+ git-http-push.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-imap-send.xml+ git-imap-send.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-imap-send.xml+ git-imap-send.txt && \ +mv git-imap-send.xml+ git-imap-send.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-init-db.xml+ git-init-db.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-init-db.xml+ git-init-db.txt && \ mv git-init-db.xml+ git-init-db.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-http-backend.xml+ git-http-backend.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-http-backend.xml+ git-http-backend.txt && \ -mv git-http-backend.xml+ git-http-backend.xml +rm -f git-instaweb.xml+ git-instaweb.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-instaweb.xml+ git-instaweb.txt && \ +mv git-instaweb.xml+ git-instaweb.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-files.xml+ git-diff-files.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff-files.xml+ git-diff-files.txt && \ -mv git-diff-files.xml+ git-diff-files.xml +rm -f git-format-patch.xml+ git-format-patch.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-format-patch.xml+ git-format-patch.txt && \ +mv git-format-patch.xml+ git-format-patch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-index-pack.xml+ git-index-pack.xml && \ @@ -4301,24 +4376,14 @@ mv git-index-pack.xml+ git-index-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-index.xml+ git-diff-index.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff-index.xml+ git-diff-index.txt && \ -mv git-diff-index.xml+ git-diff-index.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-imap-send.xml+ git-imap-send.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-imap-send.xml+ git-imap-send.txt && \ -mv git-imap-send.xml+ git-imap-send.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff.xml+ git-diff.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff.xml+ git-diff.txt && \ -mv git-diff.xml+ git-diff.xml +rm -f git-init.xml+ git-init.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-init.xml+ git-init.txt && \ +mv git-init.xml+ git-init.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-instaweb.xml+ git-instaweb.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-instaweb.xml+ git-instaweb.txt && \ -mv git-instaweb.xml+ git-instaweb.xml +rm -f git-interpret-trailers.xml+ git-interpret-trailers.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-interpret-trailers.xml+ git-interpret-trailers.txt && \ +mv git-interpret-trailers.xml+ git-interpret-trailers.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-ls-remote.xml+ git-ls-remote.xml && \ @@ -4326,29 +4391,14 @@ mv git-ls-remote.xml+ git-ls-remote.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-format-patch.xml+ git-format-patch.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-format-patch.xml+ git-format-patch.txt && \ -mv git-format-patch.xml+ git-format-patch.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-init.xml+ git-init.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-init.xml+ git-init.txt && \ -mv git-init.xml+ git-init.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-ls-tree.xml+ git-ls-tree.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-ls-tree.xml+ git-ls-tree.txt && \ mv git-ls-tree.xml+ git-ls-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fast-import.xml+ git-fast-import.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-fast-import.xml+ git-fast-import.txt && \ -mv git-fast-import.xml+ git-fast-import.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-mailsplit.xml+ git-mailsplit.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mailsplit.xml+ git-mailsplit.txt && \ -mv git-mailsplit.xml+ git-mailsplit.xml +rm -f git-ls-files.xml+ git-ls-files.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-ls-files.xml+ git-ls-files.txt && \ +mv git-ls-files.xml+ git-ls-files.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mailinfo.xml+ git-mailinfo.xml && \ @@ -4356,24 +4406,19 @@ mv git-mailinfo.xml+ git-mailinfo.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-maintenance.xml+ git-maintenance.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-maintenance.xml+ git-maintenance.txt && \ -mv git-maintenance.xml+ git-maintenance.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-interpret-trailers.xml+ git-interpret-trailers.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-interpret-trailers.xml+ git-interpret-trailers.txt && \ -mv git-interpret-trailers.xml+ git-interpret-trailers.xml +rm -f git-mailsplit.xml+ git-mailsplit.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mailsplit.xml+ git-mailsplit.txt && \ +mv git-mailsplit.xml+ git-mailsplit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-ls-files.xml+ git-ls-files.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-ls-files.xml+ git-ls-files.txt && \ -mv git-ls-files.xml+ git-ls-files.xml +rm -f git-merge-index.xml+ git-merge-index.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge-index.xml+ git-merge-index.txt && \ +mv git-merge-index.xml+ git-merge-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-tree.xml+ git-diff-tree.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-diff-tree.xml+ git-diff-tree.txt && \ -mv git-diff-tree.xml+ git-diff-tree.xml +rm -f git-merge-file.xml+ git-merge-file.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge-file.xml+ git-merge-file.txt && \ +mv git-merge-file.xml+ git-merge-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-merge-one-file.xml+ git-merge-one-file.xml && \ @@ -4381,14 +4426,9 @@ mv git-merge-one-file.xml+ git-merge-one-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-file.xml+ git-merge-file.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge-file.xml+ git-merge-file.txt && \ -mv git-merge-file.xml+ git-merge-file.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-base.xml+ git-merge-base.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge-base.xml+ git-merge-base.txt && \ -mv git-merge-base.xml+ git-merge-base.xml +rm -f git-maintenance.xml+ git-maintenance.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-maintenance.xml+ git-maintenance.txt && \ +mv git-maintenance.xml+ git-maintenance.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-merge-tree.xml+ git-merge-tree.xml && \ @@ -4396,9 +4436,9 @@ mv git-merge-tree.xml+ git-merge-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-index.xml+ git-merge-index.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge-index.xml+ git-merge-index.txt && \ -mv git-merge-index.xml+ git-merge-index.xml +rm -f git-merge-base.xml+ git-merge-base.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge-base.xml+ git-merge-base.txt && \ +mv git-merge-base.xml+ git-merge-base.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mergetool--lib.xml+ git-mergetool--lib.xml && \ @@ -4406,16 +4446,16 @@ mv git-mergetool--lib.xml+ git-mergetool--lib.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-mktag.xml+ git-mktag.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mktag.xml+ git-mktag.txt && \ -mv git-mktag.xml+ git-mktag.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mergetool.xml+ git-mergetool.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mergetool.xml+ git-mergetool.txt && \ mv git-mergetool.xml+ git-mergetool.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-mktag.xml+ git-mktag.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mktag.xml+ git-mktag.txt && \ +mv git-mktag.xml+ git-mktag.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mktree.xml+ git-mktree.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mktree.xml+ git-mktree.txt && \ mv git-mktree.xml+ git-mktree.xml @@ -4426,21 +4466,31 @@ mv git-multi-pack-index.xml+ git-multi-pack-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-config.xml+ git-config.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-config.xml+ git-config.txt && \ +mv git-config.xml+ git-config.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mv.xml+ git-mv.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-mv.xml+ git-mv.txt && \ mv git-mv.xml+ git-mv.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pack-redundant.xml+ git-pack-redundant.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pack-redundant.xml+ git-pack-redundant.txt && \ -mv git-pack-redundant.xml+ git-pack-redundant.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-name-rev.xml+ git-name-rev.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-name-rev.xml+ git-name-rev.txt && \ mv git-name-rev.xml+ git-name-rev.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-merge.xml+ git-merge.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge.xml+ git-merge.txt && \ +mv git-merge.xml+ git-merge.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-pack-redundant.xml+ git-pack-redundant.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pack-redundant.xml+ git-pack-redundant.txt && \ +mv git-pack-redundant.xml+ git-pack-redundant.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-pack-refs.xml+ git-pack-refs.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pack-refs.xml+ git-pack-refs.txt && \ mv git-pack-refs.xml+ git-pack-refs.xml @@ -4451,34 +4501,34 @@ mv git-patch-id.xml+ git-patch-id.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-notes.xml+ git-notes.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-notes.xml+ git-notes.txt && \ +mv git-notes.xml+ git-notes.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-prune-packed.xml+ git-prune-packed.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-prune-packed.xml+ git-prune-packed.txt && \ mv git-prune-packed.xml+ git-prune-packed.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f user-manual.xml+ user-manual.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d book -o user-manual.xml+ user-manual.txt && \ -mv user-manual.xml+ user-manual.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-prune.xml+ git-prune.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-prune.xml+ git-prune.txt && \ mv git-prune.xml+ git-prune.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-quiltimport.xml+ git-quiltimport.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-quiltimport.xml+ git-quiltimport.txt && \ -mv git-quiltimport.xml+ git-quiltimport.xml +rm -f git-pack-objects.xml+ git-pack-objects.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pack-objects.xml+ git-pack-objects.txt && \ +mv git-pack-objects.xml+ git-pack-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-notes.xml+ git-notes.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-notes.xml+ git-notes.txt && \ -mv git-notes.xml+ git-notes.xml +rm -f git-p4.xml+ git-p4.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-p4.xml+ git-p4.txt && \ +mv git-p4.xml+ git-p4.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pack-objects.xml+ git-pack-objects.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pack-objects.xml+ git-pack-objects.txt && \ -mv git-pack-objects.xml+ git-pack-objects.xml +rm -f git-quiltimport.xml+ git-quiltimport.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-quiltimport.xml+ git-quiltimport.txt && \ +mv git-quiltimport.xml+ git-quiltimport.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-range-diff.xml+ git-range-diff.xml && \ @@ -4486,19 +4536,19 @@ mv git-range-diff.xml+ git-range-diff.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote-ext.xml+ git-remote-ext.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-remote-ext.xml+ git-remote-ext.txt && \ -mv git-remote-ext.xml+ git-remote-ext.xml +rm -f git-log.xml+ git-log.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-log.xml+ git-log.txt && \ +mv git-log.xml+ git-log.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-reflog.xml+ git-reflog.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-reflog.xml+ git-reflog.txt && \ -mv git-reflog.xml+ git-reflog.xml +rm -f git-pull.xml+ git-pull.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pull.xml+ git-pull.txt && \ +mv git-pull.xml+ git-pull.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote-fd.xml+ git-remote-fd.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-remote-fd.xml+ git-remote-fd.txt && \ -mv git-remote-fd.xml+ git-remote-fd.xml +rm -f git-read-tree.xml+ git-read-tree.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-read-tree.xml+ git-read-tree.txt && \ +mv git-read-tree.xml+ git-read-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-receive-pack.xml+ git-receive-pack.xml && \ @@ -4506,24 +4556,29 @@ mv git-receive-pack.xml+ git-receive-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge.xml+ git-merge.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-merge.xml+ git-merge.txt && \ -mv git-merge.xml+ git-merge.xml +rm -f git-reflog.xml+ git-reflog.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-reflog.xml+ git-reflog.txt && \ +mv git-reflog.xml+ git-reflog.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-read-tree.xml+ git-read-tree.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-read-tree.xml+ git-read-tree.txt && \ -mv git-read-tree.xml+ git-read-tree.xml +rm -f git-push.xml+ git-push.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-push.xml+ git-push.txt && \ +mv git-push.xml+ git-push.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-replace.xml+ git-replace.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-replace.xml+ git-replace.txt && \ -mv git-replace.xml+ git-replace.xml +rm -f git-remote-fd.xml+ git-remote-fd.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-remote-fd.xml+ git-remote-fd.txt && \ +mv git-remote-fd.xml+ git-remote-fd.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-request-pull.xml+ git-request-pull.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-request-pull.xml+ git-request-pull.txt && \ -mv git-request-pull.xml+ git-request-pull.xml +rm -f git-remote-ext.xml+ git-remote-ext.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-remote-ext.xml+ git-remote-ext.txt && \ +mv git-remote-ext.xml+ git-remote-ext.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-remote.xml+ git-remote.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-remote.xml+ git-remote.txt && \ +mv git-remote.xml+ git-remote.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-repack.xml+ git-repack.xml && \ @@ -4531,14 +4586,9 @@ mv git-repack.xml+ git-repack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-p4.xml+ git-p4.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-p4.xml+ git-p4.txt && \ -mv git-p4.xml+ git-p4.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote.xml+ git-remote.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-remote.xml+ git-remote.txt && \ -mv git-remote.xml+ git-remote.xml +rm -f git-request-pull.xml+ git-request-pull.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-request-pull.xml+ git-request-pull.txt && \ +mv git-request-pull.xml+ git-request-pull.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-rerere.xml+ git-rerere.xml && \ @@ -4546,9 +4596,9 @@ mv git-rerere.xml+ git-rerere.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-revert.xml+ git-revert.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-revert.xml+ git-revert.txt && \ -mv git-revert.xml+ git-revert.xml +rm -f git-replace.xml+ git-replace.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-replace.xml+ git-replace.txt && \ +mv git-replace.xml+ git-replace.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-restore.xml+ git-restore.xml && \ @@ -4556,9 +4606,24 @@ mv git-restore.xml+ git-restore.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-sh-i18n--envsubst.xml+ git-sh-i18n--envsubst.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-sh-i18n--envsubst.xml+ git-sh-i18n--envsubst.txt && \ -mv git-sh-i18n--envsubst.xml+ git-sh-i18n--envsubst.xml +rm -f git-revert.xml+ git-revert.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-revert.xml+ git-revert.txt && \ +mv git-revert.xml+ git-revert.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-reset.xml+ git-reset.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-reset.xml+ git-reset.txt && \ +mv git-reset.xml+ git-reset.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-rm.xml+ git-rm.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rm.xml+ git-rm.txt && \ +mv git-rm.xml+ git-rm.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-rebase.xml+ git-rebase.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rebase.xml+ git-rebase.txt && \ +mv git-rebase.xml+ git-rebase.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sh-i18n.xml+ git-sh-i18n.xml && \ @@ -4566,14 +4631,14 @@ mv git-sh-i18n.xml+ git-sh-i18n.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-push.xml+ git-push.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-push.xml+ git-push.txt && \ -mv git-push.xml+ git-push.xml +rm -f git-sh-i18n--envsubst.xml+ git-sh-i18n--envsubst.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-sh-i18n--envsubst.xml+ git-sh-i18n--envsubst.txt && \ +mv git-sh-i18n--envsubst.xml+ git-sh-i18n--envsubst.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rm.xml+ git-rm.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rm.xml+ git-rm.txt && \ -mv git-rm.xml+ git-rm.xml +rm -f git-rev-parse.xml+ git-rev-parse.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rev-parse.xml+ git-rev-parse.txt && \ +mv git-rev-parse.xml+ git-rev-parse.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-send-pack.xml+ git-send-pack.xml && \ @@ -4581,21 +4646,11 @@ mv git-send-pack.xml+ git-send-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-reset.xml+ git-reset.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-reset.xml+ git-reset.txt && \ -mv git-reset.xml+ git-reset.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sh-setup.xml+ git-sh-setup.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-sh-setup.xml+ git-sh-setup.txt && \ mv git-sh-setup.xml+ git-sh-setup.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pull.xml+ git-pull.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-pull.xml+ git-pull.txt && \ -mv git-pull.xml+ git-pull.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-shell.xml+ git-shell.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-shell.xml+ git-shell.txt && \ mv git-shell.xml+ git-shell.xml @@ -4611,9 +4666,9 @@ mv git-show-branch.xml+ git-show-branch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-stage.xml+ git-stage.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-stage.xml+ git-stage.txt && \ -mv git-stage.xml+ git-stage.xml +rm -f git-send-email.xml+ git-send-email.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-send-email.xml+ git-send-email.txt && \ +mv git-send-email.xml+ git-send-email.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-show-ref.xml+ git-show-ref.xml && \ @@ -4621,14 +4676,9 @@ mv git-show-ref.xml+ git-show-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-send-email.xml+ git-send-email.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-send-email.xml+ git-send-email.txt && \ -mv git-send-email.xml+ git-send-email.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-stripspace.xml+ git-stripspace.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-stripspace.xml+ git-stripspace.txt && \ -mv git-stripspace.xml+ git-stripspace.xml +rm -f git-stage.xml+ git-stage.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-stage.xml+ git-stage.txt && \ +mv git-stage.xml+ git-stage.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sparse-checkout.xml+ git-sparse-checkout.xml && \ @@ -4636,14 +4686,14 @@ mv git-sparse-checkout.xml+ git-sparse-checkout.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rev-parse.xml+ git-rev-parse.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rev-parse.xml+ git-rev-parse.txt && \ -mv git-rev-parse.xml+ git-rev-parse.xml +rm -f git-stripspace.xml+ git-stripspace.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-stripspace.xml+ git-stripspace.txt && \ +mv git-stripspace.xml+ git-stripspace.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rebase.xml+ git-rebase.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rebase.xml+ git-rebase.txt && \ -mv git-rebase.xml+ git-rebase.xml +rm -f git-status.xml+ git-status.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-status.xml+ git-status.txt && \ +mv git-status.xml+ git-status.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-stash.xml+ git-stash.xml && \ @@ -4651,21 +4701,31 @@ mv git-stash.xml+ git-stash.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-rev-list.xml+ git-rev-list.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rev-list.xml+ git-rev-list.txt && \ +mv git-rev-list.xml+ git-rev-list.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-shortlog.xml+ git-shortlog.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-shortlog.xml+ git-shortlog.txt && \ +mv git-shortlog.xml+ git-shortlog.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-symbolic-ref.xml+ git-symbolic-ref.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-symbolic-ref.xml+ git-symbolic-ref.txt && \ mv git-symbolic-ref.xml+ git-symbolic-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-submodule.xml+ git-submodule.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-submodule.xml+ git-submodule.txt && \ +mv git-submodule.xml+ git-submodule.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-unpack-file.xml+ git-unpack-file.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-unpack-file.xml+ git-unpack-file.txt && \ mv git-unpack-file.xml+ git-unpack-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-status.xml+ git-status.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-status.xml+ git-status.txt && \ -mv git-status.xml+ git-status.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-unpack-objects.xml+ git-unpack-objects.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-unpack-objects.xml+ git-unpack-objects.txt && \ mv git-unpack-objects.xml+ git-unpack-objects.xml @@ -4681,14 +4741,9 @@ mv git-update-server-info.xml+ git-update-server-info.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-submodule.xml+ git-submodule.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-submodule.xml+ git-submodule.txt && \ -mv git-submodule.xml+ git-submodule.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-update-ref.xml+ git-update-ref.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-update-ref.xml+ git-update-ref.txt && \ -mv git-update-ref.xml+ git-update-ref.xml +rm -f git-tag.xml+ git-tag.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-tag.xml+ git-tag.txt && \ +mv git-tag.xml+ git-tag.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-upload-archive.xml+ git-upload-archive.xml && \ @@ -4696,14 +4751,19 @@ mv git-upload-archive.xml+ git-upload-archive.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-update-ref.xml+ git-update-ref.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-update-ref.xml+ git-update-ref.txt && \ +mv git-update-ref.xml+ git-update-ref.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-upload-pack.xml+ git-upload-pack.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-upload-pack.xml+ git-upload-pack.txt && \ mv git-upload-pack.xml+ git-upload-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-verify-commit.xml+ git-verify-commit.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-verify-commit.xml+ git-verify-commit.txt && \ -mv git-verify-commit.xml+ git-verify-commit.xml +rm -f git-show.xml+ git-show.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-show.xml+ git-show.txt && \ +mv git-show.xml+ git-show.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-var.xml+ git-var.xml && \ @@ -4711,24 +4771,19 @@ mv git-var.xml+ git-var.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-log.xml+ git-log.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-log.xml+ git-log.txt && \ -mv git-log.xml+ git-log.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-shortlog.xml+ git-shortlog.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-shortlog.xml+ git-shortlog.txt && \ -mv git-shortlog.xml+ git-shortlog.xml +rm -f git-verify-tag.xml+ git-verify-tag.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-verify-tag.xml+ git-verify-tag.txt && \ +mv git-verify-tag.xml+ git-verify-tag.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-tag.xml+ git-tag.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-tag.xml+ git-tag.txt && \ -mv git-tag.xml+ git-tag.xml +rm -f git-verify-commit.xml+ git-verify-commit.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-verify-commit.xml+ git-verify-commit.txt && \ +mv git-verify-commit.xml+ git-verify-commit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-verify-tag.xml+ git-verify-tag.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-verify-tag.xml+ git-verify-tag.txt && \ -mv git-verify-tag.xml+ git-verify-tag.xml +rm -f git-update-index.xml+ git-update-index.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-update-index.xml+ git-update-index.txt && \ +mv git-update-index.xml+ git-update-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-verify-pack.xml+ git-verify-pack.xml && \ @@ -4741,9 +4796,9 @@ mv git-whatchanged.xml+ git-whatchanged.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-update-index.xml+ git-update-index.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-update-index.xml+ git-update-index.txt && \ -mv git-update-index.xml+ git-update-index.xml +rm -f git-web--browse.xml+ git-web--browse.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-web--browse.xml+ git-web--browse.txt && \ +mv git-web--browse.xml+ git-web--browse.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-write-tree.xml+ git-write-tree.xml && \ @@ -4751,14 +4806,9 @@ mv git-write-tree.xml+ git-write-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-web--browse.xml+ git-web--browse.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-web--browse.xml+ git-web--browse.txt && \ -mv git-web--browse.xml+ git-web--browse.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rev-list.xml+ git-rev-list.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-rev-list.xml+ git-rev-list.txt && \ -mv git-rev-list.xml+ git-rev-list.xml +rm -f git-svn.xml+ git-svn.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-svn.xml+ git-svn.txt && \ +mv git-svn.xml+ git-svn.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitk.xml+ gitk.xml && \ @@ -4766,6 +4816,11 @@ mv gitk.xml+ gitk.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-worktree.xml+ git-worktree.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-worktree.xml+ git-worktree.txt && \ +mv git-worktree.xml+ git-worktree.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitignore.xml+ gitignore.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitignore.xml+ gitignore.txt && \ mv gitignore.xml+ gitignore.xml @@ -4776,9 +4831,14 @@ mv gitmodules.xml+ gitmodules.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-worktree.xml+ git-worktree.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-worktree.xml+ git-worktree.txt && \ -mv git-worktree.xml+ git-worktree.xml +rm -f gitweb.xml+ gitweb.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitweb.xml+ gitweb.txt && \ +mv gitweb.xml+ gitweb.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f githooks.xml+ githooks.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o githooks.xml+ githooks.txt && \ +mv githooks.xml+ githooks.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitcli.xml+ gitcli.xml && \ @@ -4786,29 +4846,19 @@ mv gitcli.xml+ gitcli.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcredentials.xml+ gitcredentials.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitcredentials.xml+ gitcredentials.txt && \ -mv gitcredentials.xml+ gitcredentials.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitrepository-layout.xml+ gitrepository-layout.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitrepository-layout.xml+ gitrepository-layout.txt && \ mv gitrepository-layout.xml+ gitrepository-layout.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-svn.xml+ git-svn.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-svn.xml+ git-svn.txt && \ -mv git-svn.xml+ git-svn.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-show.xml+ git-show.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-show.xml+ git-show.txt && \ -mv git-show.xml+ git-show.xml +rm -f gitattributes.xml+ gitattributes.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitattributes.xml+ gitattributes.txt && \ +mv gitattributes.xml+ gitattributes.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitweb.xml+ gitweb.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitweb.xml+ gitweb.txt && \ -mv gitweb.xml+ gitweb.xml +rm -f gitcredentials.xml+ gitcredentials.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitcredentials.xml+ gitcredentials.txt && \ +mv gitcredentials.xml+ gitcredentials.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitcvs-migration.xml+ gitcvs-migration.xml && \ @@ -4816,19 +4866,14 @@ mv gitcvs-migration.xml+ gitcvs-migration.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f githooks.xml+ githooks.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o githooks.xml+ githooks.txt && \ -mv githooks.xml+ githooks.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitdiffcore.xml+ gitdiffcore.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitdiffcore.xml+ gitdiffcore.txt && \ mv gitdiffcore.xml+ gitdiffcore.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitnamespaces.xml+ gitnamespaces.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitnamespaces.xml+ gitnamespaces.txt && \ -mv gitnamespaces.xml+ gitnamespaces.xml +rm -f gitweb.conf.xml+ gitweb.conf.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitweb.conf.xml+ gitweb.conf.txt && \ +mv gitweb.conf.xml+ gitweb.conf.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f giteveryday.xml+ giteveryday.xml && \ @@ -4836,14 +4881,24 @@ mv giteveryday.xml+ giteveryday.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitnamespaces.xml+ gitnamespaces.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitnamespaces.xml+ gitnamespaces.txt && \ +mv gitnamespaces.xml+ gitnamespaces.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitfaq.xml+ gitfaq.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitfaq.xml+ gitfaq.txt && \ mv gitfaq.xml+ gitfaq.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitattributes.xml+ gitattributes.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitattributes.xml+ gitattributes.txt && \ -mv gitattributes.xml+ gitattributes.xml +rm -f git.xml+ git.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git.xml+ git.txt && \ +mv git.xml+ git.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitcore-tutorial.xml+ gitcore-tutorial.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitcore-tutorial.xml+ gitcore-tutorial.txt && \ +mv gitcore-tutorial.xml+ gitcore-tutorial.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitsubmodules.xml+ gitsubmodules.xml && \ @@ -4851,24 +4906,29 @@ mv gitsubmodules.xml+ gitsubmodules.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitglossary.xml+ gitglossary.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitglossary.xml+ gitglossary.txt && \ +mv gitglossary.xml+ gitglossary.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gittutorial-2.xml+ gittutorial-2.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gittutorial-2.xml+ gittutorial-2.txt && \ mv gittutorial-2.xml+ gittutorial-2.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitweb.conf.xml+ gitweb.conf.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitweb.conf.xml+ gitweb.conf.txt && \ -mv gitweb.conf.xml+ gitweb.conf.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitrevisions.xml+ gitrevisions.xml && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitrevisions.xml+ gitrevisions.txt && \ mv gitrevisions.xml+ gitrevisions.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-config.xml+ git-config.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git-config.xml+ git-config.txt && \ -mv git-config.xml+ git-config.xml +rm -f gitremote-helpers.xml+ gitremote-helpers.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitremote-helpers.xml+ gitremote-helpers.txt && \ +mv gitremote-helpers.xml+ gitremote-helpers.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitworkflows.xml+ gitworkflows.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitworkflows.xml+ gitworkflows.txt && \ +mv gitworkflows.xml+ gitworkflows.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-annotate.html+ git-annotate.html && \ @@ -4881,29 +4941,29 @@ mv git-add.html+ git-add.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gittutorial.xml+ gittutorial.xml && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gittutorial.xml+ gittutorial.txt && \ +mv gittutorial.xml+ gittutorial.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-am.html+ git-am.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-am.html+ git-am.txt && \ mv git-am.html+ git-am.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-apply.html+ git-apply.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-apply.html+ git-apply.txt && \ +mv git-apply.html+ git-apply.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-archimport.html+ git-archimport.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-archimport.html+ git-archimport.txt && \ mv git-archimport.html+ git-archimport.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitworkflows.xml+ gitworkflows.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitworkflows.xml+ gitworkflows.txt && \ -mv gitworkflows.xml+ gitworkflows.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitglossary.xml+ gitglossary.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitglossary.xml+ gitglossary.txt && \ -mv gitglossary.xml+ gitglossary.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitremote-helpers.xml+ gitremote-helpers.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitremote-helpers.xml+ gitremote-helpers.txt && \ -mv gitremote-helpers.xml+ gitremote-helpers.xml +rm -f git-bugreport.html+ git-bugreport.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-bugreport.html+ git-bugreport.txt && \ +mv git-bugreport.html+ git-bugreport.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-archive.html+ git-archive.html && \ @@ -4911,24 +4971,24 @@ mv git-archive.html+ git-archive.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-apply.html+ git-apply.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-apply.html+ git-apply.txt && \ -mv git-apply.html+ git-apply.html +rm -f git-bisect.html+ git-bisect.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-bisect.html+ git-bisect.txt && \ +mv git-bisect.html+ git-bisect.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gittutorial.xml+ gittutorial.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gittutorial.xml+ gittutorial.txt && \ -mv gittutorial.xml+ gittutorial.xml +rm -f git-bundle.html+ git-bundle.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-bundle.html+ git-bundle.txt && \ +mv git-bundle.html+ git-bundle.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-bugreport.html+ git-bugreport.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-bugreport.html+ git-bugreport.txt && \ -mv git-bugreport.html+ git-bugreport.html +rm -f git-branch.html+ git-branch.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-branch.html+ git-branch.txt && \ +mv git-branch.html+ git-branch.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcore-tutorial.xml+ gitcore-tutorial.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o gitcore-tutorial.xml+ gitcore-tutorial.txt && \ -mv gitcore-tutorial.xml+ gitcore-tutorial.xml +rm -f git-check-ignore.html+ git-check-ignore.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-check-ignore.html+ git-check-ignore.txt && \ +mv git-check-ignore.html+ git-check-ignore.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-check-attr.html+ git-check-attr.html && \ @@ -4936,14 +4996,14 @@ mv git-check-attr.html+ git-check-attr.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-ignore.html+ git-check-ignore.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-check-ignore.html+ git-check-ignore.txt && \ -mv git-check-ignore.html+ git-check-ignore.html +rm -f git-blame.html+ git-blame.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-blame.html+ git-blame.txt && \ +mv git-blame.html+ git-blame.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-ref-format.html+ git-check-ref-format.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-check-ref-format.html+ git-check-ref-format.txt && \ -mv git-check-ref-format.html+ git-check-ref-format.html +rm -f git-cat-file.html+ git-cat-file.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cat-file.html+ git-cat-file.txt && \ +mv git-cat-file.html+ git-cat-file.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-check-mailmap.html+ git-check-mailmap.html && \ @@ -4951,19 +5011,9 @@ mv git-check-mailmap.html+ git-check-mailmap.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-bundle.html+ git-bundle.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-bundle.html+ git-bundle.txt && \ -mv git-bundle.html+ git-bundle.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-bisect.html+ git-bisect.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-bisect.html+ git-bisect.txt && \ -mv git-bisect.html+ git-bisect.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-citool.html+ git-citool.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-citool.html+ git-citool.txt && \ -mv git-citool.html+ git-citool.html +rm -f git-check-ref-format.html+ git-check-ref-format.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-check-ref-format.html+ git-check-ref-format.txt && \ +mv git-check-ref-format.html+ git-check-ref-format.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-checkout-index.html+ git-checkout-index.html && \ @@ -4971,9 +5021,9 @@ mv git-checkout-index.html+ git-checkout-index.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-branch.html+ git-branch.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-branch.html+ git-branch.txt && \ -mv git-branch.html+ git-branch.html +rm -f git-citool.html+ git-citool.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-citool.html+ git-citool.txt && \ +mv git-citool.html+ git-citool.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cherry.html+ git-cherry.html && \ @@ -4981,19 +5031,9 @@ mv git-cherry.html+ git-cherry.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cat-file.html+ git-cat-file.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cat-file.html+ git-cat-file.txt && \ -mv git-cat-file.html+ git-cat-file.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-blame.html+ git-blame.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-blame.html+ git-blame.txt && \ -mv git-blame.html+ git-blame.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git.xml+ git.xml && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b docbook -d manpage -o git.xml+ git.txt && \ -mv git.xml+ git.xml +rm -f git-cherry-pick.html+ git-cherry-pick.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cherry-pick.html+ git-cherry-pick.txt && \ +mv git-cherry-pick.html+ git-cherry-pick.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-clean.html+ git-clean.html && \ @@ -5006,14 +5046,9 @@ mv git-column.html+ git-column.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cherry-pick.html+ git-cherry-pick.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cherry-pick.html+ git-cherry-pick.txt && \ -mv git-cherry-pick.html+ git-cherry-pick.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-credential-cache--daemon.html+ git-credential-cache--daemon.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-credential-cache--daemon.html+ git-credential-cache--daemon.txt && \ -mv git-credential-cache--daemon.html+ git-credential-cache--daemon.html +rm -f git-checkout.html+ git-checkout.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-checkout.html+ git-checkout.txt && \ +mv git-checkout.html+ git-checkout.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-commit-graph.html+ git-commit-graph.html && \ @@ -5021,11 +5056,26 @@ mv git-commit-graph.html+ git-commit-graph.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-commit-tree.html+ git-commit-tree.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-commit-tree.html+ git-commit-tree.txt && \ +mv git-commit-tree.html+ git-commit-tree.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-count-objects.html+ git-count-objects.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-count-objects.html+ git-count-objects.txt && \ mv git-count-objects.html+ git-count-objects.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-credential-cache--daemon.html+ git-credential-cache--daemon.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-credential-cache--daemon.html+ git-credential-cache--daemon.txt && \ +mv git-credential-cache--daemon.html+ git-credential-cache--daemon.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-clone.html+ git-clone.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-clone.html+ git-clone.txt && \ +mv git-clone.html+ git-clone.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-credential-cache.html+ git-credential-cache.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-credential-cache.html+ git-credential-cache.txt && \ mv git-credential-cache.html+ git-credential-cache.html @@ -5036,11 +5086,6 @@ mv git-credential-store.html+ git-credential-store.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-commit-tree.html+ git-commit-tree.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-commit-tree.html+ git-commit-tree.txt && \ -mv git-commit-tree.html+ git-commit-tree.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-credential.html+ git-credential.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-credential.html+ git-credential.txt && \ mv git-credential.html+ git-credential.html @@ -5051,26 +5096,26 @@ mv git-cvsexportcommit.html+ git-cvsexportcommit.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-checkout.html+ git-checkout.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-checkout.html+ git-checkout.txt && \ -mv git-checkout.html+ git-checkout.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-clone.html+ git-clone.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-clone.html+ git-clone.txt && \ -mv git-clone.html+ git-clone.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cvsimport.html+ git-cvsimport.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cvsimport.html+ git-cvsimport.txt && \ mv git-cvsimport.html+ git-cvsimport.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-commit.html+ git-commit.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-commit.html+ git-commit.txt && \ +mv git-commit.html+ git-commit.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-describe.html+ git-describe.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-describe.html+ git-describe.txt && \ mv git-describe.html+ git-describe.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-cvsserver.html+ git-cvsserver.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cvsserver.html+ git-cvsserver.txt && \ +mv git-cvsserver.html+ git-cvsserver.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-daemon.html+ git-daemon.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-daemon.html+ git-daemon.txt && \ mv git-daemon.html+ git-daemon.html @@ -5081,9 +5126,14 @@ mv git-difftool.html+ git-difftool.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-commit.html+ git-commit.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-commit.html+ git-commit.txt && \ -mv git-commit.html+ git-commit.html +rm -f git-fast-export.html+ git-fast-export.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fast-export.html+ git-fast-export.txt && \ +mv git-fast-export.html+ git-fast-export.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff-files.html+ git-diff-files.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff-files.html+ git-diff-files.txt && \ +mv git-diff-files.html+ git-diff-files.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fetch-pack.html+ git-fetch-pack.html && \ @@ -5091,14 +5141,9 @@ mv git-fetch-pack.html+ git-fetch-pack.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fast-export.html+ git-fast-export.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fast-export.html+ git-fast-export.txt && \ -mv git-fast-export.html+ git-fast-export.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cvsserver.html+ git-cvsserver.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-cvsserver.html+ git-cvsserver.txt && \ -mv git-cvsserver.html+ git-cvsserver.html +rm -f git-diff-index.html+ git-diff-index.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff-index.html+ git-diff-index.txt && \ +mv git-diff-index.html+ git-diff-index.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fmt-merge-msg.html+ git-fmt-merge-msg.html && \ @@ -5106,39 +5151,59 @@ mv git-fmt-merge-msg.html+ git-fmt-merge-msg.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff.html+ git-diff.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff.html+ git-diff.txt && \ +mv git-diff.html+ git-diff.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-filter-branch.html+ git-filter-branch.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-filter-branch.html+ git-filter-branch.txt && \ +mv git-filter-branch.html+ git-filter-branch.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff-tree.html+ git-diff-tree.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff-tree.html+ git-diff-tree.txt && \ +mv git-diff-tree.html+ git-diff-tree.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-for-each-repo.html+ git-for-each-repo.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-for-each-repo.html+ git-for-each-repo.txt && \ mv git-for-each-repo.html+ git-for-each-repo.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-fetch.html+ git-fetch.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fetch.html+ git-fetch.txt && \ +mv git-fetch.html+ git-fetch.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-for-each-ref.html+ git-for-each-ref.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-for-each-ref.html+ git-for-each-ref.txt && \ +mv git-for-each-ref.html+ git-for-each-ref.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fsck-objects.html+ git-fsck-objects.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fsck-objects.html+ git-fsck-objects.txt && \ mv git-fsck-objects.html+ git-fsck-objects.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-fast-import.html+ git-fast-import.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fast-import.html+ git-fast-import.txt && \ +mv git-fast-import.html+ git-fast-import.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-get-tar-commit-id.html+ git-get-tar-commit-id.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-get-tar-commit-id.html+ git-get-tar-commit-id.txt && \ mv git-get-tar-commit-id.html+ git-get-tar-commit-id.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-filter-branch.html+ git-filter-branch.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-filter-branch.html+ git-filter-branch.txt && \ -mv git-filter-branch.html+ git-filter-branch.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-for-each-ref.html+ git-for-each-ref.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-for-each-ref.html+ git-for-each-ref.txt && \ -mv git-for-each-ref.html+ git-for-each-ref.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fsck.html+ git-fsck.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fsck.html+ git-fsck.txt && \ mv git-fsck.html+ git-fsck.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-hash-object.html+ git-hash-object.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-hash-object.html+ git-hash-object.txt && \ -mv git-hash-object.html+ git-hash-object.html +rm -f git-gui.html+ git-gui.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-gui.html+ git-gui.txt && \ +mv git-gui.html+ git-gui.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-gc.html+ git-gc.html && \ @@ -5146,14 +5211,9 @@ mv git-gc.html+ git-gc.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-gui.html+ git-gui.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-gui.html+ git-gui.txt && \ -mv git-gui.html+ git-gui.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fetch.html+ git-fetch.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fetch.html+ git-fetch.txt && \ -mv git-fetch.html+ git-fetch.html +rm -f git-hash-object.html+ git-hash-object.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-hash-object.html+ git-hash-object.txt && \ +mv git-hash-object.html+ git-hash-object.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-help.html+ git-help.html && \ @@ -5171,9 +5231,9 @@ mv git-grep.html+ git-grep.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-http-push.html+ git-http-push.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-http-push.html+ git-http-push.txt && \ -mv git-http-push.html+ git-http-push.html +rm -f git-http-backend.html+ git-http-backend.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-http-backend.html+ git-http-backend.txt && \ +mv git-http-backend.html+ git-http-backend.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-init-db.html+ git-init-db.html && \ @@ -5181,14 +5241,14 @@ mv git-init-db.html+ git-init-db.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-http-backend.html+ git-http-backend.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-http-backend.html+ git-http-backend.txt && \ -mv git-http-backend.html+ git-http-backend.html +rm -f git-format-patch.html+ git-format-patch.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-format-patch.html+ git-format-patch.txt && \ +mv git-format-patch.html+ git-format-patch.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-files.html+ git-diff-files.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff-files.html+ git-diff-files.txt && \ -mv git-diff-files.html+ git-diff-files.html +rm -f git-http-push.html+ git-http-push.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-http-push.html+ git-http-push.txt && \ +mv git-http-push.html+ git-http-push.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-index-pack.html+ git-index-pack.html && \ @@ -5201,26 +5261,21 @@ mv git-imap-send.html+ git-imap-send.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-index.html+ git-diff-index.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff-index.html+ git-diff-index.txt && \ -mv git-diff-index.html+ git-diff-index.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-instaweb.html+ git-instaweb.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-instaweb.html+ git-instaweb.txt && \ mv git-instaweb.html+ git-instaweb.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff.html+ git-diff.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff.html+ git-diff.txt && \ -mv git-diff.html+ git-diff.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-init.html+ git-init.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-init.html+ git-init.txt && \ mv git-init.html+ git-init.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-ls-tree.html+ git-ls-tree.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-ls-tree.html+ git-ls-tree.txt && \ +mv git-ls-tree.html+ git-ls-tree.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-ls-remote.html+ git-ls-remote.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-ls-remote.html+ git-ls-remote.txt && \ mv git-ls-remote.html+ git-ls-remote.html @@ -5231,24 +5286,14 @@ mv git-mailsplit.html+ git-mailsplit.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-ls-tree.html+ git-ls-tree.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-ls-tree.html+ git-ls-tree.txt && \ -mv git-ls-tree.html+ git-ls-tree.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mailinfo.html+ git-mailinfo.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-mailinfo.html+ git-mailinfo.txt && \ mv git-mailinfo.html+ git-mailinfo.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-format-patch.html+ git-format-patch.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-format-patch.html+ git-format-patch.txt && \ -mv git-format-patch.html+ git-format-patch.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fast-import.html+ git-fast-import.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-fast-import.html+ git-fast-import.txt && \ -mv git-fast-import.html+ git-fast-import.html +rm -f git-interpret-trailers.html+ git-interpret-trailers.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-interpret-trailers.html+ git-interpret-trailers.txt && \ +mv git-interpret-trailers.html+ git-interpret-trailers.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-ls-files.html+ git-ls-files.html && \ @@ -5256,11 +5301,6 @@ mv git-ls-files.html+ git-ls-files.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-interpret-trailers.html+ git-interpret-trailers.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-interpret-trailers.html+ git-interpret-trailers.txt && \ -mv git-interpret-trailers.html+ git-interpret-trailers.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-maintenance.html+ git-maintenance.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-maintenance.html+ git-maintenance.txt && \ mv git-maintenance.html+ git-maintenance.html @@ -5271,34 +5311,24 @@ mv git-merge-file.html+ git-merge-file.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-tree.html+ git-merge-tree.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge-tree.html+ git-merge-tree.txt && \ -mv git-merge-tree.html+ git-merge-tree.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-one-file.html+ git-merge-one-file.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge-one-file.html+ git-merge-one-file.txt && \ -mv git-merge-one-file.html+ git-merge-one-file.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-merge-index.html+ git-merge-index.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge-index.html+ git-merge-index.txt && \ mv git-merge-index.html+ git-merge-index.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-merge-tree.html+ git-merge-tree.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge-tree.html+ git-merge-tree.txt && \ +mv git-merge-tree.html+ git-merge-tree.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-merge-base.html+ git-merge-base.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge-base.html+ git-merge-base.txt && \ mv git-merge-base.html+ git-merge-base.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-mergetool--lib.html+ git-mergetool--lib.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-mergetool--lib.html+ git-mergetool--lib.txt && \ -mv git-mergetool--lib.html+ git-mergetool--lib.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-tree.html+ git-diff-tree.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-diff-tree.html+ git-diff-tree.txt && \ -mv git-diff-tree.html+ git-diff-tree.html +rm -f git-merge-one-file.html+ git-merge-one-file.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge-one-file.html+ git-merge-one-file.txt && \ +mv git-merge-one-file.html+ git-merge-one-file.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mktag.html+ git-mktag.html && \ @@ -5306,6 +5336,11 @@ mv git-mktag.html+ git-mktag.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-mergetool--lib.html+ git-mergetool--lib.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-mergetool--lib.html+ git-mergetool--lib.txt && \ +mv git-mergetool--lib.html+ git-mergetool--lib.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mergetool.html+ git-mergetool.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-mergetool.html+ git-mergetool.txt && \ mv git-mergetool.html+ git-mergetool.html @@ -5321,19 +5356,39 @@ mv git-multi-pack-index.html+ git-multi-pack-index.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-name-rev.html+ git-name-rev.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-name-rev.html+ git-name-rev.txt && \ +mv git-name-rev.html+ git-name-rev.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mv.html+ git-mv.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-mv.html+ git-mv.txt && \ mv git-mv.html+ git-mv.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-config.html+ git-config.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-config.html+ git-config.txt && \ +mv git-config.html+ git-config.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-pack-redundant.html+ git-pack-redundant.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-pack-redundant.html+ git-pack-redundant.txt && \ mv git-pack-redundant.html+ git-pack-redundant.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-name-rev.html+ git-name-rev.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-name-rev.html+ git-name-rev.txt && \ -mv git-name-rev.html+ git-name-rev.html +rm -f git-notes.html+ git-notes.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-notes.html+ git-notes.txt && \ +mv git-notes.html+ git-notes.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-merge.html+ git-merge.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge.html+ git-merge.txt && \ +mv git-merge.html+ git-merge.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-pack-objects.html+ git-pack-objects.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-pack-objects.html+ git-pack-objects.txt && \ +mv git-pack-objects.html+ git-pack-objects.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-pack-refs.html+ git-pack-refs.html && \ @@ -5356,24 +5411,29 @@ mv git-prune.html+ git-prune.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-p4.html+ git-p4.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-p4.html+ git-p4.txt && \ +mv git-p4.html+ git-p4.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-quiltimport.html+ git-quiltimport.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-quiltimport.html+ git-quiltimport.txt && \ mv git-quiltimport.html+ git-quiltimport.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pack-objects.html+ git-pack-objects.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-pack-objects.html+ git-pack-objects.txt && \ -mv git-pack-objects.html+ git-pack-objects.html +rm -f git-range-diff.html+ git-range-diff.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-range-diff.html+ git-range-diff.txt && \ +mv git-range-diff.html+ git-range-diff.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-notes.html+ git-notes.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-notes.html+ git-notes.txt && \ -mv git-notes.html+ git-notes.html +rm -f git-read-tree.html+ git-read-tree.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-read-tree.html+ git-read-tree.txt && \ +mv git-read-tree.html+ git-read-tree.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-range-diff.html+ git-range-diff.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-range-diff.html+ git-range-diff.txt && \ -mv git-range-diff.html+ git-range-diff.html +rm -f git-log.html+ git-log.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-log.html+ git-log.txt && \ +mv git-log.html+ git-log.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-reflog.html+ git-reflog.html && \ @@ -5381,9 +5441,9 @@ mv git-reflog.html+ git-reflog.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote-fd.html+ git-remote-fd.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-remote-fd.html+ git-remote-fd.txt && \ -mv git-remote-fd.html+ git-remote-fd.html +rm -f git-receive-pack.html+ git-receive-pack.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-receive-pack.html+ git-receive-pack.txt && \ +mv git-receive-pack.html+ git-receive-pack.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-remote-ext.html+ git-remote-ext.html && \ @@ -5391,19 +5451,24 @@ mv git-remote-ext.html+ git-remote-ext.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-receive-pack.html+ git-receive-pack.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-receive-pack.html+ git-receive-pack.txt && \ -mv git-receive-pack.html+ git-receive-pack.html +rm -f git-remote-fd.html+ git-remote-fd.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-remote-fd.html+ git-remote-fd.txt && \ +mv git-remote-fd.html+ git-remote-fd.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge.html+ git-merge.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-merge.html+ git-merge.txt && \ -mv git-merge.html+ git-merge.html +rm -f git-repack.html+ git-repack.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-repack.html+ git-repack.txt && \ +mv git-repack.html+ git-repack.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-read-tree.html+ git-read-tree.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-read-tree.html+ git-read-tree.txt && \ -mv git-read-tree.html+ git-read-tree.html +rm -f git-pull.html+ git-pull.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-pull.html+ git-pull.txt && \ +mv git-pull.html+ git-pull.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-replace.html+ git-replace.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-replace.html+ git-replace.txt && \ +mv git-replace.html+ git-replace.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-request-pull.html+ git-request-pull.html && \ @@ -5411,9 +5476,9 @@ mv git-request-pull.html+ git-request-pull.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-repack.html+ git-repack.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-repack.html+ git-repack.txt && \ -mv git-repack.html+ git-repack.html +rm -f git-push.html+ git-push.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-push.html+ git-push.txt && \ +mv git-push.html+ git-push.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-remote.html+ git-remote.html && \ @@ -5421,16 +5486,6 @@ mv git-remote.html+ git-remote.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-p4.html+ git-p4.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-p4.html+ git-p4.txt && \ -mv git-p4.html+ git-p4.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-replace.html+ git-replace.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-replace.html+ git-replace.txt && \ -mv git-replace.html+ git-replace.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-rerere.html+ git-rerere.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rerere.html+ git-rerere.txt && \ mv git-rerere.html+ git-rerere.html @@ -5441,11 +5496,26 @@ mv git-restore.html+ git-restore.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-rebase.html+ git-rebase.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rebase.html+ git-rebase.txt && \ +mv git-rebase.html+ git-rebase.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-revert.html+ git-revert.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-revert.html+ git-revert.txt && \ mv git-revert.html+ git-revert.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-reset.html+ git-reset.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-reset.html+ git-reset.txt && \ +mv git-reset.html+ git-reset.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-rm.html+ git-rm.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rm.html+ git-rm.txt && \ +mv git-rm.html+ git-rm.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sh-i18n--envsubst.html+ git-sh-i18n--envsubst.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-sh-i18n--envsubst.html+ git-sh-i18n--envsubst.txt && \ mv git-sh-i18n--envsubst.html+ git-sh-i18n--envsubst.html @@ -5456,14 +5526,14 @@ mv git-sh-i18n.html+ git-sh-i18n.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-push.html+ git-push.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-push.html+ git-push.txt && \ -mv git-push.html+ git-push.html +rm -f git-send-pack.html+ git-send-pack.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-send-pack.html+ git-send-pack.txt && \ +mv git-send-pack.html+ git-send-pack.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-reset.html+ git-reset.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-reset.html+ git-reset.txt && \ -mv git-reset.html+ git-reset.html +rm -f git-shell.html+ git-shell.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-shell.html+ git-shell.txt && \ +mv git-shell.html+ git-shell.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sh-setup.html+ git-sh-setup.html && \ @@ -5471,19 +5541,9 @@ mv git-sh-setup.html+ git-sh-setup.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-send-pack.html+ git-send-pack.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-send-pack.html+ git-send-pack.txt && \ -mv git-send-pack.html+ git-send-pack.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rm.html+ git-rm.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rm.html+ git-rm.txt && \ -mv git-rm.html+ git-rm.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pull.html+ git-pull.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-pull.html+ git-pull.txt && \ -mv git-pull.html+ git-pull.html +rm -f git-rev-parse.html+ git-rev-parse.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rev-parse.html+ git-rev-parse.txt && \ +mv git-rev-parse.html+ git-rev-parse.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-show-index.html+ git-show-index.html && \ @@ -5491,14 +5551,14 @@ mv git-show-index.html+ git-show-index.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-shell.html+ git-shell.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-shell.html+ git-shell.txt && \ -mv git-shell.html+ git-shell.html +rm -f git-show-branch.html+ git-show-branch.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-show-branch.html+ git-show-branch.txt && \ +mv git-show-branch.html+ git-show-branch.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-stage.html+ git-stage.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-stage.html+ git-stage.txt && \ -mv git-stage.html+ git-stage.html +rm -f git-send-email.html+ git-send-email.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-send-email.html+ git-send-email.txt && \ +mv git-send-email.html+ git-send-email.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-show-ref.html+ git-show-ref.html && \ @@ -5506,14 +5566,9 @@ mv git-show-ref.html+ git-show-ref.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-show-branch.html+ git-show-branch.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-show-branch.html+ git-show-branch.txt && \ -mv git-show-branch.html+ git-show-branch.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-send-email.html+ git-send-email.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-send-email.html+ git-send-email.txt && \ -mv git-send-email.html+ git-send-email.html +rm -f git-stage.html+ git-stage.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-stage.html+ git-stage.txt && \ +mv git-stage.html+ git-stage.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sparse-checkout.html+ git-sparse-checkout.html && \ @@ -5521,9 +5576,9 @@ mv git-sparse-checkout.html+ git-sparse-checkout.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rev-parse.html+ git-rev-parse.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rev-parse.html+ git-rev-parse.txt && \ -mv git-rev-parse.html+ git-rev-parse.html +rm -f git-shortlog.html+ git-shortlog.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-shortlog.html+ git-shortlog.txt && \ +mv git-shortlog.html+ git-shortlog.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-stripspace.html+ git-stripspace.html && \ @@ -5531,19 +5586,19 @@ mv git-stripspace.html+ git-stripspace.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-status.html+ git-status.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-status.html+ git-status.txt && \ +mv git-status.html+ git-status.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-stash.html+ git-stash.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-stash.html+ git-stash.txt && \ mv git-stash.html+ git-stash.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-symbolic-ref.html+ git-symbolic-ref.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-symbolic-ref.html+ git-symbolic-ref.txt && \ -mv git-symbolic-ref.html+ git-symbolic-ref.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-status.html+ git-status.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-status.html+ git-status.txt && \ -mv git-status.html+ git-status.html +rm -f git-rev-list.html+ git-rev-list.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rev-list.html+ git-rev-list.txt && \ +mv git-rev-list.html+ git-rev-list.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-unpack-file.html+ git-unpack-file.html && \ @@ -5551,9 +5606,9 @@ mv git-unpack-file.html+ git-unpack-file.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-unpack-objects.html+ git-unpack-objects.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-unpack-objects.html+ git-unpack-objects.txt && \ -mv git-unpack-objects.html+ git-unpack-objects.html +rm -f git-symbolic-ref.html+ git-symbolic-ref.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-symbolic-ref.html+ git-symbolic-ref.txt && \ +mv git-symbolic-ref.html+ git-symbolic-ref.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-switch.html+ git-switch.html && \ @@ -5561,9 +5616,19 @@ mv git-switch.html+ git-switch.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rebase.html+ git-rebase.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rebase.html+ git-rebase.txt && \ -mv git-rebase.html+ git-rebase.html +rm -f git-submodule.html+ git-submodule.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-submodule.html+ git-submodule.txt && \ +mv git-submodule.html+ git-submodule.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-unpack-objects.html+ git-unpack-objects.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-unpack-objects.html+ git-unpack-objects.txt && \ +mv git-unpack-objects.html+ git-unpack-objects.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-tag.html+ git-tag.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-tag.html+ git-tag.txt && \ +mv git-tag.html+ git-tag.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-update-server-info.html+ git-update-server-info.html && \ @@ -5571,14 +5636,14 @@ mv git-update-server-info.html+ git-update-server-info.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-submodule.html+ git-submodule.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-submodule.html+ git-submodule.txt && \ -mv git-submodule.html+ git-submodule.html +rm -f git-show.html+ git-show.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-show.html+ git-show.txt && \ +mv git-show.html+ git-show.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-upload-archive.html+ git-upload-archive.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-upload-archive.html+ git-upload-archive.txt && \ -mv git-upload-archive.html+ git-upload-archive.html +rm -f git-update-ref.html+ git-update-ref.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-update-ref.html+ git-update-ref.txt && \ +mv git-update-ref.html+ git-update-ref.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-upload-pack.html+ git-upload-pack.html && \ @@ -5586,14 +5651,14 @@ mv git-upload-pack.html+ git-upload-pack.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-update-ref.html+ git-update-ref.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-update-ref.html+ git-update-ref.txt && \ -mv git-update-ref.html+ git-update-ref.html +rm -f git-upload-archive.html+ git-upload-archive.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-upload-archive.html+ git-upload-archive.txt && \ +mv git-upload-archive.html+ git-upload-archive.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-tag.html+ git-tag.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-tag.html+ git-tag.txt && \ -mv git-tag.html+ git-tag.html +rm -f git-svn.html+ git-svn.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-svn.html+ git-svn.txt && \ +mv git-svn.html+ git-svn.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-var.html+ git-var.html && \ @@ -5601,24 +5666,19 @@ mv git-var.html+ git-var.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-shortlog.html+ git-shortlog.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-shortlog.html+ git-shortlog.txt && \ -mv git-shortlog.html+ git-shortlog.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-verify-commit.html+ git-verify-commit.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-verify-commit.html+ git-verify-commit.txt && \ mv git-verify-commit.html+ git-verify-commit.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-log.html+ git-log.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-log.html+ git-log.txt && \ -mv git-log.html+ git-log.html +rm -f git-update-index.html+ git-update-index.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-update-index.html+ git-update-index.txt && \ +mv git-update-index.html+ git-update-index.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-verify-pack.html+ git-verify-pack.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-verify-pack.html+ git-verify-pack.txt && \ -mv git-verify-pack.html+ git-verify-pack.html +rm -f git-web--browse.html+ git-web--browse.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-web--browse.html+ git-web--browse.txt && \ +mv git-web--browse.html+ git-web--browse.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-verify-tag.html+ git-verify-tag.html && \ @@ -5626,34 +5686,24 @@ mv git-verify-tag.html+ git-verify-tag.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-verify-pack.html+ git-verify-pack.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-verify-pack.html+ git-verify-pack.txt && \ +mv git-verify-pack.html+ git-verify-pack.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-whatchanged.html+ git-whatchanged.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-whatchanged.html+ git-whatchanged.txt && \ mv git-whatchanged.html+ git-whatchanged.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-web--browse.html+ git-web--browse.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-web--browse.html+ git-web--browse.txt && \ -mv git-web--browse.html+ git-web--browse.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-write-tree.html+ git-write-tree.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-write-tree.html+ git-write-tree.txt && \ mv git-write-tree.html+ git-write-tree.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-update-index.html+ git-update-index.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-update-index.html+ git-update-index.txt && \ -mv git-update-index.html+ git-update-index.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rev-list.html+ git-rev-list.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-rev-list.html+ git-rev-list.txt && \ -mv git-rev-list.html+ git-rev-list.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitmodules.html+ gitmodules.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitmodules.html+ gitmodules.txt && \ -mv gitmodules.html+ gitmodules.html +rm -f gitignore.html+ gitignore.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitignore.html+ gitignore.txt && \ +mv gitignore.html+ gitignore.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitk.html+ gitk.html && \ @@ -5661,24 +5711,24 @@ mv gitk.html+ gitk.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitignore.html+ gitignore.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitignore.html+ gitignore.txt && \ -mv gitignore.html+ gitignore.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-worktree.html+ git-worktree.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-worktree.html+ git-worktree.txt && \ mv git-worktree.html+ git-worktree.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcli.html+ gitcli.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitcli.html+ gitcli.txt && \ -mv gitcli.html+ gitcli.html +rm -f gitmodules.html+ gitmodules.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitmodules.html+ gitmodules.txt && \ +mv gitmodules.html+ gitmodules.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-svn.html+ git-svn.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-svn.html+ git-svn.txt && \ -mv git-svn.html+ git-svn.html +rm -f gitweb.html+ gitweb.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitweb.html+ gitweb.txt && \ +mv gitweb.html+ gitweb.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f githooks.html+ githooks.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o githooks.html+ githooks.txt && \ +mv githooks.html+ githooks.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitrepository-layout.html+ gitrepository-layout.html && \ @@ -5686,14 +5736,14 @@ mv gitrepository-layout.html+ gitrepository-layout.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcredentials.html+ gitcredentials.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitcredentials.html+ gitcredentials.txt && \ -mv gitcredentials.html+ gitcredentials.html +rm -f gitattributes.html+ gitattributes.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitattributes.html+ gitattributes.txt && \ +mv gitattributes.html+ gitattributes.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-show.html+ git-show.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-show.html+ git-show.txt && \ -mv git-show.html+ git-show.html +rm -f gitcli.html+ gitcli.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitcli.html+ gitcli.txt && \ +mv gitcli.html+ gitcli.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitcvs-migration.html+ gitcvs-migration.html && \ @@ -5701,9 +5751,14 @@ mv gitcvs-migration.html+ gitcvs-migration.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitweb.html+ gitweb.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitweb.html+ gitweb.txt && \ -mv gitweb.html+ gitweb.html +rm -f gitcredentials.html+ gitcredentials.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitcredentials.html+ gitcredentials.txt && \ +mv gitcredentials.html+ gitcredentials.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f giteveryday.html+ giteveryday.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o giteveryday.html+ giteveryday.txt && \ +mv giteveryday.html+ giteveryday.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitdiffcore.html+ gitdiffcore.html && \ @@ -5711,9 +5766,9 @@ mv gitdiffcore.html+ gitdiffcore.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f githooks.html+ githooks.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o githooks.html+ githooks.txt && \ -mv githooks.html+ githooks.html +rm -f gitweb.conf.html+ gitweb.conf.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitweb.conf.html+ gitweb.conf.txt && \ +mv gitweb.conf.html+ gitweb.conf.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitnamespaces.html+ gitnamespaces.html && \ @@ -5721,22 +5776,14 @@ mv gitnamespaces.html+ gitnamespaces.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f giteveryday.html+ giteveryday.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o giteveryday.html+ giteveryday.txt && \ -mv giteveryday.html+ giteveryday.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitfaq.html+ gitfaq.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitfaq.html+ gitfaq.txt && \ mv gitfaq.html+ gitfaq.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 howto-index.txt -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitattributes.html+ gitattributes.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitattributes.html+ gitattributes.txt && \ -mv gitattributes.html+ gitattributes.html +rm -f git.html+ git.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git.html+ git.txt && \ +mv git.html+ git.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitsubmodules.html+ gitsubmodules.html && \ @@ -5744,32 +5791,19 @@ mv gitsubmodules.html+ gitsubmodules.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-index.txt -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gittutorial-2.html+ gittutorial-2.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gittutorial-2.html+ gittutorial-2.txt && \ -mv gittutorial-2.html+ gittutorial-2.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitweb.conf.html+ gitweb.conf.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitweb.conf.html+ gitweb.conf.txt && \ -mv gitweb.conf.html+ gitweb.conf.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitrevisions.html+ gitrevisions.html && \ TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitrevisions.html+ gitrevisions.txt && \ mv gitrevisions.html+ gitrevisions.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f user-manual.html+ user-manual.html && \ -xsltproc --xinclude --stringparam html.stylesheet docbook-xsl.css --param generate.consistent.ids 1 -o user-manual.html+ docbook.xsl user-manual.xml && \ -mv user-manual.html+ user-manual.html +rm -f gitcore-tutorial.html+ gitcore-tutorial.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitcore-tutorial.html+ gitcore-tutorial.txt && \ +mv gitcore-tutorial.html+ gitcore-tutorial.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitworkflows.html+ gitworkflows.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitworkflows.html+ gitworkflows.txt && \ -mv gitworkflows.html+ gitworkflows.html +rm -f gitglossary.html+ gitglossary.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitglossary.html+ gitglossary.txt && \ +mv gitglossary.html+ gitglossary.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitremote-helpers.html+ gitremote-helpers.html && \ @@ -5777,14 +5811,20 @@ mv gitremote-helpers.html+ gitremote-helpers.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitglossary.html+ gitglossary.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitglossary.html+ gitglossary.txt && \ -mv gitglossary.html+ gitglossary.html +rm -f gittutorial-2.html+ gittutorial-2.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gittutorial-2.html+ gittutorial-2.txt && \ +mv gittutorial-2.html+ gittutorial-2.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-config.html+ git-config.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git-config.html+ git-config.txt && \ -mv git-config.html+ git-config.html +TZ=UTC asciidoc -a git-relative-html-prefix=../ -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 technical/api-index.txt +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f user-manual.html+ user-manual.html && \ +xsltproc --xinclude --stringparam html.stylesheet docbook-xsl.css --param generate.consistent.ids 1 -o user-manual.html+ docbook.xsl user-manual.xml && \ +mv user-manual.html+ user-manual.html +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 howto-index.txt make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gittutorial.html+ gittutorial.html && \ @@ -5792,79 +5832,74 @@ mv gittutorial.html+ gittutorial.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-add.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-add.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-am.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-am.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 SubmittingPatches.txt +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-annotate.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-annotate.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-add.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-add.xml +rm -f gitworkflows.html+ gitworkflows.html && \ +TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitworkflows.html+ gitworkflows.txt && \ +mv gitworkflows.html+ gitworkflows.html make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 SubmittingPatches.txt +rm -f git-apply.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-apply.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-archimport.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-archimport.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcore-tutorial.html+ gitcore-tutorial.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o gitcore-tutorial.html+ gitcore-tutorial.txt && \ -mv gitcore-tutorial.html+ gitcore-tutorial.html -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-archive.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-archive.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-apply.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-apply.xml +rm -f git-bugreport.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-bugreport.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-bisect.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-bisect.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-bugreport.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-bugreport.xml +rm -f git-branch.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-branch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-blame.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-blame.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-attr.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-check-attr.xml +rm -f git-check-mailmap.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-check-mailmap.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-bundle.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-bundle.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cat-file.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cat-file.xml +rm -f git-check-attr.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-check-attr.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git.html+ git.html && \ -TZ=UTC asciidoc -f asciidoc.conf -amanversion=2.30.2 -amanmanual='Git Manual' -amansource='Git' -b xhtml11 -d manpage -o git.html+ git.txt && \ -mv git.html+ git.html +rm -f git-cat-file.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cat-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-check-ignore.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-check-ignore.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-branch.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-branch.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-check-mailmap.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-check-mailmap.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-check-ref-format.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-check-ref-format.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' @@ -5873,68 +5908,68 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-checkout-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-citool.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-citool.xml +rm -f git-cherry-pick.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cherry-pick.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cherry.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cherry.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-cherry-pick.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cherry-pick.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-clean.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-clean.xml +rm -f git-citool.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-citool.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-checkout.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-checkout.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-clean.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-clean.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-column.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-column.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-count-objects.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-count-objects.xml +rm -f git-clone.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-clone.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-commit-graph.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-commit-graph.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-credential-cache--daemon.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential-cache--daemon.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-commit-tree.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-commit-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-clone.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-clone.xml +rm -f git-count-objects.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-count-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-credential-cache.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential-cache.xml +rm -f git-credential-cache--daemon.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential-cache--daemon.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-credential-store.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential-store.xml +rm -f git-commit.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-commit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-credential.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential.xml +rm -f git-credential-cache.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential-cache.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cvsexportcommit.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cvsexportcommit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-commit.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-commit.xml +rm -f git-credential.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-credential-store.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-credential-store.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-cvsimport.1 && \ @@ -5945,64 +5980,68 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-cvsserver.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-describe.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-describe.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-daemon.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-daemon.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff-files.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff-files.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-describe.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-describe.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-difftool.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-difftool.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-diff-tree.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff-tree.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fast-export.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fast-export.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fetch-pack.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fetch-pack.xml +rm -f git-diff-index.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fmt-merge-msg.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fmt-merge-msg.xml +rm -f git-fetch-pack.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fetch-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-for-each-repo.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-for-each-repo.xml +rm -f git-diff.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fsck-objects.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fsck-objects.xml +rm -f git-fmt-merge-msg.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fmt-merge-msg.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-files.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff-files.xml +rm -f git-fast-import.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fast-import.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-for-each-ref.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-for-each-ref.xml +rm -f git-fetch.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fetch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-filter-branch.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-filter-branch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fetch.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fetch.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-get-tar-commit-id.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-get-tar-commit-id.xml +rm -f git-for-each-repo.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-for-each-repo.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-index.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff-index.xml +rm -f git-for-each-ref.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-for-each-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff.xml +rm -f git-fsck-objects.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fsck-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-fsck.1 && \ @@ -6013,88 +6052,88 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-gc.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-fast-import.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-fast-import.xml +rm -f git-format-patch.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-format-patch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-diff-tree.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-diff-tree.xml +rm -f git-get-tar-commit-id.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-get-tar-commit-id.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-grep.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-grep.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-hash-object.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-hash-object.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-gui.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-gui.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-format-patch.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-format-patch.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-help.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-help.xml +rm -f git-config.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-config.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-http-backend.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-http-backend.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-http-push.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-http-push.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-http-fetch.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-http-fetch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-init-db.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-init-db.xml +rm -f git-hash-object.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-hash-object.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-index-pack.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-index-pack.xml +rm -f git-http-push.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-http-push.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-help.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-help.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-imap-send.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-imap-send.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-init.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-init.xml +rm -f git-index-pack.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-index-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-instaweb.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-instaweb.xml +rm -f git-init-db.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-init-db.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-ls-tree.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-ls-tree.xml +rm -f git-instaweb.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-instaweb.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-ls-remote.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-ls-remote.xml +rm -f git-init.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-init.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-mailsplit.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mailsplit.xml +rm -f git-ls-files.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-ls-files.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-interpret-trailers.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-interpret-trailers.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-ls-remote.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-ls-remote.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mailinfo.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mailinfo.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-ls-files.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-ls-files.xml +rm -f git-ls-tree.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-ls-tree.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-mailsplit.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mailsplit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-merge-file.1 && \ @@ -6105,26 +6144,38 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-base.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-merge-index.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-index.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-maintenance.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-maintenance.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-one-file.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-one-file.xml +rm -f git-merge-tree.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-index.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-index.xml +rm -f git-merge-one-file.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-one-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge-tree.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge-tree.xml +rm -f git-log.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-log.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mergetool--lib.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mergetool--lib.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-mergetool.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mergetool.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-merge.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mktag.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mktag.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' @@ -6133,186 +6184,170 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mktree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-mergetool.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mergetool.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-mv.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-mv.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-multi-pack-index.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-multi-pack-index.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-name-rev.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-name-rev.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-multi-pack-index.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-multi-pack-index.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-pack-redundant.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pack-redundant.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-patch-id.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-patch-id.xml +rm -f git-pack-objects.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pack-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pack-refs.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pack-refs.xml +rm -f git-p4.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-p4.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-merge.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-merge.xml +rm -f git-patch-id.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-patch-id.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-prune-packed.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-prune-packed.xml +rm -f git-pack-refs.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pack-refs.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-notes.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-notes.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pack-objects.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pack-objects.xml +rm -f git-prune-packed.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-prune-packed.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-prune.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-prune.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-range-diff.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-range-diff.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-quiltimport.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-quiltimport.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-p4.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-p4.xml +rm -f git-pull.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pull.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-range-diff.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-range-diff.xml +rm -f git-push.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-push.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-read-tree.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-read-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-reflog.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-reflog.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote-ext.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-remote-ext.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-receive-pack.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-receive-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-log.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-log.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-remote-fd.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-remote-fd.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-pull.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-pull.xml +rm -f git-reflog.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-reflog.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-repack.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-repack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-push.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-push.xml +rm -f git-remote-fd.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-remote-fd.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-remote.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-remote.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-replace.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-replace.xml +rm -f git-remote-ext.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-remote-ext.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-request-pull.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-request-pull.xml +rm -f git-rebase.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rebase.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-rerere.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rerere.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-restore.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-restore.xml +rm -f git-request-pull.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-request-pull.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-replace.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-replace.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-reset.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-reset.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-restore.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-restore.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-revert.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-revert.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rebase.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rebase.xml +rm -f git-sh-i18n--envsubst.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-sh-i18n--envsubst.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-rm.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rm.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-send-email.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-send-email.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-send-pack.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-send-pack.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sh-i18n.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-sh-i18n.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-sh-i18n--envsubst.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-sh-i18n--envsubst.xml +rm -f git-rev-parse.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rev-parse.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-sh-setup.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-sh-setup.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-send-pack.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-send-pack.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-config.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-config.xml +rm -f git-rev-list.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rev-list.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-shell.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-shell.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-send-email.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-send-email.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rev-parse.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rev-parse.xml +rm -f git-show-index.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-show-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-show-branch.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-show-branch.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-show-index.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-show-index.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-show-ref.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-show-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-stage.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-stage.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-shortlog.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-shortlog.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' @@ -6321,98 +6356,98 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-sparse-checkout.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-stripspace.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-stripspace.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-rev-list.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-rev-list.xml +rm -f git-stage.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-stage.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-stash.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-stash.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-symbolic-ref.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-symbolic-ref.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-switch.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-switch.xml +rm -f git-stripspace.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-stripspace.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-status.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-status.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-unpack-file.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-unpack-file.xml +rm -f git-switch.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-switch.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-show.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-show.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-submodule.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-submodule.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-unpack-objects.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-unpack-objects.xml +rm -f git-symbolic-ref.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-symbolic-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-tag.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-tag.xml +rm -f git-unpack-file.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-unpack-file.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-update-server-info.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-update-server-info.xml +rm -f git-svn.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-svn.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-tag.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-tag.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-update-ref.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-update-ref.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-upload-pack.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-upload-pack.xml +rm -f git-unpack-objects.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-unpack-objects.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-upload-archive.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-upload-archive.xml +rm -f git-update-index.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-update-index.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-verify-commit.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-verify-commit.xml +rm -f git-upload-archive.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-upload-archive.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-svn.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-svn.xml +rm -f git-upload-pack.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-upload-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-var.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-var.xml +rm -f git-update-server-info.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-update-server-info.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-verify-pack.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-verify-pack.xml +rm -f git-verify-commit.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-verify-commit.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-update-index.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-update-index.xml +rm -f git-var.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-var.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-verify-tag.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-verify-tag.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-show.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-show.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git-whatchanged.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-whatchanged.xml +rm -f git-verify-pack.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-verify-pack.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-web--browse.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-web--browse.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git-whatchanged.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-whatchanged.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f git-write-tree.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git-write-tree.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' @@ -6425,30 +6460,34 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitk.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitmodules.5 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitmodules.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitignore.5 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitignore.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcvs-migration.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcvs-migration.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcli.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcli.xml +rm -f gitattributes.5 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitattributes.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitweb.1 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitweb.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitmodules.5 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitmodules.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f githooks.5 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man githooks.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f git.1 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitcli.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcli.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitrepository-layout.5 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitrepository-layout.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' @@ -6457,64 +6496,60 @@ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcredentials.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitweb.conf.5 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitweb.conf.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gitcore-tutorial.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcore-tutorial.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitdiffcore.7 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitdiffcore.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f giteveryday.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man giteveryday.xml +rm -f gitcvs-migration.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcvs-migration.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitattributes.5 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitattributes.xml +rm -f gitglossary.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitglossary.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitnamespaces.7 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitnamespaces.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitweb.conf.5 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitweb.conf.xml +rm -f giteveryday.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man giteveryday.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitfaq.7 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitfaq.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitrevisions.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitrevisions.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitworkflows.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitworkflows.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f git.1 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man git.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitremote-helpers.7 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitremote-helpers.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gittutorial-2.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gittutorial-2.xml -make[2]: Leaving directory '/build/git-2.30.2/Documentation' -make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gitsubmodules.7 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitsubmodules.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitcore-tutorial.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitcore-tutorial.xml +rm -f gitrevisions.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitrevisions.xml +make[2]: Leaving directory '/build/git-2.30.2/Documentation' +make[2]: Entering directory '/build/git-2.30.2/Documentation' +rm -f gittutorial-2.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gittutorial-2.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' rm -f gittutorial.7 && \ xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gittutorial.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[2]: Entering directory '/build/git-2.30.2/Documentation' -rm -f gitglossary.7 && \ -xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitglossary.xml +rm -f gitworkflows.7 && \ +xmlto -m manpage-normal.xsl -m manpage-bold-literal.xsl -m manpage-base-url.xsl man gitworkflows.xml make[2]: Leaving directory '/build/git-2.30.2/Documentation' make[1]: Entering directory '/build/git-2.30.2' # git-mediawiki @@ -6551,28 +6586,28 @@ GIT_SKIP_TESTS="t9128 t9167" \ GIT_TEST_OPTS='--verbose' /usr/bin/make test NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core libexecdir=/usr/lib/git-core mandir=/usr/share/man htmldir=/usr/share/doc/git/html INSTALLDIRS=vendor SANE_TOOL_PATH= INSTALL=install TAR=tar NO_CROSS_DIRECTORY_HARDLINKS=1 NO_INSTALL_HARDLINKS=1 NO_PERL_CPAN_FALLBACKS=1 PYTHON_PATH=/usr/bin/python3 DEFAULT_PAGER=pager DEFAULT_EDITOR=editor CC='gcc' CFLAGS='-Wall -g -O2 -fdebug-prefix-map=/build/git-2.30.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' LDFLAGS='-Wl,-z,relro' HOST_CPU='i686' V=1 USE_LIBPCRE2=1 make[2]: Entering directory '/build/git-2.30.2' -rm -f git-archimport git-archimport+ && \ +rm -f git-add--interactive git-add--interactive+ && \ sed -e '1{' \ -e ' s|#!.*perl|#!/usr/bin/perl|' \ -e ' r GIT-PERL-HEADER' \ -e ' G' \ -e '}' \ -e 's/@@GIT_VERSION@@/2.30.2/g' \ - git-archimport.perl >git-archimport+ && \ -chmod +x git-archimport+ && \ -mv git-archimport+ git-archimport + git-add--interactive.perl >git-add--interactive+ && \ +chmod +x git-add--interactive+ && \ +mv git-add--interactive+ git-add--interactive make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-add--interactive git-add--interactive+ && \ +rm -f git-archimport git-archimport+ && \ sed -e '1{' \ -e ' s|#!.*perl|#!/usr/bin/perl|' \ -e ' r GIT-PERL-HEADER' \ -e ' G' \ -e '}' \ -e 's/@@GIT_VERSION@@/2.30.2/g' \ - git-add--interactive.perl >git-add--interactive+ && \ -chmod +x git-add--interactive+ && \ -mv git-add--interactive+ git-add--interactive + git-archimport.perl >git-archimport+ && \ +chmod +x git-archimport+ && \ +mv git-archimport+ git-archimport make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' rm -f git-cvsexportcommit git-cvsexportcommit+ && \ @@ -6599,18 +6634,6 @@ mv git-cvsimport+ git-cvsimport make[2]: Leaving directory '/build/git-2.30.2' make[2]: Entering directory '/build/git-2.30.2' -rm -f git-send-email git-send-email+ && \ -sed -e '1{' \ - -e ' s|#!.*perl|#!/usr/bin/perl|' \ - -e ' r GIT-PERL-HEADER' \ - -e ' G' \ - -e '}' \ - -e 's/@@GIT_VERSION@@/2.30.2/g' \ - git-send-email.perl >git-send-email+ && \ -chmod +x git-send-email+ && \ -mv git-send-email+ git-send-email -make[2]: Leaving directory '/build/git-2.30.2' -make[2]: Entering directory '/build/git-2.30.2' rm -f git-cvsserver git-cvsserver+ && \ sed -e '1{' \ -e ' s|#!.*perl|#!/usr/bin/perl|' \ @@ -6641,6 +6664,18 @@ chmod +x git-p4+ && \ mv git-p4+ git-p4 make[2]: Leaving directory '/build/git-2.30.2' +make[2]: Entering directory '/build/git-2.30.2' +rm -f git-send-email git-send-email+ && \ +sed -e '1{' \ + -e ' s|#!.*perl|#!/usr/bin/perl|' \ + -e ' r GIT-PERL-HEADER' \ + -e ' G' \ + -e '}' \ + -e 's/@@GIT_VERSION@@/2.30.2/g' \ + git-send-email.perl >git-send-email+ && \ +chmod +x git-send-email+ && \ +mv git-send-email+ git-send-email +make[2]: Leaving directory '/build/git-2.30.2' /usr/bin/make -C git-gui gitexecdir='/usr/lib/git-core' all /usr/bin/make -C gitk-git all /usr/bin/make -C templates SHELL_PATH='/bin/sh' PERL_PATH='/usr/bin/perl' @@ -6653,58 +6688,94 @@ make[3]: Leaving directory '/build/git-2.30.2/t' /usr/bin/make aggregate-results-and-cleanup make[4]: Entering directory '/build/git-2.30.2/t' -*** t0013-sha1dc.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0013-sha1dc/.git/ -expecting success of 0013.1 'test-sha1 detects shattered pdf': - test_must_fail test-tool sha1 <"$TEST_DATA/shattered-1.pdf" 2>err && - test_i18ngrep collision err && - grep 38762cf7f55934b34d179ae6a4c80cadccbb7f0a err +*** t0004-unwritable.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0004-unwritable/.git/ +expecting success of 0004.1 'setup': -checking prerequisite: C_LOCALE_OUTPUT + >file && + git add file && + test_tick && + git commit -m initial && + echo >file && + git add file -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + +[master (root-commit) 1bd44cb] initial + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 file +ok 1 - setup + +checking prerequisite: SANITY + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && ( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && -) -prerequisite C_LOCALE_OUTPUT ok -fatal: SHA-1 appears to be part of a collision attack: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a -fatal: SHA-1 appears to be part of a collision attack: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a -ok 1 - test-sha1 detects shattered pdf + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" -# passed all 1 test(s) -1..1 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0009-prio-queue.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0009-prio-queue/.git/ -expecting success of 0009.1 'basic ordering': - test-tool prio-queue 2 6 3 10 9 5 7 4 5 8 1 dump >actual && - test_cmp expect actual + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? -ok 1 - basic ordering + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status -expecting success of 0009.2 'mixed put and get': - test-tool prio-queue 6 2 4 get 5 3 get get 1 dump >actual && - test_cmp expect actual +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 0004.2 'write-tree should notice unwritable repository': + test_when_finished "chmod 775 .git/objects .git/objects/??" && + chmod a-w .git/objects .git/objects/?? && + test_must_fail git write-tree -ok 2 - mixed put and get +error: insufficient permission for adding an object to repository database .git/objects +fatal: git-write-tree: error building trees +ok 2 - write-tree should notice unwritable repository -expecting success of 0009.3 'notice empty queue': - test-tool prio-queue 1 2 get get get 1 2 get get get >actual && - test_cmp expect actual +expecting success of 0004.3 'commit should notice unwritable repository': + test_when_finished "chmod 775 .git/objects .git/objects/??" && + chmod a-w .git/objects .git/objects/?? && + test_must_fail git commit -m second -ok 3 - notice empty queue +error: insufficient permission for adding an object to repository database .git/objects +error: insufficient permission for adding an object to repository database .git/objects +error: Error building trees +ok 3 - commit should notice unwritable repository -expecting success of 0009.4 'stack order': - test-tool prio-queue stack 8 1 5 4 6 2 3 dump >actual && - test_cmp expect actual +expecting success of 0004.4 'update-index should notice unwritable repository': + test_when_finished "chmod 775 .git/objects .git/objects/??" && + echo 6O >file && + chmod a-w .git/objects .git/objects/?? && + test_must_fail git update-index file -ok 4 - stack order +error: insufficient permission for adding an object to repository database .git/objects +error: file: failed to insert into database +fatal: Unable to process path file +ok 4 - update-index should notice unwritable repository -# passed all 4 test(s) -1..4 +expecting success of 0004.5 'add should notice unwritable repository': + test_when_finished "chmod 775 .git/objects .git/objects/??" && + echo b >file && + chmod a-w .git/objects .git/objects/?? && + test_must_fail git add file + +error: insufficient permission for adding an object to repository database .git/objects +error: file: failed to insert into database +error: unable to index file 'file' +fatal: updating files failed +ok 5 - add should notice unwritable repository + +# passed all 5 test(s) +1..5 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' *** t0005-signals.sh *** @@ -6757,6 +6828,173 @@ 1..5 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' +*** t0002-gitfile.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0002-gitfile/.git/ +expecting success of 0002.1 'initial setup': + REAL="$(pwd)/.real" && + mv .git "$REAL" + +ok 1 - initial setup + +expecting success of 0002.2 'bad setup: invalid .git file format': + echo "gitdir $REAL" >.git && + test_must_fail git rev-parse 2>.err && + test_i18ngrep "invalid gitfile format" .err + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +fatal: invalid gitfile format: /build/git-2.30.2/t/trash directory.t0002-gitfile/.git +ok 2 - bad setup: invalid .git file format + +expecting success of 0002.3 'bad setup: invalid .git file path': + echo "gitdir: $REAL.not" >.git && + test_must_fail git rev-parse 2>.err && + test_i18ngrep "not a git repository" .err + +fatal: not a git repository: /build/git-2.30.2/t/trash directory.t0002-gitfile/.real.not +ok 3 - bad setup: invalid .git file path + +expecting success of 0002.4 'final setup + check rev-parse --git-dir': + echo "gitdir: $REAL" >.git && + test "$REAL" = "$(git rev-parse --git-dir)" + +ok 4 - final setup + check rev-parse --git-dir + +expecting success of 0002.5 'check hash-object': + echo "foo" >bar && + SHA=$(cat bar | git hash-object -w --stdin) && + test_path_is_file "$REAL/objects/$(objpath $SHA)" + +ok 5 - check hash-object + +expecting success of 0002.6 'check cat-file': + git cat-file blob $SHA >actual && + test_cmp bar actual + +ok 6 - check cat-file + +expecting success of 0002.7 'check update-index': + test_path_is_missing "$REAL/index" && + rm -f "$REAL/objects/$(objpath $SHA)" && + git update-index --add bar && + test_path_is_file "$REAL/index" && + test_path_is_file "$REAL/objects/$(objpath $SHA)" + +ok 7 - check update-index + +expecting success of 0002.8 'check write-tree': + SHA=$(git write-tree) && + test_path_is_file "$REAL/objects/$(objpath $SHA)" + +ok 8 - check write-tree + +expecting success of 0002.9 'check commit-tree': + SHA=$(echo "commit bar" | git commit-tree $SHA) && + test_path_is_file "$REAL/objects/$(objpath $SHA)" + +ok 9 - check commit-tree + +expecting success of 0002.10 'check rev-list': + git update-ref "HEAD" "$SHA" && + test "$SHA" = "$(git rev-list HEAD)" + +ok 10 - check rev-list + +expecting success of 0002.11 'setup_git_dir twice in subdir': + git init sgd && + ( + cd sgd && + git config alias.lsfi ls-files && + mv .git .realgit && + echo "gitdir: .realgit" >.git && + mkdir subdir && + cd subdir && + >foo && + git add foo && + git lsfi >actual && + echo foo >expected && + test_cmp expected actual + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0002-gitfile/sgd/.git/ +ok 11 - setup_git_dir twice in subdir + +expecting success of 0002.12 'enter_repo non-strict mode': + test_create_repo enter_repo && + ( + cd enter_repo && + test_tick && + test_commit foo && + mv .git .realgit && + echo "gitdir: .realgit" >.git + ) && + head=$(git -C enter_repo rev-parse HEAD) && + git ls-remote enter_repo >actual && + cat >expected <<-EOF && + $head HEAD + $head refs/heads/master + $head refs/tags/foo + EOF + test_cmp expected actual + +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0002-gitfile/enter_repo/.git/ +[master (root-commit) 946e985] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +ok 12 - enter_repo non-strict mode + +expecting success of 0002.13 'enter_repo linked checkout': + ( + cd enter_repo && + git worktree add ../foo refs/tags/foo + ) && + head=$(git -C enter_repo rev-parse HEAD) && + git ls-remote foo >actual && + cat >expected <<-EOF && + $head HEAD + $head refs/heads/master + $head refs/tags/foo + EOF + test_cmp expected actual + +Preparing worktree (detached HEAD 946e985) +HEAD is now at 946e985 foo +ok 13 - enter_repo linked checkout + +expecting success of 0002.14 'enter_repo strict mode': + head=$(git -C enter_repo rev-parse HEAD) && + git ls-remote --upload-pack="git upload-pack --strict" foo/.git >actual && + cat >expected <<-EOF && + $head HEAD + $head refs/heads/master + $head refs/tags/foo + EOF + test_cmp expected actual + +ok 14 - enter_repo strict mode + +# passed all 14 test(s) +1..14 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' *** t0007-git-var.sh *** Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0007-git-var/.git/ expecting success of 0007.1 'get GIT_AUTHOR_IDENT': @@ -6794,41 +7032,9 @@ git var GIT_AUTHOR_IDENT ) -Author identity unknown - -*** Please tell me who you are. - -Run - - git config --global user.email "you@example.com" - git config --global user.name "Your Name" - -to set your account's default identity. -Omit --global to set the identity only in this repository. - -fatal: empty ident name (for ) not allowed -prerequisite AUTOIDENT not satisfied -expecting success of 0007.3 'requested identities are strict': - ( - sane_unset GIT_COMMITTER_NAME && - sane_unset GIT_COMMITTER_EMAIL && - test_must_fail git var GIT_COMMITTER_IDENT - ) - -Committer identity unknown - -*** Please tell me who you are. - -Run - - git config --global user.email "you@example.com" - git config --global user.name "Your Name" - -to set your account's default identity. -Omit --global to set the identity only in this repository. - -fatal: empty ident name (for ) not allowed -ok 3 - requested identities are strict +second user 1112912053 -0700 +prerequisite AUTOIDENT ok +ok 3 # skip requested identities are strict (missing !AUTOIDENT of !FAIL_PREREQS,!AUTOIDENT) expecting success of 0007.4 'git var -l lists variables': git var -l >actual && @@ -6856,143 +7062,31 @@ 1..6 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0004-unwritable.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0004-unwritable/.git/ -expecting success of 0004.1 'setup': - - >file && - git add file && - test_tick && - git commit -m initial && - echo >file && - git add file - - -[master (root-commit) 1bd44cb] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 file -ok 1 - setup - -checking prerequisite: SANITY - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && - - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" - - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? - - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status - -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 0004.2 'write-tree should notice unwritable repository': - test_when_finished "chmod 775 .git/objects .git/objects/??" && - chmod a-w .git/objects .git/objects/?? && - test_must_fail git write-tree - -error: insufficient permission for adding an object to repository database .git/objects -fatal: git-write-tree: error building trees -ok 2 - write-tree should notice unwritable repository - -expecting success of 0004.3 'commit should notice unwritable repository': - test_when_finished "chmod 775 .git/objects .git/objects/??" && - chmod a-w .git/objects .git/objects/?? && - test_must_fail git commit -m second - -error: insufficient permission for adding an object to repository database .git/objects -error: insufficient permission for adding an object to repository database .git/objects -error: Error building trees -ok 3 - commit should notice unwritable repository - -expecting success of 0004.4 'update-index should notice unwritable repository': - test_when_finished "chmod 775 .git/objects .git/objects/??" && - echo 6O >file && - chmod a-w .git/objects .git/objects/?? && - test_must_fail git update-index file - -error: insufficient permission for adding an object to repository database .git/objects -error: file: failed to insert into database -fatal: Unable to process path file -ok 4 - update-index should notice unwritable repository - -expecting success of 0004.5 'add should notice unwritable repository': - test_when_finished "chmod 775 .git/objects .git/objects/??" && - echo b >file && - chmod a-w .git/objects .git/objects/?? && - test_must_fail git add file - -error: insufficient permission for adding an object to repository database .git/objects -error: file: failed to insert into database -error: unable to index file 'file' -fatal: updating files failed -ok 5 - add should notice unwritable repository - -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0014-alias.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0014-alias/.git/ -expecting success of 0014.1 'nested aliases - internal execution': - git config alias.nested-internal-1 nested-internal-2 && - git config alias.nested-internal-2 status && - git nested-internal-1 >output && - test_i18ngrep "^On branch " output - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +*** t0009-prio-queue.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0009-prio-queue/.git/ +expecting success of 0009.1 'basic ordering': + test-tool prio-queue 2 6 3 10 9 5 7 4 5 8 1 dump >actual && + test_cmp expect actual -) -prerequisite C_LOCALE_OUTPUT ok -On branch master -ok 1 - nested aliases - internal execution +ok 1 - basic ordering -expecting success of 0014.2 'nested aliases - mixed execution': - git config alias.nested-external-1 nested-external-2 && - git config alias.nested-external-2 "!git nested-external-3" && - git config alias.nested-external-3 status && - git nested-external-1 >output && - test_i18ngrep "^On branch " output +expecting success of 0009.2 'mixed put and get': + test-tool prio-queue 6 2 4 get 5 3 get get 1 dump >actual && + test_cmp expect actual -On branch master -ok 2 - nested aliases - mixed execution +ok 2 - mixed put and get -expecting success of 0014.3 'looping aliases - internal execution': - git config alias.loop-internal-1 loop-internal-2 && - git config alias.loop-internal-2 loop-internal-3 && - git config alias.loop-internal-3 loop-internal-2 && - test_must_fail git loop-internal-1 2>output && - test_i18ngrep "^fatal: alias loop detected: expansion of" output +expecting success of 0009.3 'notice empty queue': + test-tool prio-queue 1 2 get get get 1 2 get get get >actual && + test_cmp expect actual -fatal: alias loop detected: expansion of 'loop-internal-1' does not terminate: -ok 3 - looping aliases - internal execution +ok 3 - notice empty queue -expecting success of 0014.4 'run-command formats empty args properly': - test_must_fail env GIT_TRACE=1 git frotz a "" b " " c 2>actual.raw && - sed -ne "/run_command:/s/.*trace: run_command: //p" actual.raw >actual && - echo "git-frotz a '' b ' ' c" >expect && - test_cmp expect actual +expecting success of 0009.4 'stack order': + test-tool prio-queue stack 8 1 5 4 6 2 3 dump >actual && + test_cmp expect actual -ok 4 - run-command formats empty args properly +ok 4 - stack order # passed all 4 test(s) 1..4 @@ -7264,1394 +7358,120 @@ 1..14 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0018-advice.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0018-advice/.git/ -expecting success of 0018.1 'advice should be printed when config variable is unset': - cat >expect <<-\EOF && - hint: This is a piece of advice - hint: Disable this message with "git config advice.nestedTag false" - EOF - test-tool advise "This is a piece of advice" 2>actual && - test_i18ncmp expect actual - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +*** t0003-attributes.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0003-attributes/.git/ +expecting success of 0003.1 'open-quoted pathname': + echo "\"a test=a" >.gitattributes && + attr_check a unspecified -) -prerequisite C_LOCALE_OUTPUT ok -ok 1 - advice should be printed when config variable is unset +ok 1 - open-quoted pathname -expecting success of 0018.2 'advice should be printed when config variable is set to true': - cat >expect <<-\EOF && - hint: This is a piece of advice - hint: Disable this message with "git config advice.nestedTag false" +expecting success of 0003.2 'setup': + mkdir -p a/b/d a/c b && + ( + echo "[attr]notest !test" && + echo "\" d \" test=d" && + echo " e test=e" && + echo " e\" test=e" && + echo "f test=f" && + echo "a/i test=a/i" && + echo "onoff test -test" && + echo "offon -test test" && + echo "no notest" && + echo "A/e/F test=A/e/F" + ) >.gitattributes && + ( + echo "g test=a/g" && + echo "b/g test=a/b/g" + ) >a/.gitattributes && + ( + echo "h test=a/b/h" && + echo "d/* test=a/b/d/*" && + echo "d/yes notest" + ) >a/b/.gitattributes && + ( + echo "global test=global" + ) >"$HOME"/global-gitattributes && + cat <<-EOF >expect-all + f: test: f + a/f: test: f + a/c/f: test: f + a/g: test: a/g + a/b/g: test: a/b/g + b/g: test: unspecified + a/b/h: test: a/b/h + a/b/d/g: test: a/b/d/* + onoff: test: unset + offon: test: set + no: notest: set + no: test: unspecified + a/b/d/no: notest: set + a/b/d/no: test: a/b/d/* + a/b/d/yes: notest: set + a/b/d/yes: test: unspecified EOF - test_config advice.nestedTag true && - test-tool advise "This is a piece of advice" 2>actual && - test_i18ncmp expect actual - -ok 2 - advice should be printed when config variable is set to true - -expecting success of 0018.3 'advice should not be printed when config variable is set to false': - test_config advice.nestedTag false && - test-tool advise "This is a piece of advice" 2>actual && - test_must_be_empty actual -ok 3 - advice should not be printed when config variable is set to false +ok 2 - setup -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0017-env-helper.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0017-env-helper/.git/ -expecting success of 0017.1 'env--helper usage': - test_must_fail git env--helper && - test_must_fail git env--helper --type=bool && - test_must_fail git env--helper --type=ulong && - test_must_fail git env--helper --type=bool && - test_must_fail git env--helper --type=bool --default && - test_must_fail git env--helper --type=bool --default= && - test_must_fail git env--helper --defaultxyz +expecting success of 0003.3 'command line checks': + test_must_fail git check-attr && + test_must_fail git check-attr -- && + test_must_fail git check-attr test && + test_must_fail git check-attr test -- && + test_must_fail git check-attr -- f && + echo "f" | test_must_fail git check-attr --stdin && + echo "f" | test_must_fail git check-attr --stdin -- f && + echo "f" | test_must_fail git check-attr --stdin test -- f && + test_must_fail git check-attr "" -- f -usage: git env--helper --type=[bool|ulong] +error: No attribute specified +usage: git check-attr [-a | --all | ...] [--] ... + or: git check-attr --stdin [-z] [-a | --all | ...] - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code + -a, --all report all attributes set on file + --cached use .gitattributes only from the index + --stdin read file names from stdin + -z terminate input and output records by a NUL character -usage: git env--helper --type=[bool|ulong] +error: No attribute specified +usage: git check-attr [-a | --all | ...] [--] ... + or: git check-attr --stdin [-z] [-a | --all | ...] - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code + -a, --all report all attributes set on file + --cached use .gitattributes only from the index + --stdin read file names from stdin + -z terminate input and output records by a NUL character -usage: git env--helper --type=[bool|ulong] +error: No file specified +usage: git check-attr [-a | --all | ...] [--] ... + or: git check-attr --stdin [-z] [-a | --all | ...] - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code + -a, --all report all attributes set on file + --cached use .gitattributes only from the index + --stdin read file names from stdin + -z terminate input and output records by a NUL character -usage: git env--helper --type=[bool|ulong] +error: No file specified +usage: git check-attr [-a | --all | ...] [--] ... + or: git check-attr --stdin [-z] [-a | --all | ...] - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code + -a, --all report all attributes set on file + --cached use .gitattributes only from the index + --stdin read file names from stdin + -z terminate input and output records by a NUL character -error: option `default' requires a value -usage: git env--helper --type=[bool|ulong] +error: No attribute specified +usage: git check-attr [-a | --all | ...] [--] ... + or: git check-attr --stdin [-z] [-a | --all | ...] - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code + -a, --all report all attributes set on file + --cached use .gitattributes only from the index + --stdin read file names from stdin + -z terminate input and output records by a NUL character -usage: git env--helper --type=[bool|ulong] - - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code - -ok 1 - env--helper usage - -expecting success of 0017.2 'env--helper bad default values': - test_must_fail git env--helper --type=bool --default=1xyz MISSING && - test_must_fail git env--helper --type=ulong --default=1xyz MISSING - -error: option `--default' expects a boolean value with `--type=bool`, not `1xyz` -usage: git env--helper --type=[bool|ulong] - - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code - -error: option `--default' expects an unsigned long value with `--type=ulong`, not `1xyz` -usage: git env--helper --type=[bool|ulong] - - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code - -ok 2 - env--helper bad default values - -expecting success of 0017.3 'env--helper --type=bool': - # Test various --default bool values - echo true >expected && - git env--helper --type=bool --default=1 MISSING >actual && - test_cmp expected actual && - git env--helper --type=bool --default=yes MISSING >actual && - test_cmp expected actual && - git env--helper --type=bool --default=true MISSING >actual && - test_cmp expected actual && - echo false >expected && - test_must_fail git env--helper --type=bool --default=0 MISSING >actual && - test_cmp expected actual && - test_must_fail git env--helper --type=bool --default=no MISSING >actual && - test_cmp expected actual && - test_must_fail git env--helper --type=bool --default=false MISSING >actual && - test_cmp expected actual && - - # No output with --exit-code - git env--helper --type=bool --default=true --exit-code MISSING >actual.out 2>actual.err && - test_must_be_empty actual.out && - test_must_be_empty actual.err && - test_must_fail git env--helper --type=bool --default=false --exit-code MISSING >actual.out 2>actual.err && - test_must_be_empty actual.out && - test_must_be_empty actual.err && - - # Existing variable - EXISTS=true git env--helper --type=bool --default=false --exit-code EXISTS >actual.out 2>actual.err && - test_must_be_empty actual.out && - test_must_be_empty actual.err && - test_must_fail \ - env EXISTS=false \ - git env--helper --type=bool --default=true --exit-code EXISTS >actual.out 2>actual.err && - test_must_be_empty actual.out && - test_must_be_empty actual.err - -ok 3 - env--helper --type=bool - -expecting success of 0017.4 'env--helper --type=ulong': - echo 1234567890 >expected && - git env--helper --type=ulong --default=1234567890 MISSING >actual.out 2>actual.err && - test_cmp expected actual.out && - test_must_be_empty actual.err && - - echo 0 >expected && - test_must_fail git env--helper --type=ulong --default=0 MISSING >actual && - test_cmp expected actual && - - git env--helper --type=ulong --default=1234567890 --exit-code MISSING >actual.out 2>actual.err && - test_must_be_empty actual.out && - test_must_be_empty actual.err && - - EXISTS=1234567890 git env--helper --type=ulong --default=0 EXISTS --exit-code >actual.out 2>actual.err && - test_must_be_empty actual.out && - test_must_be_empty actual.err && - - echo 1234567890 >expected && - EXISTS=1234567890 git env--helper --type=ulong --default=0 EXISTS >actual.out 2>actual.err && - test_cmp expected actual.out && - test_must_be_empty actual.err - -ok 4 - env--helper --type=ulong - -expecting success of 0017.5 'env--helper reads config thanks to trace2': - mkdir home && - git config -f home/.gitconfig include.path cycle && - git config -f home/cycle include.path .gitconfig && - - test_must_fail \ - env HOME="$(pwd)/home" GIT_TEST_GETTEXT_POISON=false \ - git config -l 2>err && - grep "exceeded maximum include depth" err && - - test_must_fail \ - env HOME="$(pwd)/home" GIT_TEST_GETTEXT_POISON=true \ - git -C cycle env--helper --type=bool --default=0 --exit-code GIT_TEST_GETTEXT_POISON 2>err && - grep "# GETTEXT POISON #" err - -fatal: exceeded maximum include depth (10) while including -fatal: # GETTEXT POISON # -ok 5 - env--helper reads config thanks to trace2 - -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0002-gitfile.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0002-gitfile/.git/ -expecting success of 0002.1 'initial setup': - REAL="$(pwd)/.real" && - mv .git "$REAL" - -ok 1 - initial setup - -expecting success of 0002.2 'bad setup: invalid .git file format': - echo "gitdir $REAL" >.git && - test_must_fail git rev-parse 2>.err && - test_i18ngrep "invalid gitfile format" .err - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -fatal: invalid gitfile format: /build/git-2.30.2/t/trash directory.t0002-gitfile/.git -ok 2 - bad setup: invalid .git file format - -expecting success of 0002.3 'bad setup: invalid .git file path': - echo "gitdir: $REAL.not" >.git && - test_must_fail git rev-parse 2>.err && - test_i18ngrep "not a git repository" .err - -fatal: not a git repository: /build/git-2.30.2/t/trash directory.t0002-gitfile/.real.not -ok 3 - bad setup: invalid .git file path - -expecting success of 0002.4 'final setup + check rev-parse --git-dir': - echo "gitdir: $REAL" >.git && - test "$REAL" = "$(git rev-parse --git-dir)" - -ok 4 - final setup + check rev-parse --git-dir - -expecting success of 0002.5 'check hash-object': - echo "foo" >bar && - SHA=$(cat bar | git hash-object -w --stdin) && - test_path_is_file "$REAL/objects/$(objpath $SHA)" - -ok 5 - check hash-object - -expecting success of 0002.6 'check cat-file': - git cat-file blob $SHA >actual && - test_cmp bar actual - -ok 6 - check cat-file - -expecting success of 0002.7 'check update-index': - test_path_is_missing "$REAL/index" && - rm -f "$REAL/objects/$(objpath $SHA)" && - git update-index --add bar && - test_path_is_file "$REAL/index" && - test_path_is_file "$REAL/objects/$(objpath $SHA)" - -ok 7 - check update-index - -expecting success of 0002.8 'check write-tree': - SHA=$(git write-tree) && - test_path_is_file "$REAL/objects/$(objpath $SHA)" - -ok 8 - check write-tree - -expecting success of 0002.9 'check commit-tree': - SHA=$(echo "commit bar" | git commit-tree $SHA) && - test_path_is_file "$REAL/objects/$(objpath $SHA)" - -ok 9 - check commit-tree - -expecting success of 0002.10 'check rev-list': - git update-ref "HEAD" "$SHA" && - test "$SHA" = "$(git rev-list HEAD)" - -ok 10 - check rev-list - -expecting success of 0002.11 'setup_git_dir twice in subdir': - git init sgd && - ( - cd sgd && - git config alias.lsfi ls-files && - mv .git .realgit && - echo "gitdir: .realgit" >.git && - mkdir subdir && - cd subdir && - >foo && - git add foo && - git lsfi >actual && - echo foo >expected && - test_cmp expected actual - ) - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0002-gitfile/sgd/.git/ -ok 11 - setup_git_dir twice in subdir - -expecting success of 0002.12 'enter_repo non-strict mode': - test_create_repo enter_repo && - ( - cd enter_repo && - test_tick && - test_commit foo && - mv .git .realgit && - echo "gitdir: .realgit" >.git - ) && - head=$(git -C enter_repo rev-parse HEAD) && - git ls-remote enter_repo >actual && - cat >expected <<-EOF && - $head HEAD - $head refs/heads/master - $head refs/tags/foo - EOF - test_cmp expected actual - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0002-gitfile/enter_repo/.git/ -[master (root-commit) 946e985] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -ok 12 - enter_repo non-strict mode - -expecting success of 0002.13 'enter_repo linked checkout': - ( - cd enter_repo && - git worktree add ../foo refs/tags/foo - ) && - head=$(git -C enter_repo rev-parse HEAD) && - git ls-remote foo >actual && - cat >expected <<-EOF && - $head HEAD - $head refs/heads/master - $head refs/tags/foo - EOF - test_cmp expected actual - -Preparing worktree (detached HEAD 946e985) -HEAD is now at 946e985 foo -ok 13 - enter_repo linked checkout - -expecting success of 0002.14 'enter_repo strict mode': - head=$(git -C enter_repo rev-parse HEAD) && - git ls-remote --upload-pack="git upload-pack --strict" foo/.git >actual && - cat >expected <<-EOF && - $head HEAD - $head refs/heads/master - $head refs/tags/foo - EOF - test_cmp expected actual - -ok 14 - enter_repo strict mode - -# passed all 14 test(s) -1..14 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0016-oidmap.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0016-oidmap/.git/ -expecting success of 0016.1 'setup': - - test_commit one && - test_commit two && - test_commit three && - test_commit four - - -[master (root-commit) d79ce16] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master 139b20d] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -[master 7c7cd71] three - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 three.t -[master fd8d77e] four - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 four.t -ok 1 - setup - -expecting success of 0016.2 'put': - -test_oidmap "put one 1 -put two 2 -put invalidOid 4 -put three 3" "NULL -NULL -Unknown oid: invalidOid -NULL" - - -ok 2 - put - -expecting success of 0016.3 'replace': - -test_oidmap "put one 1 -put two 2 -put three 3 -put invalidOid 4 -put two deux -put one un" "NULL -NULL -NULL -Unknown oid: invalidOid -2 -1" - - -ok 3 - replace - -expecting success of 0016.4 'get': - -test_oidmap "put one 1 -put two 2 -put three 3 -get two -get four -get invalidOid -get one" "NULL -NULL -NULL -2 -NULL -Unknown oid: invalidOid -1" - - -ok 4 - get - -expecting success of 0016.5 'remove': - -test_oidmap "put one 1 -put two 2 -put three 3 -remove one -remove two -remove invalidOid -remove four" "NULL -NULL -NULL -1 -2 -Unknown oid: invalidOid -NULL" - - -ok 5 - remove - -expecting success of 0016.6 'iterate': - test-tool oidmap >actual.raw <<-\EOF && - put one 1 - put two 2 - put three 3 - iterate - EOF - - # sort "expect" too so we do not rely on the order of particular oids - sort >expect <<-EOF && - NULL - NULL - NULL - $(git rev-parse one) 1 - $(git rev-parse two) 2 - $(git rev-parse three) 3 - EOF - - sort actual && - test_cmp expect actual - -ok 6 - iterate - -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0022-crlf-rename.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0022-crlf-rename/.git/ -expecting success of 0022.1 'setup': - - cat "$TEST_DIRECTORY"/t0022-crlf-rename.sh >sample && - git add sample && - - test_tick && - git commit -m Initial && - - append_cr <"$TEST_DIRECTORY"/t0022-crlf-rename.sh >elpmas && - git add elpmas && - rm -f sample && - - test_tick && - git commit -a -m Second - - -[master (root-commit) 6ee20c2] Initial - Author: A U Thor - 1 file changed, 33 insertions(+) - create mode 100644 sample -[master d248b45] Second - Author: A U Thor - 1 file changed, 33 insertions(+), 33 deletions(-) - rename sample => elpmas (94%) -ok 1 - setup - -expecting success of 0022.2 'diff -M': - - git diff-tree -M -r --name-status HEAD^ HEAD | - sed -e "s/R[0-9]*/RNUM/" >actual && - echo "RNUM sample elpmas" >expect && - test_cmp expect actual - - -ok 2 - diff -M - -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0023-crlf-am.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0023-crlf-am/.git/ -expecting success of 0023.1 'setup': - - git config core.autocrlf true && - echo foo >bar && - git add bar && - test_tick && - git commit -m initial - - -warning: LF will be replaced by CRLF in bar. -The file will have its original line endings in your working directory -[master (root-commit) 1adb513] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar -ok 1 - setup - -expecting success of 0023.2 'am': - - git am -3 expect <<-\EOF && - {} - EOF - cat >input <<-\EOF && - object - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 2 - trivial object - -expecting success of 0019.3 'trivial array': - cat >expect <<-\EOF && - [] - EOF - cat >input <<-\EOF && - array - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 3 - trivial array - -expecting success of 0019.4 'simple object': - cat >expect <<-\EOF && - {"a":"abc","b":42,"c":3.14,"d":true,"e":false,"f":null} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-int b 42 - object-double c 2 3.140 - object-true d - object-false e - object-null f - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 4 - simple object - -expecting success of 0019.5 'simple array': - cat >expect <<-\EOF && - ["abc",42,3.14,true,false,null] - EOF - cat >input <<-\EOF && - array - array-string abc - array-int 42 - array-double 2 3.140 - array-true - array-false - array-null - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 5 - simple array - -expecting success of 0019.6 'escape quoting string': - cat >expect <<-\EOF && - {"a":"abc\\def"} - EOF - cat >input <<-\EOF && - object - object-string a abc\def - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 6 - escape quoting string - -expecting success of 0019.7 'escape quoting string 2': - cat >expect <<-\EOF && - {"a":"abc\"def"} - EOF - cat >input <<-\EOF && - object - object-string a abc"def - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 7 - escape quoting string 2 - -expecting success of 0019.8 'nested inline object': - cat >expect <<-\EOF && - {"a":"abc","b":42,"sub1":{"c":3.14,"d":true,"sub2":{"e":false,"f":null}}} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-int b 42 - object-object sub1 - object-double c 2 3.140 - object-true d - object-object sub2 - object-false e - object-null f - end - end - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 8 - nested inline object - -expecting success of 0019.9 'nested inline array': - cat >expect <<-\EOF && - ["abc",42,[3.14,true,[false,null]]] - EOF - cat >input <<-\EOF && - array - array-string abc - array-int 42 - array-array - array-double 2 3.140 - array-true - array-array - array-false - array-null - end - end - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 9 - nested inline array - -expecting success of 0019.10 'nested inline object and array': - cat >expect <<-\EOF && - {"a":"abc","b":42,"sub1":{"c":3.14,"d":true,"sub2":[false,null]}} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-int b 42 - object-object sub1 - object-double c 2 3.140 - object-true d - object-array sub2 - array-false - array-null - end - end - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 10 - nested inline object and array - -expecting success of 0019.11 'nested inline object and array 2': - cat >expect <<-\EOF && - {"a":"abc","b":42,"sub1":{"c":3.14,"d":true,"sub2":[false,{"g":0,"h":1},null]}} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-int b 42 - object-object sub1 - object-double c 2 3.140 - object-true d - object-array sub2 - array-false - array-object - object-int g 0 - object-int h 1 - end - array-null - end - end - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 11 - nested inline object and array 2 - -expecting success of 0019.12 'pretty nested inline object and array 2': - sed -e "s/^|//" >expect <<-\EOF && - |{ - | "a": "abc", - | "b": 42, - | "sub1": { - | "c": 3.14, - | "d": true, - | "sub2": [ - | false, - | { - | "g": 0, - | "h": 1 - | }, - | null - | ] - | } - |} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-int b 42 - object-object sub1 - object-double c 2 3.140 - object-true d - object-array sub2 - array-false - array-object - object-int g 0 - object-int h 1 - end - array-null - end - end - end - EOF - test-tool json-writer -p actual && - test_cmp expect actual - -ok 12 - pretty nested inline object and array 2 - -expecting success of 0019.13 'inline object with no members': - cat >expect <<-\EOF && - {"a":"abc","empty":{},"b":42} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-object empty - end - object-int b 42 - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 13 - inline object with no members - -expecting success of 0019.14 'inline array with no members': - cat >expect <<-\EOF && - {"a":"abc","empty":[],"b":42} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-array empty - end - object-int b 42 - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 14 - inline array with no members - -expecting success of 0019.15 'larger empty example': - cat >expect <<-\EOF && - {"a":"abc","empty":[{},{},{},[],{}],"b":42} - EOF - cat >input <<-\EOF && - object - object-string a abc - object-array empty - array-object - end - array-object - end - array-object - end - array-array - end - array-object - end - end - object-int b 42 - end - EOF - test-tool json-writer actual && - test_cmp expect actual - -ok 15 - larger empty example - -checking prerequisite: PERLJSON - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-PERLJSON" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-PERLJSON" && - perl -MJSON -e "exit 0" - -) -Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/i386-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl-base /usr/lib/i386-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl .). -BEGIN failed--compilation aborted. -prerequisite PERLJSON not satisfied -ok 16 # skip parse JSON using Perl (missing PERLJSON) - -# passed all 16 test(s) -1..16 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0024-crlf-archive.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0024-crlf-archive/.git/ -expecting success of 0024.1 'setup': - - git config core.autocrlf true && - - printf "CRLF line ending\r\nAnd another\r\n" > sample && - git add sample && - - test_tick && - git commit -m Initial - - -[master (root-commit) 4f7f1aa] Initial - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 sample -ok 1 - setup - -expecting success of 0024.2 'tar archive': - - git archive --format=tar HEAD | - ( mkdir untarred && cd untarred && "$TAR" -xf - ) && - - test_cmp sample untarred/sample - - -ok 2 - tar archive - -checking prerequisite: UNZIP - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UNZIP" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-UNZIP" && - "$GIT_UNZIP" -v - test $? -ne 127 - -) -UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP. - -Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ; -see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites. - -Compiled with gcc 10.2.1 20210110 for Unix (Linux ELF). - -UnZip special compilation options: - ACORN_FTYPE_NFS - COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported) - SET_DIR_ATTRIB - SYMLINKS (symbolic links supported, if RTL and file system permit) - TIMESTAMP - UNIXBACKUP - USE_EF_UT_TIME - USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported) - USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported) - UNICODE_SUPPORT [wide-chars, char coding: other] (handle UTF-8 paths) - LARGE_FILE_SUPPORT (large files over 2 GiB supported) - ZIP64_SUPPORT (archives using Zip64 for large files supported) - USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.8, 13-Jul-2019) - VMS_TEXT_CONV - WILD_STOP_AT_DIR - [decryption, version 2.11 of 05 Jan 2007] - -UnZip and ZipInfo environment options: - UNZIP: [none] - UNZIPOPT: [none] - ZIPINFO: [none] - ZIPINFOOPT: [none] -prerequisite UNZIP ok -expecting success of 0024.3 'zip archive': - - git archive --format=zip HEAD >test.zip && - - ( mkdir unzipped && cd unzipped && "$GIT_UNZIP" ../test.zip ) && - - test_cmp sample unzipped/sample - - -Archive: ../test.zip -4f7f1aaec1ee996d8f5e13c2cfbd43a378578e1f - extracting: sample -ok 3 - zip archive - -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0025-crlf-renormalize.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0025-crlf-renormalize/.git/ -expecting success of 0025.1 'setup': - git config core.autocrlf false && - printf "LINEONE\nLINETWO\nLINETHREE\n" >LF.txt && - printf "LINEONE\r\nLINETWO\r\nLINETHREE\r\n" >CRLF.txt && - printf "LINEONE\r\nLINETWO\nLINETHREE\n" >CRLF_mix_LF.txt && - git add . && - git commit -m initial - -[master (root-commit) 98c48e8] initial - Author: A U Thor - 3 files changed, 9 insertions(+) - create mode 100644 CRLF.txt - create mode 100644 CRLF_mix_LF.txt - create mode 100644 LF.txt -ok 1 - setup - -expecting success of 0025.2 'renormalize CRLF in repo': - echo "*.txt text=auto" >.gitattributes && - git add --renormalize "*.txt" && - cat >expect <<-\EOF && - i/lf w/crlf attr/text=auto CRLF.txt - i/lf w/lf attr/text=auto LF.txt - i/lf w/mixed attr/text=auto CRLF_mix_LF.txt - EOF - git ls-files --eol | - sed -e "s/ / /g" -e "s/ */ /g" | - sort >actual && - test_cmp expect actual - -ok 2 - renormalize CRLF in repo - -expecting success of 0025.3 'ignore-errors not mistaken for renormalize': - git reset --hard && - echo "*.txt text=auto" >.gitattributes && - git ls-files --eol >expect && - git add --ignore-errors "*.txt" && - git ls-files --eol >actual && - test_cmp expect actual - -HEAD is now at 98c48e8 initial -ok 3 - ignore-errors not mistaken for renormalize - -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0015-hash.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0015-hash/.git/ -expecting success of 0015.1 'test basic SHA-1 hash values': - test-tool sha1 actual && - grep da39a3ee5e6b4b0d3255bfef95601890afd80709 actual && - printf "a" | test-tool sha1 >actual && - grep 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 actual && - printf "abc" | test-tool sha1 >actual && - grep a9993e364706816aba3e25717850c26c9cd0d89d actual && - printf "message digest" | test-tool sha1 >actual && - grep c12252ceda8be8994d5fa0290a47231c1d16aae3 actual && - printf "abcdefghijklmnopqrstuvwxyz" | test-tool sha1 >actual && - grep 32d10c7b8cf96570ca04ce37f2a19d84240d3a89 actual && - perl -e "$| = 1; print q{aaaaaaaaaa} for 1..100000;" | \ - test-tool sha1 >actual && - grep 34aa973cd4c4daa4f61eeb2bdbad27316534016f actual && - printf "blob 0\0" | test-tool sha1 >actual && - grep e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 actual && - printf "blob 3\0abc" | test-tool sha1 >actual && - grep f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f actual && - printf "tree 0\0" | test-tool sha1 >actual && - grep 4b825dc642cb6eb9a060e54bf8d69288fbee4904 actual - -da39a3ee5e6b4b0d3255bfef95601890afd80709 -86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 -a9993e364706816aba3e25717850c26c9cd0d89d -c12252ceda8be8994d5fa0290a47231c1d16aae3 -32d10c7b8cf96570ca04ce37f2a19d84240d3a89 -34aa973cd4c4daa4f61eeb2bdbad27316534016f -e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 -f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f -4b825dc642cb6eb9a060e54bf8d69288fbee4904 -ok 1 - test basic SHA-1 hash values - -expecting success of 0015.2 'test basic SHA-256 hash values': - test-tool sha256 actual && - grep e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 actual && - printf "a" | test-tool sha256 >actual && - grep ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb actual && - printf "abc" | test-tool sha256 >actual && - grep ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad actual && - printf "message digest" | test-tool sha256 >actual && - grep f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650 actual && - printf "abcdefghijklmnopqrstuvwxyz" | test-tool sha256 >actual && - grep 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 actual && - # Try to exercise the chunking code by turning autoflush on. - perl -e "$| = 1; print q{aaaaaaaaaa} for 1..100000;" | \ - test-tool sha256 >actual && - grep cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 actual && - perl -e "$| = 1; print q{abcdefghijklmnopqrstuvwxyz} for 1..100000;" | \ - test-tool sha256 >actual && - grep e406ba321ca712ad35a698bf0af8d61fc4dc40eca6bdcea4697962724ccbde35 actual && - printf "blob 0\0" | test-tool sha256 >actual && - grep 473a0f4c3be8a93681a267e3b1e9a7dcda1185436fe141f7749120a303721813 actual && - printf "blob 3\0abc" | test-tool sha256 >actual && - grep c1cf6e465077930e88dc5136641d402f72a229ddd996f627d60e9639eaba35a6 actual && - printf "tree 0\0" | test-tool sha256 >actual && - grep 6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321 actual - -e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb -ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad -f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650 -71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 -cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 -e406ba321ca712ad35a698bf0af8d61fc4dc40eca6bdcea4697962724ccbde35 -473a0f4c3be8a93681a267e3b1e9a7dcda1185436fe141f7749120a303721813 -c1cf6e465077930e88dc5136641d402f72a229ddd996f627d60e9639eaba35a6 -6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321 -ok 2 - test basic SHA-256 hash values - -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0029-core-unsetenvvars.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0029-core-unsetenvvars/.git/ -1..0 # SKIP skipping Windows-specific tests -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0026-eol-config.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0026-eol-config/.git/ -expecting success of 0026.1 'setup': - - git config core.autocrlf false && - - echo "one text" > .gitattributes && - - for w in Hello world how are you; do echo $w; done >one && - for w in I am very very fine thank you; do echo $w; done >two && - git add . && - - git commit -m initial && - - one=$(git rev-parse HEAD:one) && - two=$(git rev-parse HEAD:two) && - - echo happy. - -[master (root-commit) f7a09ee] initial - Author: A U Thor - 3 files changed, 13 insertions(+) - create mode 100644 .gitattributes - create mode 100644 one - create mode 100644 two -happy. -ok 1 - setup - -expecting success of 0026.2 'eol=lf puts LFs in normalized file': - - rm -f .gitattributes tmp one two && - git config core.eol lf && - git read-tree --reset -u HEAD && - - ! has_cr one && - ! has_cr two && - onediff=$(git diff one) && - twodiff=$(git diff two) && - test -z "$onediff" && test -z "$twodiff" - -ok 2 - eol=lf puts LFs in normalized file - -expecting success of 0026.3 'eol=crlf puts CRLFs in normalized file': - - rm -f .gitattributes tmp one two && - git config core.eol crlf && - git read-tree --reset -u HEAD && - - has_cr one && - ! has_cr two && - onediff=$(git diff one) && - twodiff=$(git diff two) && - test -z "$onediff" && test -z "$twodiff" - -ok 3 - eol=crlf puts CRLFs in normalized file - -expecting success of 0026.4 'autocrlf=true overrides eol=lf': - - rm -f .gitattributes tmp one two && - git config core.eol lf && - git config core.autocrlf true && - git read-tree --reset -u HEAD && - - has_cr one && - has_cr two && - onediff=$(git diff one) && - twodiff=$(git diff two) && - test -z "$onediff" && test -z "$twodiff" - -ok 4 - autocrlf=true overrides eol=lf - -expecting success of 0026.5 'autocrlf=true overrides unset eol': - - rm -f .gitattributes tmp one two && - git config --unset-all core.eol && - git config core.autocrlf true && - git read-tree --reset -u HEAD && - - has_cr one && - has_cr two && - onediff=$(git diff one) && - twodiff=$(git diff two) && - test -z "$onediff" && test -z "$twodiff" - -ok 5 - autocrlf=true overrides unset eol - -ok 6 # skip eol native is crlf (missing NATIVE_CRLF) - -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0034-root-safe-directory.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0034-root-safe-directory/.git/ -1..0 # SKIP You must set env var GIT_TEST_ALLOW_SUDO=YES in order to run this test -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0033-safe-directory.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0033-safe-directory/.git/ -expecting success of 0033.1 'safe.directory is not set': - expect_rejected_dir - -fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' - git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' -ok 1 - safe.directory is not set - -expecting success of 0033.2 'safe.directory does not match': - git config --global safe.directory bogus && - expect_rejected_dir - -fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' - git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' -ok 2 - safe.directory does not match - -expecting success of 0033.3 'path exist as different key': - git config --global foo.bar "$(pwd)" && - expect_rejected_dir - -fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' - git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' -ok 3 - path exist as different key - -expecting success of 0033.4 'safe.directory matches': - git config --global --add safe.directory "$(pwd)" && - git status - -On branch master - -No commits yet - -Untracked files: - (use "git add ..." to include in what will be committed) - .gitconfig - err - -nothing added to commit but untracked files present (use "git add" to track) -ok 4 - safe.directory matches - -expecting success of 0033.5 'safe.directory matches, but is reset': - git config --global --add safe.directory "" && - expect_rejected_dir - -fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' - git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' -ok 5 - safe.directory matches, but is reset - -expecting success of 0033.6 'safe.directory=*': - git config --global --add safe.directory "*" && - git status - -On branch master - -No commits yet - -Untracked files: - (use "git add ..." to include in what will be committed) - .gitconfig - err - -nothing added to commit but untracked files present (use "git add" to track) -ok 6 - safe.directory=* - -expecting success of 0033.7 'safe.directory=*, but is reset': - git config --global --add safe.directory "" && - expect_rejected_dir - -fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' - git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' -ok 7 - safe.directory=*, but is reset - -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0051-windows-named-pipe.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0051-windows-named-pipe/.git/ -ok 1 # skip o_append write to named pipe (missing MINGW) - -# passed all 1 test(s) -1..1 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0003-attributes.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0003-attributes/.git/ -expecting success of 0003.1 'open-quoted pathname': - echo "\"a test=a" >.gitattributes && - attr_check a unspecified - -ok 1 - open-quoted pathname - -expecting success of 0003.2 'setup': - mkdir -p a/b/d a/c b && - ( - echo "[attr]notest !test" && - echo "\" d \" test=d" && - echo " e test=e" && - echo " e\" test=e" && - echo "f test=f" && - echo "a/i test=a/i" && - echo "onoff test -test" && - echo "offon -test test" && - echo "no notest" && - echo "A/e/F test=A/e/F" - ) >.gitattributes && - ( - echo "g test=a/g" && - echo "b/g test=a/b/g" - ) >a/.gitattributes && - ( - echo "h test=a/b/h" && - echo "d/* test=a/b/d/*" && - echo "d/yes notest" - ) >a/b/.gitattributes && - ( - echo "global test=global" - ) >"$HOME"/global-gitattributes && - cat <<-EOF >expect-all - f: test: f - a/f: test: f - a/c/f: test: f - a/g: test: a/g - a/b/g: test: a/b/g - b/g: test: unspecified - a/b/h: test: a/b/h - a/b/d/g: test: a/b/d/* - onoff: test: unset - offon: test: set - no: notest: set - no: test: unspecified - a/b/d/no: notest: set - a/b/d/no: test: a/b/d/* - a/b/d/yes: notest: set - a/b/d/yes: test: unspecified - EOF - -ok 2 - setup - -expecting success of 0003.3 'command line checks': - test_must_fail git check-attr && - test_must_fail git check-attr -- && - test_must_fail git check-attr test && - test_must_fail git check-attr test -- && - test_must_fail git check-attr -- f && - echo "f" | test_must_fail git check-attr --stdin && - echo "f" | test_must_fail git check-attr --stdin -- f && - echo "f" | test_must_fail git check-attr --stdin test -- f && - test_must_fail git check-attr "" -- f - -error: No attribute specified -usage: git check-attr [-a | --all | ...] [--] ... - or: git check-attr --stdin [-z] [-a | --all | ...] - - -a, --all report all attributes set on file - --cached use .gitattributes only from the index - --stdin read file names from stdin - -z terminate input and output records by a NUL character - -error: No attribute specified -usage: git check-attr [-a | --all | ...] [--] ... - or: git check-attr --stdin [-z] [-a | --all | ...] - - -a, --all report all attributes set on file - --cached use .gitattributes only from the index - --stdin read file names from stdin - -z terminate input and output records by a NUL character - -error: No file specified -usage: git check-attr [-a | --all | ...] [--] ... - or: git check-attr --stdin [-z] [-a | --all | ...] - - -a, --all report all attributes set on file - --cached use .gitattributes only from the index - --stdin read file names from stdin - -z terminate input and output records by a NUL character - -error: No file specified -usage: git check-attr [-a | --all | ...] [--] ... - or: git check-attr --stdin [-z] [-a | --all | ...] - - -a, --all report all attributes set on file - --cached use .gitattributes only from the index - --stdin read file names from stdin - -z terminate input and output records by a NUL character - -error: No attribute specified -usage: git check-attr [-a | --all | ...] [--] ... - or: git check-attr --stdin [-z] [-a | --all | ...] - - -a, --all report all attributes set on file - --cached use .gitattributes only from the index - --stdin read file names from stdin - -z terminate input and output records by a NUL character - -error: No attribute specified -usage: git check-attr [-a | --all | ...] [--] ... - or: git check-attr --stdin [-z] [-a | --all | ...] +error: No attribute specified +usage: git check-attr [-a | --all | ...] [--] ... + or: git check-attr --stdin [-z] [-a | --all | ...] -a, --all report all attributes set on file --cached use .gitattributes only from the index @@ -9033,30 +7853,12 @@ 1..30 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0041-usage.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0041-usage/.git/ -expecting success of 0041.1 'setup ': - test_commit "v1.0" - -[master (root-commit) 843b676] v1.0 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 v1.0.t -ok 1 - setup - -expecting success of 0041.2 'tag --contains ': - git tag --contains "v1.0" >actual 2>actual.err && - grep "v1.0" actual && - test_line_count = 0 actual.err - -v1.0 -ok 2 - tag --contains - -expecting success of 0041.3 'tag --contains ': - test_must_fail git tag --contains "notag" >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "error" actual.err && - test_i18ngrep ! "usage" actual.err +*** t0013-sha1dc.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0013-sha1dc/.git/ +expecting success of 0013.1 'test-sha1 detects shattered pdf': + test_must_fail test-tool sha1 <"$TEST_DATA/shattered-1.pdf" 2>err && + test_i18ngrep collision err && + grep 38762cf7f55934b34d179ae6a4c80cadccbb7f0a err checking prerequisite: C_LOCALE_OUTPUT @@ -9067,315 +7869,12 @@ ) prerequisite C_LOCALE_OUTPUT ok -error: malformed object name notag -ok 3 - tag --contains - -expecting success of 0041.4 'tag --no-contains ': - git tag --no-contains "v1.0" >actual 2>actual.err && - test_line_count = 0 actual && - test_line_count = 0 actual.err - -ok 4 - tag --no-contains - -expecting success of 0041.5 'tag --no-contains ': - test_must_fail git tag --no-contains "notag" >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "error" actual.err && - test_i18ngrep ! "usage" actual.err - -error: malformed object name notag -ok 5 - tag --no-contains - -expecting success of 0041.6 'tag usage error': - test_must_fail git tag --noopt >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "usage" actual.err - -usage: git tag [-a | -s | -u ] [-f] [-m | -F ] -ok 6 - tag usage error - -expecting success of 0041.7 'branch --contains ': - git branch --contains "master" >actual 2>actual.err && - test_i18ngrep "master" actual && - test_line_count = 0 actual.err - -* master -ok 7 - branch --contains - -expecting success of 0041.8 'branch --contains ': - test_must_fail git branch --no-contains "nocommit" >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "error" actual.err && - test_i18ngrep ! "usage" actual.err - -error: malformed object name nocommit -ok 8 - branch --contains - -expecting success of 0041.9 'branch --no-contains ': - git branch --no-contains "master" >actual 2>actual.err && - test_line_count = 0 actual && - test_line_count = 0 actual.err - -ok 9 - branch --no-contains - -expecting success of 0041.10 'branch --no-contains ': - test_must_fail git branch --no-contains "nocommit" >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "error" actual.err && - test_i18ngrep ! "usage" actual.err - -error: malformed object name nocommit -ok 10 - branch --no-contains - -expecting success of 0041.11 'branch usage error': - test_must_fail git branch --noopt >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "usage" actual.err - -usage: git branch [] [-r | -a] [--merged] [--no-merged] -ok 11 - branch usage error - -expecting success of 0041.12 'for-each-ref --contains ': - git for-each-ref --contains "master" >actual 2>actual.err && - test_line_count = 2 actual && - test_line_count = 0 actual.err - -ok 12 - for-each-ref --contains - -expecting success of 0041.13 'for-each-ref --contains ': - test_must_fail git for-each-ref --no-contains "noobject" >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "error" actual.err && - test_i18ngrep ! "usage" actual.err - -error: malformed object name noobject -ok 13 - for-each-ref --contains - -expecting success of 0041.14 'for-each-ref --no-contains ': - git for-each-ref --no-contains "master" >actual 2>actual.err && - test_line_count = 0 actual && - test_line_count = 0 actual.err - -ok 14 - for-each-ref --no-contains - -expecting success of 0041.15 'for-each-ref --no-contains ': - test_must_fail git for-each-ref --no-contains "noobject" >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "error" actual.err && - test_i18ngrep ! "usage" actual.err - -error: malformed object name noobject -ok 15 - for-each-ref --no-contains - -expecting success of 0041.16 'for-each-ref usage error': - test_must_fail git for-each-ref --noopt >actual 2>actual.err && - test_line_count = 0 actual && - test_i18ngrep "usage" actual.err - -usage: git for-each-ref [] [] -ok 16 - for-each-ref usage error - -# passed all 16 test(s) -1..16 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0055-beyond-symlinks.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0055-beyond-symlinks/.git/ -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -expecting success of 0055.1 'setup': - >a && - mkdir b && - ln -s b c && - >c/d && - git update-index --add a b/d - -ok 1 - setup - -expecting success of 0055.2 'update-index --add beyond symlinks': - test_must_fail git update-index --add c/d && - ! ( git ls-files | grep c/d ) - -error: 'c/d' is beyond a symbolic link -fatal: Unable to process path c/d -ok 2 - update-index --add beyond symlinks - -expecting success of 0055.3 'add beyond symlinks': - test_must_fail git add c/d && - ! ( git ls-files | grep c/d ) - -fatal: pathspec 'c/d' is beyond a symbolic link -ok 3 - add beyond symlinks - -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0050-filesystem.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0050-filesystem/.git/ -checking prerequisite: CASE_INSENSITIVE_FS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && - echo good >CamelCase && - echo bad >camelcase && - test "$(cat CamelCase)" != good - -) -prerequisite CASE_INSENSITIVE_FS not satisfied -checking prerequisite: UTF8_NFD_TO_NFC - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && - # check whether FS converts nfd unicode to nfc - auml=$(printf "\303\244") - aumlcdiar=$(printf "\141\314\210") - >"$auml" && - test -f "$aumlcdiar" - -) -prerequisite UTF8_NFD_TO_NFC not satisfied -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -expecting success of 0050.1 'detection of case insensitive filesystem during repo init': - { - test_must_fail git config --bool core.ignorecase >/dev/null || - test $(git config --bool core.ignorecase) = false - } - -ok 1 - detection of case insensitive filesystem during repo init - -expecting success of 0050.2 'detection of filesystem w/o symlink support during repo init': - { - test_must_fail git config --bool core.symlinks || - test "$(git config --bool core.symlinks)" = true - } - -ok 2 - detection of filesystem w/o symlink support during repo init - -expecting success of 0050.3 'setup case tests': - git config core.ignorecase true && - touch camelcase && - git add camelcase && - git commit -m "initial" && - git tag initial && - git checkout -b topic && - git mv camelcase tmp && - git mv tmp CamelCase && - git commit -m "rename" && - git checkout -f master - -[master (root-commit) 4f2cf87] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 camelcase -Switched to a new branch 'topic' -[topic 0a6fec9] rename - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - rename camelcase => CamelCase (100%) -Switched to branch 'master' -ok 3 - setup case tests - -expecting success of 0050.4 'rename (case change)': - git mv camelcase CamelCase && - git commit -m "rename" - -[master 0a6fec9] rename - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - rename camelcase => CamelCase (100%) -ok 4 - rename (case change) - -expecting success of 0050.5 'merge (case change)': - rm -f CamelCase && - rm -f camelcase && - git reset --hard initial && - git merge topic - -HEAD is now at 4f2cf87 initial -Updating 4f2cf87..0a6fec9 -Fast-forward - camelcase => CamelCase | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - rename camelcase => CamelCase (100%) -ok 5 - merge (case change) - -ok 6 # skip add directory (with different case) (missing CASE_INSENSITIVE_FS) - -ok 7 # skip add (with different case) (missing CASE_INSENSITIVE_FS) - -expecting success of 0050.8 'setup unicode normalization tests': - test_create_repo unicode && - cd unicode && - git config core.precomposeunicode false && - touch "$aumlcdiar" && - git add "$aumlcdiar" && - git commit -m initial && - git tag initial && - git checkout -b topic && - git mv $aumlcdiar tmp && - git mv tmp "$auml" && - git commit -m rename && - git checkout -f master - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0050-filesystem/unicode/.git/ -[master (root-commit) 34f0acb] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 "a\314\210" -Switched to a new branch 'topic' -[topic 591d19c] rename - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - rename "a\314\210" => "\303\244" (100%) -Switched to branch 'master' -ok 8 - setup unicode normalization tests - -expecting success of 0050.9 'rename (silent unicode normalization)': - git mv "$aumlcdiar" "$auml" && - git commit -m rename - -[master 591d19c] rename - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - rename "a\314\210" => "\303\244" (100%) -ok 9 - rename (silent unicode normalization) - -expecting success of 0050.10 'merge (silent unicode normalization)': - git reset --hard initial && - git merge topic - -HEAD is now at 34f0acb initial -Updating 34f0acb..591d19c -Fast-forward - "a\314\210" => "\303\244" | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - rename "a\314\210" => "\303\244" (100%) -ok 10 - merge (silent unicode normalization) - -ok 11 # skip checkout with no pathspec and a case insensitive fs (missing CASE_INSENSITIVE_FS) +fatal: SHA-1 appears to be part of a collision attack: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a +fatal: SHA-1 appears to be part of a collision attack: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a +ok 1 - test-sha1 detects shattered pdf -# passed all 11 test(s) -1..11 +# passed all 1 test(s) +1..1 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' *** t0006-date.sh *** @@ -9915,260 +8414,14 @@ 1..83 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0062-revision-walking.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0062-revision-walking/.git/ -expecting success of 0062.1 'setup': - echo a > a && - git add a && - git commit -m "add a" && - echo b > b && - git add b && - git commit -m "add b" - -[master (root-commit) 925677c] add a - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a -[master 4505e02] add b - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b -ok 1 - setup - -expecting success of 0062.2 'revision walking can be done twice': - test-tool revision-walking run-twice >run_twice_actual && - test_cmp run_twice_expected run_twice_actual - -ok 2 - revision walking can be done twice - -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0056-git-C.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/.git/ -expecting success of 0056.1 '"git -C " runs git from the directory ': - test_create_repo dir1 && - echo 1 >dir1/a.txt && - msg="initial in dir1" && - (cd dir1 && git add a.txt && git commit -m "$msg") && - echo "$msg" >expected && - git -C dir1 log --format=%s >actual && - test_cmp expected actual - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/dir1/.git/ -[master (root-commit) 4efbfb5] initial in dir1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a.txt -ok 1 - "git -C " runs git from the directory - -expecting success of 0056.2 '"git -C " with an empty is a no-op': - ( - mkdir -p dir1/subdir && - cd dir1/subdir && - git -C "" rev-parse --show-prefix >actual && - echo subdir/ >expect && - test_cmp expect actual - ) - -ok 2 - "git -C " with an empty is a no-op - -expecting success of 0056.3 'Multiple -C options: "-C dir1 -C dir2" is equivalent to "-C dir1/dir2"': - test_create_repo dir1/dir2 && - echo 1 >dir1/dir2/b.txt && - git -C dir1/dir2 add b.txt && - msg="initial in dir1/dir2" && - echo "$msg" >expected && - git -C dir1/dir2 commit -m "$msg" && - git -C dir1 -C dir2 log --format=%s >actual && - test_cmp expected actual - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/dir1/dir2/.git/ -[master (root-commit) ea3acc3] initial in dir1/dir2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b.txt -ok 3 - Multiple -C options: "-C dir1 -C dir2" is equivalent to "-C dir1/dir2" - -expecting success of 0056.4 'Effect on --git-dir option: "-C c --git-dir=a.git" is equivalent to "--git-dir c/a.git"': - mkdir c && - mkdir c/a && - mkdir c/a.git && - (cd c/a.git && git init --bare) && - echo 1 >c/a/a.txt && - git --git-dir c/a.git --work-tree=c/a add a.txt && - git --git-dir c/a.git --work-tree=c/a commit -m "initial" && - git --git-dir=c/a.git log -1 --format=%s >expected && - git -C c --git-dir=a.git log -1 --format=%s >actual && - test_cmp expected actual - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/c/a.git/ -[master (root-commit) cac529a] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a.txt -ok 4 - Effect on --git-dir option: "-C c --git-dir=a.git" is equivalent to "--git-dir c/a.git" - -expecting success of 0056.5 'Order should not matter: "--git-dir=a.git -C c" is equivalent to "-C c --git-dir=a.git"': - git -C c --git-dir=a.git log -1 --format=%s >expected && - git --git-dir=a.git -C c log -1 --format=%s >actual && - test_cmp expected actual - -ok 5 - Order should not matter: "--git-dir=a.git -C c" is equivalent to "-C c --git-dir=a.git" - -expecting success of 0056.6 'Effect on --work-tree option: "-C c/a.git --work-tree=../a" is equivalent to "--work-tree=c/a --git-dir=c/a.git"': - rm c/a/a.txt && - git --git-dir=c/a.git --work-tree=c/a status >expected && - git -C c/a.git --work-tree=../a status >actual && - test_cmp expected actual - -ok 6 - Effect on --work-tree option: "-C c/a.git --work-tree=../a" is equivalent to "--work-tree=c/a --git-dir=c/a.git" - -expecting success of 0056.7 'Order should not matter: "--work-tree=../a -C c/a.git" is equivalent to "-C c/a.git --work-tree=../a"': - git -C c/a.git --work-tree=../a status >expected && - git --work-tree=../a -C c/a.git status >actual && - test_cmp expected actual - -ok 7 - Order should not matter: "--work-tree=../a -C c/a.git" is equivalent to "-C c/a.git --work-tree=../a" - -expecting success of 0056.8 'Effect on --git-dir and --work-tree options - "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=c/a.git --work-tree=c/a"': - git --git-dir=c/a.git --work-tree=c/a status >expected && - git -C c --git-dir=a.git --work-tree=a status >actual && - test_cmp expected actual - -ok 8 - Effect on --git-dir and --work-tree options - "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=c/a.git --work-tree=c/a" - -expecting success of 0056.9 'Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git -C c --work-tree=a"': - git -C c --git-dir=a.git --work-tree=a status >expected && - git --git-dir=a.git -C c --work-tree=a status >actual && - test_cmp expected actual - -ok 9 - Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git -C c --work-tree=a" - -expecting success of 0056.10 'Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git --work-tree=a -C c"': - git -C c --git-dir=a.git --work-tree=a status >expected && - git --git-dir=a.git --work-tree=a -C c status >actual && - test_cmp expected actual - -ok 10 - Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git --work-tree=a -C c" - -expecting success of 0056.11 'Relative followed by fullpath: "-C ./here -C /there" is equivalent to "-C /there"': - echo "initial in dir1/dir2" >expected && - git -C dir1 -C "$(pwd)/dir1/dir2" log --format=%s >actual && - test_cmp expected actual - -ok 11 - Relative followed by fullpath: "-C ./here -C /there" is equivalent to "-C /there" - -# passed all 11 test(s) -1..11 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0020-crlf.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0020-crlf/.git/ -expecting success of 0020.1 'setup': - - git config core.autocrlf false && - - for w in Hello world how are you; do echo $w; done >one && - mkdir dir && - for w in I am very very fine thank you; do echo $w; done >dir/two && - for w in Oh here is NULQin text here; do echo $w; done | q_to_nul >three && - git add . && - - git commit -m initial && - - one=$(git rev-parse HEAD:one) && - dir=$(git rev-parse HEAD:dir) && - two=$(git rev-parse HEAD:dir/two) && - three=$(git rev-parse HEAD:three) && - - for w in Some extra lines here; do echo $w; done >>one && - git diff >patch.file && - patched=$(git hash-object --stdin - 3 files changed, 12 insertions(+) - create mode 100644 dir/two - create mode 100644 one - create mode 100644 three -ok 1 - setup - -expecting success of 0020.2 'safecrlf: autocrlf=input, all CRLF': - - git config core.autocrlf input && - git config core.safecrlf true && - - for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && - test_must_fail git add allcrlf - -fatal: CRLF would be replaced by LF in allcrlf -ok 2 - safecrlf: autocrlf=input, all CRLF - -expecting success of 0020.3 'safecrlf: autocrlf=input, mixed LF/CRLF': - - git config core.autocrlf input && - git config core.safecrlf true && - - for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && - test_must_fail git add mixed - -fatal: CRLF would be replaced by LF in mixed -ok 3 - safecrlf: autocrlf=input, mixed LF/CRLF - -expecting success of 0020.4 'safecrlf: autocrlf=true, all LF': - - git config core.autocrlf true && - git config core.safecrlf true && - - for w in I am all LF; do echo $w; done >alllf && - test_must_fail git add alllf - -fatal: LF would be replaced by CRLF in alllf -ok 4 - safecrlf: autocrlf=true, all LF - -expecting success of 0020.5 'safecrlf: autocrlf=true mixed LF/CRLF': - - git config core.autocrlf true && - git config core.safecrlf true && - - for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && - test_must_fail git add mixed - -fatal: LF would be replaced by CRLF in mixed -ok 5 - safecrlf: autocrlf=true mixed LF/CRLF - -expecting success of 0020.6 'safecrlf: print warning only once': - - git config core.autocrlf input && - git config core.safecrlf warn && - - for w in I am all LF; do echo $w; done >doublewarn && - git add doublewarn && - git commit -m "nowarn" && - for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >doublewarn && - git add doublewarn 2>err && - if test_have_prereq C_LOCALE_OUTPUT - then - test $(grep "CRLF will be replaced by LF" err | wc -l) = 1 - fi +*** t0014-alias.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0014-alias/.git/ +expecting success of 0014.1 'nested aliases - internal execution': + git config alias.nested-internal-1 nested-internal-2 && + git config alias.nested-internal-2 status && + git nested-internal-1 >output && + test_i18ngrep "^On branch " output -[master 4d5dbcd] nowarn - Author: A U Thor - 1 file changed, 4 insertions(+) - create mode 100644 doublewarn checking prerequisite: C_LOCALE_OUTPUT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && @@ -10178,1605 +8431,41 @@ ) prerequisite C_LOCALE_OUTPUT ok -ok 6 - safecrlf: print warning only once - -expecting success of 0020.7 'safecrlf: git diff demotes safecrlf=true to warn': - git config core.autocrlf input && - git config core.safecrlf true && - git diff HEAD - -diff --git a/doublewarn b/doublewarn -index 03ba6c2..1ed2a2c 100644 ---- a/doublewarn -+++ b/doublewarn -@@ -1,4 +1,6 @@ --I --am --all --LF -+Oh -+here -+is -+CRLF -+in -+text -ok 7 - safecrlf: git diff demotes safecrlf=true to warn - -expecting success of 0020.8 'safecrlf: no warning with safecrlf=false': - git config core.autocrlf input && - git config core.safecrlf false && - - for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && - git add allcrlf 2>err && - test_must_be_empty err - -ok 8 - safecrlf: no warning with safecrlf=false - -expecting success of 0020.9 'switch off autocrlf, safecrlf, reset HEAD': - git config core.autocrlf false && - git config core.safecrlf false && - git reset --hard HEAD^ - -HEAD is now at 69d7d88 initial -ok 9 - switch off autocrlf, safecrlf, reset HEAD - -expecting success of 0020.10 'update with autocrlf=input': - - rm -f tmp one dir/two three && - git read-tree --reset -u HEAD && - git config core.autocrlf input && - munge_cr append one && - munge_cr append dir/two && - git update-index -- one dir/two && - differs=$(git diff-index --cached HEAD) && - verbose test -z "$differs" - - -ok 10 - update with autocrlf=input - -expecting success of 0020.11 'update with autocrlf=true': - - rm -f tmp one dir/two three && - git read-tree --reset -u HEAD && - git config core.autocrlf true && - munge_cr append one && - munge_cr append dir/two && - git update-index -- one dir/two && - differs=$(git diff-index --cached HEAD) && - verbose test -z "$differs" - - -ok 11 - update with autocrlf=true - -expecting success of 0020.12 'checkout with autocrlf=true': - - rm -f tmp one dir/two three && - git config core.autocrlf true && - git read-tree --reset -u HEAD && - munge_cr remove one && - munge_cr remove dir/two && - git update-index -- one dir/two && - test "$one" = $(git hash-object --stdin .gitattributes && - git config core.autocrlf true && - git read-tree --reset -u HEAD && - - ! has_cr dir/two && - verbose has_cr one && - ! has_cr three - -ok 20 - .gitattributes says two is binary - -expecting success of 0020.21 '.gitattributes says two is input': - - rm -f tmp one dir/two three && - echo "two crlf=input" >.gitattributes && - git read-tree --reset -u HEAD && - - ! has_cr dir/two - -ok 21 - .gitattributes says two is input - -expecting success of 0020.22 '.gitattributes says two and three are text': - - rm -f tmp one dir/two three && - echo "t* crlf" >.gitattributes && - git read-tree --reset -u HEAD && - - verbose has_cr dir/two && - verbose has_cr three - -ok 22 - .gitattributes says two and three are text - -expecting success of 0020.23 'in-tree .gitattributes (1)': - - echo "one -crlf" >>.gitattributes && - git add .gitattributes && - git commit -m "Add .gitattributes" && - - rm -rf tmp one dir .gitattributes patch.file three && - git read-tree --reset -u HEAD && - - ! has_cr one && - verbose has_cr three - -[master 31eb750] Add .gitattributes - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 .gitattributes -ok 23 - in-tree .gitattributes (1) - -expecting success of 0020.24 'in-tree .gitattributes (2)': - - rm -rf tmp one dir .gitattributes patch.file three && - git read-tree --reset HEAD && - git checkout-index -f -q -u -a && - - ! has_cr one && - verbose has_cr three - -ok 24 - in-tree .gitattributes (2) - -expecting success of 0020.25 'in-tree .gitattributes (3)': - - rm -rf tmp one dir .gitattributes patch.file three && - git read-tree --reset HEAD && - git checkout-index -u .gitattributes && - git checkout-index -u one dir/two three && - - ! has_cr one && - verbose has_cr three - -ok 25 - in-tree .gitattributes (3) - -expecting success of 0020.26 'in-tree .gitattributes (4)': - - rm -rf tmp one dir .gitattributes patch.file three && - git read-tree --reset HEAD && - git checkout-index -u one dir/two three && - git checkout-index -u .gitattributes && - - ! has_cr one && - verbose has_cr three - -ok 26 - in-tree .gitattributes (4) - -expecting success of 0020.27 'checkout with existing .gitattributes': - - git config core.autocrlf true && - git config --unset core.safecrlf && - echo ".file2 -crlfQ" | q_to_cr >> .gitattributes && - git add .gitattributes && - git commit -m initial && - echo ".file -crlfQ" | q_to_cr >> .gitattributes && - echo "contents" > .file && - git add .gitattributes .file && - git commit -m second && - - git checkout master~1 && - git checkout master && - test "$(git diff-files --raw)" = "" - - -[master 6d0586a] initial - Author: A U Thor - 1 file changed, 1 insertion(+) -[master f2c783e] second - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 .file -Note: switching to 'master~1'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false - -HEAD is now at 6d0586a initial -Previous HEAD position was 6d0586a initial -Switched to branch 'master' -ok 27 - checkout with existing .gitattributes - -expecting success of 0020.28 'checkout when deleting .gitattributes': - - git rm .gitattributes && - echo "contentsQ" | q_to_cr > .file2 && - git add .file2 && - git commit -m third && - - git checkout master~1 && - git checkout master && - has_cr .file2 - - -rm '.gitattributes' -[master edaea69] third - Author: A U Thor - 2 files changed, 1 insertion(+), 4 deletions(-) - create mode 100644 .file2 - delete mode 100644 .gitattributes -Note: switching to 'master~1'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false - -HEAD is now at f2c783e second -M three -Previous HEAD position was f2c783e second -Switched to branch 'master' -ok 28 - checkout when deleting .gitattributes - -expecting success of 0020.29 'invalid .gitattributes (must not crash)': - - echo "three +crlf" >>.gitattributes && - git diff - - -+crlf is not a valid attribute name: .gitattributes:1 -+crlf is not a valid attribute name: .gitattributes:1 -diff --git a/three b/three -index 98efc5e..c5c386a 100644 -Binary files a/three and b/three differ -ok 29 - invalid .gitattributes (must not crash) - -expecting success of 0020.30 'setting up for new autocrlf tests': - git config core.autocrlf false && - git config core.safecrlf false && - rm -rf .????* * && - for w in I am all LF; do echo $w; done >alllf && - for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && - for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && - git add -A . && - git commit -m "alllf, allcrlf and mixed only" && - git tag -a -m "message" autocrlf-checkpoint - -[master 021c55b] alllf, allcrlf and mixed only - Author: A U Thor - 7 files changed, 8 insertions(+), 14 deletions(-) - delete mode 100644 .file - delete mode 100644 .file2 - create mode 100644 allcrlf - create mode 100644 alllf - delete mode 100644 dir/two - rename three => mixed (57%) - delete mode 100644 one -ok 30 - setting up for new autocrlf tests - -expecting success of 0020.31 'report no change after setting autocrlf': - git config core.autocrlf true && - touch * && - git diff --exit-code - -ok 31 - report no change after setting autocrlf - -expecting success of 0020.32 'files are clean after checkout': - rm * && - git checkout -f && - git diff --exit-code - -ok 32 - files are clean after checkout - -expecting success of 0020.33 'LF only file gets CRLF with autocrlf': - test "$(cr_to_Q_no_NL < alllf)" = "IQamQallQLFQ" - -ok 33 - LF only file gets CRLF with autocrlf - -expecting success of 0020.34 'Mixed file is still mixed with autocrlf': - test "$(cr_to_Q_no_NL < mixed)" = "OhhereisCRLFQintext" - -ok 34 - Mixed file is still mixed with autocrlf - -expecting success of 0020.35 'CRLF only file has CRLF with autocrlf': - test "$(cr_to_Q_no_NL < allcrlf)" = "IQamQallQCRLFQ" - -ok 35 - CRLF only file has CRLF with autocrlf - -expecting success of 0020.36 'New CRLF file gets LF in repo': - tr -d "\015" < alllf | append_cr > alllf2 && - git add alllf2 && - git commit -m "alllf2 added" && - git config core.autocrlf false && - rm * && - git checkout -f && - test_cmp alllf alllf2 - -[master 6ebdedc] alllf2 added - Author: A U Thor - 1 file changed, 4 insertions(+) - create mode 100644 alllf2 -ok 36 - New CRLF file gets LF in repo - -# passed all 36 test(s) -1..36 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0030-stripspace.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0030-stripspace/.git/ -expecting success of 0030.1 'long lines without spaces should be unchanged': - echo "$ttt" >expect && - git stripspace actual && - test_cmp expect actual && - - echo "$ttt$ttt" >expect && - git stripspace actual && - test_cmp expect actual && - - echo "$ttt$ttt$ttt" >expect && - git stripspace actual && - test_cmp expect actual && - - echo "$ttt$ttt$ttt$ttt" >expect && - git stripspace actual && - test_cmp expect actual - -ok 1 - long lines without spaces should be unchanged - -expecting success of 0030.2 'lines with spaces at the beginning should be unchanged': - echo "$sss$ttt" >expect && - git stripspace actual && - test_cmp expect actual && - - echo "$sss$sss$ttt" >expect && - git stripspace actual && - test_cmp expect actual && - - echo "$sss$sss$sss$ttt" >expect && - git stripspace actual && - test_cmp expect actual - -ok 2 - lines with spaces at the beginning should be unchanged - -expecting success of 0030.3 'lines with intermediate spaces should be unchanged': - echo "$ttt$sss$ttt" >expect && - git stripspace actual && - test_cmp expect actual && - - echo "$ttt$sss$sss$ttt" >expect && - git stripspace actual && - test_cmp expect actual - -ok 3 - lines with intermediate spaces should be unchanged - -expecting success of 0030.4 'consecutive blank lines should be unified': - printf "$ttt\n\n$ttt\n" > expect && - printf "$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt\n\n$ttt\n" > expect && - printf "$ttt$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt\n\n$ttt\n" > expect && - printf "$ttt$ttt$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt\n" > expect && - printf "$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt$ttt\n" > expect && - printf "$ttt\n\n\n\n\n$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt$ttt$ttt\n" > expect && - printf "$ttt\n\n\n\n\n$ttt$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt\n" > expect && - printf "$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt\n\n$ttt\n" > expect && - printf "$ttt$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt\n\n$ttt\n" > expect && - printf "$ttt$ttt$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt\n" > expect && - printf "$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt$ttt\n" > expect && - printf "$ttt\n\t\n \n\n \t\t\n$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$ttt$ttt$ttt\n" > expect && - printf "$ttt\n\t\n \n\n \t\t\n$ttt$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual - -ok 4 - consecutive blank lines should be unified - -expecting success of 0030.5 'only consecutive blank lines should be completely removed': - - printf "\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "\n\n\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "$sss\n$sss\n$sss\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "$sss$sss\n$sss\n\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "\n$sss\n$sss$sss\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "$sss$sss$sss$sss\n\n\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "\n$sss$sss$sss$sss\n\n" | git stripspace >actual && - test_must_be_empty actual && - - printf "\n\n$sss$sss$sss$sss\n" | git stripspace >actual && - test_must_be_empty actual - -ok 5 - only consecutive blank lines should be completely removed - -expecting success of 0030.6 'consecutive blank lines at the beginning should be removed': - printf "$ttt\n" > expect && - printf "\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n" > expect && - printf "\n\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt\n" > expect && - printf "\n\n\n$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt\n" > expect && - printf "\n\n\n$ttt$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt$ttt\n" > expect && - printf "\n\n\n$ttt$ttt$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n" > expect && - - printf "$sss\n$sss\n$sss\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "\n$sss\n$sss$sss\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$sss$sss\n$sss\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$sss$sss$sss\n\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "\n$sss$sss$sss\n\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && - - printf "\n\n$sss$sss$sss\n$ttt\n" | git stripspace >actual && - test_cmp expect actual - -ok 6 - consecutive blank lines at the beginning should be removed - -expecting success of 0030.7 'consecutive blank lines at the end should be removed': - printf "$ttt\n" > expect && - printf "$ttt\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n" > expect && - printf "$ttt\n\n\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt\n" > expect && - printf "$ttt$ttt\n\n\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt\n" > expect && - printf "$ttt$ttt$ttt\n\n\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt$ttt\n" > expect && - printf "$ttt$ttt$ttt$ttt\n\n\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n" > expect && - - printf "$ttt\n$sss\n$sss\n$sss\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$sss\n$sss$sss\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n$sss$sss\n$sss\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n$sss$sss$sss\n\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n$sss$sss$sss\n\n" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n\n\n$sss$sss$sss\n" | git stripspace >actual && - test_cmp expect actual - -ok 7 - consecutive blank lines at the end should be removed - -expecting success of 0030.8 'text without newline at end should end with newline': - test $(printf "$ttt" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$ttt" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$ttt$ttt" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$ttt$ttt$ttt" | git stripspace | wc -l) -gt 0 - -ok 8 - text without newline at end should end with newline - -expecting success of 0030.9 'text plus spaces without newline at end should end with newline': - test $(printf "$ttt$sss" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$ttt$sss" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$ttt$ttt$sss" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$sss$sss" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$ttt$sss$sss" | git stripspace | wc -l) -gt 0 && - test $(printf "$ttt$sss$sss$sss" | git stripspace | wc -l) -gt 0 - -ok 9 - text plus spaces without newline at end should end with newline - -expecting success of 0030.10 'text plus spaces without newline at end should not show spaces': - ! (printf "$ttt$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) - -ok 10 - text plus spaces without newline at end should not show spaces - -expecting success of 0030.11 'text plus spaces without newline should show the correct lines': - printf "$ttt\n" >expect && - printf "$ttt$sss" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n" >expect && - printf "$ttt$sss$sss" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt\n" >expect && - printf "$ttt$sss$sss$sss" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt\n" >expect && - printf "$ttt$ttt$sss" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt\n" >expect && - printf "$ttt$ttt$sss$sss" | git stripspace >actual && - test_cmp expect actual && - - printf "$ttt$ttt$ttt\n" >expect && - printf "$ttt$ttt$ttt$sss" | git stripspace >actual && - test_cmp expect actual - -ok 11 - text plus spaces without newline should show the correct lines - -expecting success of 0030.12 'text plus spaces at end should not show spaces': - ! (echo "$ttt$sss" | git stripspace | grep " " >/dev/null) && - ! (echo "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && - ! (echo "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && - ! (echo "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && - ! (echo "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && - ! (echo "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) - -ok 12 - text plus spaces at end should not show spaces - -expecting success of 0030.13 'text plus spaces at end should be cleaned and newline must remain': - echo "$ttt" >expect && - echo "$ttt$sss" | git stripspace >actual && - test_cmp expect actual && - - echo "$ttt" >expect && - echo "$ttt$sss$sss" | git stripspace >actual && - test_cmp expect actual && - - echo "$ttt" >expect && - echo "$ttt$sss$sss$sss" | git stripspace >actual && - test_cmp expect actual && - - echo "$ttt$ttt" >expect && - echo "$ttt$ttt$sss" | git stripspace >actual && - test_cmp expect actual && - - echo "$ttt$ttt" >expect && - echo "$ttt$ttt$sss$sss" | git stripspace >actual && - test_cmp expect actual && - - echo "$ttt$ttt$ttt" >expect && - echo "$ttt$ttt$ttt$sss" | git stripspace >actual && - test_cmp expect actual - -ok 13 - text plus spaces at end should be cleaned and newline must remain - -expecting success of 0030.14 'spaces with newline at end should be replaced with empty string': - echo | git stripspace >actual && - test_must_be_empty actual && - - echo "$sss" | git stripspace >actual && - test_must_be_empty actual && - - echo "$sss$sss" | git stripspace >actual && - test_must_be_empty actual && - - echo "$sss$sss$sss" | git stripspace >actual && - test_must_be_empty actual && - - echo "$sss$sss$sss$sss" | git stripspace >actual && - test_must_be_empty actual - -ok 14 - spaces with newline at end should be replaced with empty string - -expecting success of 0030.15 'spaces without newline at end should not show spaces': - ! (printf "" | git stripspace | grep " " >/dev/null) && - ! (printf "$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$sss$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$sss$sss$sss" | git stripspace | grep " " >/dev/null) && - ! (printf "$sss$sss$sss$sss" | git stripspace | grep " " >/dev/null) - -ok 15 - spaces without newline at end should not show spaces - -expecting success of 0030.16 'spaces without newline at end should be replaced with empty string': - printf "" | git stripspace >actual && - test_must_be_empty actual && - - printf "$sss$sss" | git stripspace >actual && - test_must_be_empty actual && - - printf "$sss$sss$sss" | git stripspace >actual && - test_must_be_empty actual && - - printf "$sss$sss$sss$sss" | git stripspace >actual && - test_must_be_empty actual - -ok 16 - spaces without newline at end should be replaced with empty string - -expecting success of 0030.17 'consecutive text lines should be unchanged': - printf "$ttt$ttt\n$ttt\n" >expect && - printf "$ttt$ttt\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && +On branch master +ok 1 - nested aliases - internal execution - printf "$ttt\n$ttt$ttt\n$ttt\n" >expect && - printf "$ttt\n$ttt$ttt\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && +expecting success of 0014.2 'nested aliases - mixed execution': + git config alias.nested-external-1 nested-external-2 && + git config alias.nested-external-2 "!git nested-external-3" && + git config alias.nested-external-3 status && + git nested-external-1 >output && + test_i18ngrep "^On branch " output - printf "$ttt\n$ttt\n$ttt\n$ttt$ttt\n" >expect && - printf "$ttt\n$ttt\n$ttt\n$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && +On branch master +ok 2 - nested aliases - mixed execution - printf "$ttt\n$ttt\n\n$ttt$ttt\n$ttt\n" >expect && - printf "$ttt\n$ttt\n\n$ttt$ttt\n$ttt\n" | git stripspace >actual && - test_cmp expect actual && +expecting success of 0014.3 'looping aliases - internal execution': + git config alias.loop-internal-1 loop-internal-2 && + git config alias.loop-internal-2 loop-internal-3 && + git config alias.loop-internal-3 loop-internal-2 && + test_must_fail git loop-internal-1 2>output && + test_i18ngrep "^fatal: alias loop detected: expansion of" output - printf "$ttt$ttt\n\n$ttt\n$ttt$ttt\n" >expect && - printf "$ttt$ttt\n\n$ttt\n$ttt$ttt\n" | git stripspace >actual && - test_cmp expect actual && +fatal: alias loop detected: expansion of 'loop-internal-1' does not terminate: +ok 3 - looping aliases - internal execution - printf "$ttt\n$ttt$ttt\n\n$ttt\n" >expect && - printf "$ttt\n$ttt$ttt\n\n$ttt\n" | git stripspace >actual && +expecting success of 0014.4 'run-command formats empty args properly': + test_must_fail env GIT_TRACE=1 git frotz a "" b " " c 2>actual.raw && + sed -ne "/run_command:/s/.*trace: run_command: //p" actual.raw >actual && + echo "git-frotz a '' b ' ' c" >expect && test_cmp expect actual -ok 17 - consecutive text lines should be unchanged - -expecting success of 0030.18 'strip comments, too': - test ! -z "$(echo "# comment" | git stripspace)" && - test -z "$(echo "# comment" | git stripspace -s)" - -ok 18 - strip comments, too - -expecting success of 0030.19 'strip comments with changed comment char': - test ! -z "$(echo "; comment" | git -c core.commentchar=";" stripspace)" && - test -z "$(echo "; comment" | git -c core.commentchar=";" stripspace -s)" - -ok 19 - strip comments with changed comment char - -expecting success of 0030.20 '-c with single line': - printf "# foo\n" >expect && - printf "foo" | git stripspace -c >actual && - test_cmp expect actual - -ok 20 - -c with single line - -expecting success of 0030.21 '-c with single line followed by empty line': - printf "# foo\n#\n" >expect && - printf "foo\n\n" | git stripspace -c >actual && - test_cmp expect actual - -ok 21 - -c with single line followed by empty line - -expecting success of 0030.22 '-c with newline only': - printf "#\n" >expect && - printf "\n" | git stripspace -c >actual && - test_cmp expect actual - -ok 22 - -c with newline only - -expecting success of 0030.23 '--comment-lines with single line': - printf "# foo\n" >expect && - printf "foo" | git stripspace -c >actual && - test_cmp expect actual - -ok 23 - --comment-lines with single line - -expecting success of 0030.24 '-c with changed comment char': - printf "; foo\n" >expect && - printf "foo" | git -c core.commentchar=";" stripspace -c >actual && - test_cmp expect actual - -ok 24 - -c with changed comment char - -expecting success of 0030.25 '-c with comment char defined in .git/config': - test_config core.commentchar = && - printf "= foo\n" >expect && - rm -fr sub && - mkdir sub && - printf "foo" | git -C sub stripspace -c >actual && - test_cmp expect actual - -ok 25 - -c with comment char defined in .git/config - -expecting success of 0030.26 '-c outside git repository': - printf "# foo\n" >expect && - printf "foo" | nongit git stripspace -c >actual && - test_cmp expect actual - -ok 26 - -c outside git repository - -expecting success of 0030.27 'avoid SP-HT sequence in commented line': - printf "#\tone\n#\n# two\n" >expect && - printf "\tone\n\ntwo\n" | git stripspace -c >actual && - test_cmp expect actual - -ok 27 - avoid SP-HT sequence in commented line - -# passed all 27 test(s) -1..27 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0063-string-list.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0063-string-list/.git/ -expecting success of 0063.1 'split foo:bar:baz at :, max -1': - test-tool string-list split 'foo:bar:baz' ':' '-1' >actual && - test_cmp expected actual && - test-tool string-list split_in_place 'foo:bar:baz' ':' '-1' >actual && - test_cmp expected actual - -ok 1 - split foo:bar:baz at :, max -1 - -expecting success of 0063.2 'split foo:bar:baz at :, max 0': - test-tool string-list split 'foo:bar:baz' ':' '0' >actual && - test_cmp expected actual && - test-tool string-list split_in_place 'foo:bar:baz' ':' '0' >actual && - test_cmp expected actual - -ok 2 - split foo:bar:baz at :, max 0 - -expecting success of 0063.3 'split foo:bar:baz at :, max 1': - test-tool string-list split 'foo:bar:baz' ':' '1' >actual && - test_cmp expected actual && - test-tool string-list split_in_place 'foo:bar:baz' ':' '1' >actual && - test_cmp expected actual - -ok 3 - split foo:bar:baz at :, max 1 - -expecting success of 0063.4 'split foo:bar:baz at :, max 2': - test-tool string-list split 'foo:bar:baz' ':' '2' >actual && - test_cmp expected actual && - test-tool string-list split_in_place 'foo:bar:baz' ':' '2' >actual && - test_cmp expected actual - -ok 4 - split foo:bar:baz at :, max 2 - -expecting success of 0063.5 'split foo:bar: at :, max -1': - test-tool string-list split 'foo:bar:' ':' '-1' >actual && - test_cmp expected actual && - test-tool string-list split_in_place 'foo:bar:' ':' '-1' >actual && - test_cmp expected actual - -ok 5 - split foo:bar: at :, max -1 - -expecting success of 0063.6 'split at :, max -1': - test-tool string-list split '' ':' '-1' >actual && - test_cmp expected actual && - test-tool string-list split_in_place '' ':' '-1' >actual && - test_cmp expected actual - -ok 6 - split at :, max -1 - -expecting success of 0063.7 'split : at :, max -1': - test-tool string-list split ':' ':' '-1' >actual && - test_cmp expected actual && - test-tool string-list split_in_place ':' ':' '-1' >actual && - test_cmp expected actual - -ok 7 - split : at :, max -1 - -expecting success of 0063.8 'test filter_string_list': - test "x-" = "x$(test-tool string-list filter - y)" && - test "x-" = "x$(test-tool string-list filter no y)" && - test yes = "$(test-tool string-list filter yes y)" && - test yes = "$(test-tool string-list filter no:yes y)" && - test yes = "$(test-tool string-list filter yes:no y)" && - test y1:y2 = "$(test-tool string-list filter y1:y2 y)" && - test y2:y1 = "$(test-tool string-list filter y2:y1 y)" && - test "x-" = "x$(test-tool string-list filter x1:x2 y)" - -ok 8 - test filter_string_list - -expecting success of 0063.9 'test remove_duplicates': - test "x-" = "x$(test-tool string-list remove_duplicates -)" && - test "x" = "x$(test-tool string-list remove_duplicates "")" && - test a = "$(test-tool string-list remove_duplicates a)" && - test a = "$(test-tool string-list remove_duplicates a:a)" && - test a = "$(test-tool string-list remove_duplicates a:a:a:a:a)" && - test a:b = "$(test-tool string-list remove_duplicates a:b)" && - test a:b = "$(test-tool string-list remove_duplicates a:a:b)" && - test a:b = "$(test-tool string-list remove_duplicates a:b:b)" && - test a:b:c = "$(test-tool string-list remove_duplicates a:b:c)" && - test a:b:c = "$(test-tool string-list remove_duplicates a:a:b:c)" && - test a:b:c = "$(test-tool string-list remove_duplicates a:b:b:c)" && - test a:b:c = "$(test-tool string-list remove_duplicates a:b:c:c)" && - test a:b:c = "$(test-tool string-list remove_duplicates a:a:b:b:c:c)" && - test a:b:c = "$(test-tool string-list remove_duplicates a:a:a:b:b:b:c:c:c)" - -ok 9 - test remove_duplicates - -# passed all 9 test(s) -1..9 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0040-parse-options.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0040-parse-options/.git/ -expecting success of 0040.1 'test help': - test_must_fail test-tool parse-options -h >output 2>output.err && - test_must_be_empty output.err && - test_i18ncmp expect output - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -ok 1 - test help - -expecting success of 0040.2 'OPT_BOOL() #1': check boolean: 1 --yes -ok 2 - OPT_BOOL() #1 - -expecting success of 0040.3 'OPT_BOOL() #2': check boolean: 1 --no-doubt -ok 3 - OPT_BOOL() #2 - -expecting success of 0040.4 'OPT_BOOL() #3': check boolean: 1 -D -ok 4 - OPT_BOOL() #3 - -expecting success of 0040.5 'OPT_BOOL() #4': check boolean: 1 --no-fear -ok 5 - OPT_BOOL() #4 - -expecting success of 0040.6 'OPT_BOOL() #5': check boolean: 1 -B -ok 6 - OPT_BOOL() #5 - -expecting success of 0040.7 'OPT_BOOL() is idempotent #1': check boolean: 1 --yes --yes -ok 7 - OPT_BOOL() is idempotent #1 - -expecting success of 0040.8 'OPT_BOOL() is idempotent #2': check boolean: 1 -DB -ok 8 - OPT_BOOL() is idempotent #2 - -expecting success of 0040.9 'OPT_BOOL() negation #1': check boolean: 0 -D --no-yes -ok 9 - OPT_BOOL() negation #1 - -expecting success of 0040.10 'OPT_BOOL() negation #2': check boolean: 0 -D --no-no-doubt -ok 10 - OPT_BOOL() negation #2 - -expecting success of 0040.11 'OPT_BOOL() no negation #1': check_unknown_i18n --fear -ok 11 - OPT_BOOL() no negation #1 - -expecting success of 0040.12 'OPT_BOOL() no negation #2': check_unknown_i18n --no-no-fear -ok 12 - OPT_BOOL() no negation #2 - -expecting success of 0040.13 'OPT_BOOL() positivation': check boolean: 0 -D --doubt -ok 13 - OPT_BOOL() positivation - -expecting success of 0040.14 'OPT_INT() negative': check integer: -2345 -i -2345 -ok 14 - OPT_INT() negative - -expecting success of 0040.15 'OPT_MAGNITUDE() simple': - check magnitude: 2345678 -m 2345678 - -ok 15 - OPT_MAGNITUDE() simple - -expecting success of 0040.16 'OPT_MAGNITUDE() kilo': - check magnitude: 239616 -m 234k - -ok 16 - OPT_MAGNITUDE() kilo - -expecting success of 0040.17 'OPT_MAGNITUDE() mega': - check magnitude: 104857600 -m 100m - -ok 17 - OPT_MAGNITUDE() mega - -expecting success of 0040.18 'OPT_MAGNITUDE() giga': - check magnitude: 1073741824 -m 1g - -ok 18 - OPT_MAGNITUDE() giga - -expecting success of 0040.19 'OPT_MAGNITUDE() 3giga': - check magnitude: 3221225472 -m 3g - -ok 19 - OPT_MAGNITUDE() 3giga - -expecting success of 0040.20 'short options': - test-tool parse-options -s123 -b -i 1729 -m 16k -b -vv -n -F my.file \ - >output 2>output.err && - test_cmp expect output && - test_must_be_empty output.err - -ok 20 - short options - -expecting success of 0040.21 'long options': - test-tool parse-options --boolean --integer 1729 --magnitude 16k \ - --boolean --string2=321 --verbose --verbose --no-dry-run \ - --abbrev=10 --file fi.le --obsolete \ - >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 21 - long options - -expecting success of 0040.22 'missing required value': - test_expect_code 129 test-tool parse-options -s && - test_expect_code 129 test-tool parse-options --string && - test_expect_code 129 test-tool parse-options --file - -error: switch `s' requires a value -error: option `string' requires a value -error: option `file' requires a value -ok 22 - missing required value - -expecting success of 0040.23 'intermingled arguments': - test-tool parse-options a1 --string 123 b1 --boolean -j 13 -- --boolean \ - >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 23 - intermingled arguments - -expecting success of 0040.24 'unambiguously abbreviated option': - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --int 2 --boolean --no-bo >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 24 - unambiguously abbreviated option - -expecting success of 0040.25 'unambiguously abbreviated option with "="': - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --expect="integer: 2" --int=2 - -ok 25 - unambiguously abbreviated option with "=" - -expecting success of 0040.26 'ambiguously abbreviated option': - test_expect_code 129 env GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --strin 123 - -error: ambiguous option: strin (could be --string or --string2) -usage: test-tool parse-options - - A helper function for the parse-options API. - - --yes get a boolean - -D, --no-doubt begins with 'no-' - -B, --no-fear be brave - -b, --boolean increment by one - -4, --or4 bitwise-or boolean with ...0100 - --neg-or4 same as --no-or4 - - -i, --integer get a integer - -j get a integer, too - -m, --magnitude get a magnitude - --set23 set integer to 23 - --mode1 set integer to 1 (cmdmode option) - --mode2 set integer to 2 (cmdmode option) - -L, --length get length of - -F, --file set file to - -String options - -s, --string - get a string - --string2 get another string - --st get another string (pervert ordering) - -o get another string - --list add str to list - -Magic arguments - --quux means --quux - -NUM set integer to NUM - + same as -b - --ambiguous positive ambiguity - --no-ambiguous negative ambiguity - -Standard options - --abbrev[=] use digits to display object names - -v, --verbose be verbose - -n, --dry-run dry run - -q, --quiet be quiet - --expect expected output in the variable dump - -Alias - -A, --alias-source - get a string - -Z, --alias-target - alias of --alias-source - -ok 26 - ambiguously abbreviated option - -expecting success of 0040.27 'non ambiguous option (after two options it abbreviates)': - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --expect="string: 123" --st 123 - -ok 27 - non ambiguous option (after two options it abbreviates) - -expecting success of 0040.28 'Alias options do not contribute to abbreviation': - test-tool parse-options --alias-source 123 >output && - grep "^string: 123" output && - test-tool parse-options --alias-target 123 >output && - grep "^string: 123" output && - test_must_fail test-tool parse-options --alias && - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --alias 123 >output && - grep "^string: 123" output - -string: 123 -string: 123 -fatal: disallowed abbreviated or ambiguous option 'alias' -string: 123 -ok 28 - Alias options do not contribute to abbreviation - -expecting success of 0040.29 'detect possible typos': - test_must_fail test-tool parse-options -boolean >output 2>output.err && - test_must_be_empty output && - test_i18ncmp typo.err output.err - -ok 29 - detect possible typos - -expecting success of 0040.30 'detect possible typos': - test_must_fail test-tool parse-options -ambiguous >output 2>output.err && - test_must_be_empty output && - test_i18ncmp typo.err output.err - -ok 30 - detect possible typos - -expecting success of 0040.31 'keep some options as arguments': - test-tool parse-options --expect="arg 00: --quux" --quux - -ok 31 - keep some options as arguments - -expecting success of 0040.32 'OPT_CALLBACK() and OPT_BIT() work': - test-tool parse-options --length=four -b -4 >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 32 - OPT_CALLBACK() and OPT_BIT() work - -expecting success of 0040.33 'OPT_CALLBACK() and callback errors work': - test_must_fail test-tool parse-options --no-length >output 2>output.err && - test_must_be_empty output && - test_must_be_empty output.err - -ok 33 - OPT_CALLBACK() and callback errors work - -expecting success of 0040.34 'OPT_BIT() and OPT_SET_INT() work': - test-tool parse-options --set23 -bbbbb --no-or4 >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 34 - OPT_BIT() and OPT_SET_INT() work - -expecting success of 0040.35 'OPT_NEGBIT() and OPT_SET_INT() work': - test-tool parse-options --set23 -bbbbb --neg-or4 >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 35 - OPT_NEGBIT() and OPT_SET_INT() work - -expecting success of 0040.36 'OPT_BIT() works': - test-tool parse-options --expect="boolean: 6" -bb --or4 - -ok 36 - OPT_BIT() works - -expecting success of 0040.37 'OPT_NEGBIT() works': - test-tool parse-options --expect="boolean: 6" -bb --no-neg-or4 - -ok 37 - OPT_NEGBIT() works - -expecting success of 0040.38 'OPT_CMDMODE() works': - test-tool parse-options --expect="integer: 1" --mode1 - -ok 38 - OPT_CMDMODE() works - -expecting success of 0040.39 'OPT_CMDMODE() detects incompatibility': - test_must_fail test-tool parse-options --mode1 --mode2 >output 2>output.err && - test_must_be_empty output && - test_i18ngrep "incompatible with --mode" output.err - -error: option `mode2' is incompatible with --mode1 -ok 39 - OPT_CMDMODE() detects incompatibility - -expecting success of 0040.40 'OPT_CMDMODE() detects incompatibility with something else': - test_must_fail test-tool parse-options --set23 --mode2 >output 2>output.err && - test_must_be_empty output && - test_i18ngrep "incompatible with something else" output.err - -error: option `mode2' : incompatible with something else -ok 40 - OPT_CMDMODE() detects incompatibility with something else - -expecting success of 0040.41 'OPT_COUNTUP() with PARSE_OPT_NODASH works': - test-tool parse-options --expect="boolean: 6" + + + + + + - -ok 41 - OPT_COUNTUP() with PARSE_OPT_NODASH works - -expecting success of 0040.42 'OPT_NUMBER_CALLBACK() works': - test-tool parse-options --expect="integer: 12345" -12345 - -ok 42 - OPT_NUMBER_CALLBACK() works - -expecting success of 0040.43 'negation of OPT_NONEG flags is not ambiguous': - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --no-ambig >output 2>output.err && - test_must_be_empty output.err && - test_cmp expect output - -ok 43 - negation of OPT_NONEG flags is not ambiguous - -expecting success of 0040.44 '--list keeps list of strings': - test-tool parse-options --list foo --list=bar --list=baz >output && - test_cmp expect output - -ok 44 - --list keeps list of strings - -expecting success of 0040.45 '--no-list resets list': - test-tool parse-options --list=other --list=irrelevant --list=options \ - --no-list --list=foo --list=bar --list=baz >output && - test_cmp expect output - -ok 45 - --no-list resets list - -expecting success of 0040.46 'multiple quiet levels': - test-tool parse-options --expect="quiet: 3" -q -q -q - -ok 46 - multiple quiet levels - -expecting success of 0040.47 'multiple verbose levels': - test-tool parse-options --expect="verbose: 3" -v -v -v - -ok 47 - multiple verbose levels - -expecting success of 0040.48 '--no-quiet sets --quiet to 0': - test-tool parse-options --expect="quiet: 0" --no-quiet - -ok 48 - --no-quiet sets --quiet to 0 - -expecting success of 0040.49 '--no-quiet resets multiple -q to 0': - test-tool parse-options --expect="quiet: 0" -q -q -q --no-quiet - -ok 49 - --no-quiet resets multiple -q to 0 - -expecting success of 0040.50 '--no-verbose sets verbose to 0': - test-tool parse-options --expect="verbose: 0" --no-verbose - -ok 50 - --no-verbose sets verbose to 0 - -expecting success of 0040.51 '--no-verbose resets multiple verbose to 0': - test-tool parse-options --expect="verbose: 0" -v -v -v --no-verbose - -ok 51 - --no-verbose resets multiple verbose to 0 - -expecting success of 0040.52 'GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS works': - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ - test-tool parse-options --ye && - test_must_fail env GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=true \ - test-tool parse-options --ye - -boolean: 1 -integer: 0 -magnitude: 0 -timestamp: 0 -string: (not set) -abbrev: 7 -verbose: -1 -quiet: 0 -dry run: no -file: (not set) -fatal: disallowed abbreviated or ambiguous option 'ye' -ok 52 - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS works - -expecting success of 0040.53 '--end-of-options treats remainder as args': - test-tool parse-options \ - --expect="verbose: -1" \ - --expect="arg 00: --verbose" \ - --end-of-options --verbose - -ok 53 - --end-of-options treats remainder as args - -# passed all 53 test(s) -1..53 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0065-strcmp-offset.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0065-strcmp-offset/.git/ -expecting success of 0065.1 'strcmp_offset(abc, abc)': - echo "$expect" >expect && - test-tool strcmp-offset "$s1" "$s2" >actual && - test_cmp expect actual - -ok 1 - strcmp_offset(abc, abc) - -expecting success of 0065.2 'strcmp_offset(abc, def)': - echo "$expect" >expect && - test-tool strcmp-offset "$s1" "$s2" >actual && - test_cmp expect actual - -ok 2 - strcmp_offset(abc, def) - -expecting success of 0065.3 'strcmp_offset(abc, abz)': - echo "$expect" >expect && - test-tool strcmp-offset "$s1" "$s2" >actual && - test_cmp expect actual - -ok 3 - strcmp_offset(abc, abz) - -expecting success of 0065.4 'strcmp_offset(abc, abcdef)': - echo "$expect" >expect && - test-tool strcmp-offset "$s1" "$s2" >actual && - test_cmp expect actual - -ok 4 - strcmp_offset(abc, abcdef) +ok 4 - run-command formats empty args properly # passed all 4 test(s) 1..4 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0061-run-command.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0061-run-command/.git/ -ok 1 # skip subprocess inherits only std handles (missing MINGW) - -expecting success of 0061.2 'start_command reports ENOENT (slash)': - test-tool run-command start-command-ENOENT ./does-not-exist 2>err && - test_i18ngrep "\./does-not-exist" err - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -fatal: cannot run ./does-not-exist: No such file or directory -ok 2 - start_command reports ENOENT (slash) - -expecting success of 0061.3 'start_command reports ENOENT (no slash)': - test-tool run-command start-command-ENOENT does-not-exist 2>err && - test_i18ngrep "does-not-exist" err - -error: cannot run does-not-exist: No such file or directory -ok 3 - start_command reports ENOENT (no slash) - -expecting success of 0061.4 'run_command can run a command': - cat hello-script >hello.sh && - chmod +x hello.sh && - test-tool run-command run-command ./hello.sh >actual 2>err && - - test_cmp hello-script actual && - test_must_be_empty err - -ok 4 - run_command can run a command - -checking prerequisite: RUNS_COMMANDS_FROM_PWD - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-RUNS_COMMANDS_FROM_PWD" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-RUNS_COMMANDS_FROM_PWD" && - write_script runs-commands-from-pwd <<-\EOF && - true - EOF - runs-commands-from-pwd >/dev/null 2>&1 - -) -prerequisite RUNS_COMMANDS_FROM_PWD not satisfied -expecting success of 0061.5 'run_command is restricted to PATH': - write_script should-not-run <<-\EOF && - echo yikes - EOF - test_must_fail test-tool run-command run-command should-not-run 2>err && - test_i18ngrep "should-not-run" err - -error: cannot run should-not-run: No such file or directory -ok 5 - run_command is restricted to PATH - -expecting success of 0061.6 'run_command can run a script without a #! line': - cat >hello <<-\EOF && - cat hello-script - EOF - chmod +x hello && - test-tool run-command run-command ./hello >actual 2>err && - - test_cmp hello-script actual && - test_must_be_empty err - -ok 6 - run_command can run a script without a #! line - -expecting success of 0061.7 'run_command does not try to execute a directory': - test_when_finished "rm -rf bin1 bin2" && - mkdir -p bin1/greet bin2 && - write_script bin2/greet <<-\EOF && - cat bin2/greet - EOF - - PATH=$PWD/bin1:$PWD/bin2:$PATH \ - test-tool run-command run-command greet >actual 2>err && - test_cmp bin2/greet actual && - test_must_be_empty err - -ok 7 - run_command does not try to execute a directory - -expecting success of 0061.8 'run_command passes over non-executable file': - test_when_finished "rm -rf bin1 bin2" && - mkdir -p bin1 bin2 && - write_script bin1/greet <<-\EOF && - cat bin1/greet - EOF - chmod -x bin1/greet && - write_script bin2/greet <<-\EOF && - cat bin2/greet - EOF - - PATH=$PWD/bin1:$PWD/bin2:$PATH \ - test-tool run-command run-command greet >actual 2>err && - test_cmp bin2/greet actual && - test_must_be_empty err - -ok 8 - run_command passes over non-executable file - -expecting success of 0061.9 'run_command reports EACCES': - cat hello-script >hello.sh && - chmod -x hello.sh && - test_must_fail test-tool run-command run-command ./hello.sh 2>err && - - grep "fatal: cannot exec.*hello.sh" err - -fatal: cannot exec './hello.sh': Permission denied -ok 9 - run_command reports EACCES - -checking prerequisite: SANITY - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && - - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" - - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? - - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status - -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 0061.10 'unreadable directory in PATH': - mkdir local-command && - test_when_finished "chmod u+rwx local-command && rm -fr local-command" && - git config alias.nitfol "!echo frotz" && - chmod a-rx local-command && - ( - PATH=./local-command:$PATH && - git nitfol >actual - ) && - echo frotz >expect && - test_cmp expect actual - -ok 10 - unreadable directory in PATH - -expecting success of 0061.11 'run_command runs in parallel with more jobs available than tasks': - test-tool run-command run-command-parallel 5 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && - test_cmp expect actual - -ok 11 - run_command runs in parallel with more jobs available than tasks - -expecting success of 0061.12 'run_command runs in parallel with as many jobs as tasks': - test-tool run-command run-command-parallel 4 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && - test_cmp expect actual - -ok 12 - run_command runs in parallel with as many jobs as tasks - -expecting success of 0061.13 'run_command runs in parallel with more tasks than jobs available': - test-tool run-command run-command-parallel 3 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && - test_cmp expect actual - -ok 13 - run_command runs in parallel with more tasks than jobs available - -expecting success of 0061.14 'run_command is asked to abort gracefully': - test-tool run-command run-command-abort 3 false 2>actual && - test_cmp expect actual - -ok 14 - run_command is asked to abort gracefully - -expecting success of 0061.15 'run_command outputs ': - test-tool run-command run-command-no-jobs 3 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && - test_cmp expect actual - -ok 15 - run_command outputs - -expecting success of 0061.16 'GIT_TRACE with environment variables': - test_trace "abc=1 def=2" env abc=1 env def=2 && - test_trace "abc=2" env abc env abc=1 env abc=2 && - test_trace "abc=2" env abc env abc=2 && - ( - abc=1 && export abc && - test_trace "def=1" env abc=1 env def=1 - ) && - ( - abc=1 && export abc && - test_trace "def=1" env abc env abc=1 env def=1 - ) && - test_trace "def=1" env non-exist env def=1 && - test_trace "abc=2" env abc=1 env abc env abc=2 && - ( - abc=1 def=2 && export abc def && - test_trace "unset abc def;" env abc env def - ) && - ( - abc=1 def=2 && export abc def && - test_trace "unset def; abc=3" env abc env def env abc=3 - ) && - ( - abc=1 && export abc && - test_trace "unset abc;" env abc=2 env abc - ) - -ok 16 - GIT_TRACE with environment variables - -ok 17 # skip verify curlies are quoted properly (missing MINGW) - -ok 18 # skip can spawn .bat with argv[0] containing spaces (missing MINGW) - -# passed all 18 test(s) -1..18 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' *** t0001-init.sh *** Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0001-init/.git/ expecting success of 0001.1 'plain': @@ -12922,2647 +9611,1149 @@ 1..60 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0064-oid-array.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0064-oid-array/.git/ -expecting success of 0064.1 'ordered enumeration': - echoid "" 44 55 88 aa >expect && - { - echoid append 88 44 aa 55 && - echo for_each_unique - } | test-tool oid-array >actual && - test_cmp expect actual +*** t0015-hash.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0015-hash/.git/ +expecting success of 0015.1 'test basic SHA-1 hash values': + test-tool sha1 actual && + grep da39a3ee5e6b4b0d3255bfef95601890afd80709 actual && + printf "a" | test-tool sha1 >actual && + grep 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 actual && + printf "abc" | test-tool sha1 >actual && + grep a9993e364706816aba3e25717850c26c9cd0d89d actual && + printf "message digest" | test-tool sha1 >actual && + grep c12252ceda8be8994d5fa0290a47231c1d16aae3 actual && + printf "abcdefghijklmnopqrstuvwxyz" | test-tool sha1 >actual && + grep 32d10c7b8cf96570ca04ce37f2a19d84240d3a89 actual && + perl -e "$| = 1; print q{aaaaaaaaaa} for 1..100000;" | \ + test-tool sha1 >actual && + grep 34aa973cd4c4daa4f61eeb2bdbad27316534016f actual && + printf "blob 0\0" | test-tool sha1 >actual && + grep e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 actual && + printf "blob 3\0abc" | test-tool sha1 >actual && + grep f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f actual && + printf "tree 0\0" | test-tool sha1 >actual && + grep 4b825dc642cb6eb9a060e54bf8d69288fbee4904 actual -ok 1 - ordered enumeration +da39a3ee5e6b4b0d3255bfef95601890afd80709 +86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 +a9993e364706816aba3e25717850c26c9cd0d89d +c12252ceda8be8994d5fa0290a47231c1d16aae3 +32d10c7b8cf96570ca04ce37f2a19d84240d3a89 +34aa973cd4c4daa4f61eeb2bdbad27316534016f +e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 +f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f +4b825dc642cb6eb9a060e54bf8d69288fbee4904 +ok 1 - test basic SHA-1 hash values -expecting success of 0064.2 'ordered enumeration with duplicate suppression': - echoid "" 44 55 88 aa >expect && - { - echoid append 88 44 aa 55 && - echoid append 88 44 aa 55 && - echoid append 88 44 aa 55 && - echo for_each_unique - } | test-tool oid-array >actual && - test_cmp expect actual +expecting success of 0015.2 'test basic SHA-256 hash values': + test-tool sha256 actual && + grep e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 actual && + printf "a" | test-tool sha256 >actual && + grep ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb actual && + printf "abc" | test-tool sha256 >actual && + grep ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad actual && + printf "message digest" | test-tool sha256 >actual && + grep f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650 actual && + printf "abcdefghijklmnopqrstuvwxyz" | test-tool sha256 >actual && + grep 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 actual && + # Try to exercise the chunking code by turning autoflush on. + perl -e "$| = 1; print q{aaaaaaaaaa} for 1..100000;" | \ + test-tool sha256 >actual && + grep cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 actual && + perl -e "$| = 1; print q{abcdefghijklmnopqrstuvwxyz} for 1..100000;" | \ + test-tool sha256 >actual && + grep e406ba321ca712ad35a698bf0af8d61fc4dc40eca6bdcea4697962724ccbde35 actual && + printf "blob 0\0" | test-tool sha256 >actual && + grep 473a0f4c3be8a93681a267e3b1e9a7dcda1185436fe141f7749120a303721813 actual && + printf "blob 3\0abc" | test-tool sha256 >actual && + grep c1cf6e465077930e88dc5136641d402f72a229ddd996f627d60e9639eaba35a6 actual && + printf "tree 0\0" | test-tool sha256 >actual && + grep 6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321 actual -ok 2 - ordered enumeration with duplicate suppression +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb +ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad +f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650 +71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 +cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0 +e406ba321ca712ad35a698bf0af8d61fc4dc40eca6bdcea4697962724ccbde35 +473a0f4c3be8a93681a267e3b1e9a7dcda1185436fe141f7749120a303721813 +c1cf6e465077930e88dc5136641d402f72a229ddd996f627d60e9639eaba35a6 +6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321 +ok 2 - test basic SHA-256 hash values -expecting success of 0064.3 'lookup': - { - echoid append 88 44 aa 55 && - echoid lookup 55 - } | test-tool oid-array >actual && - n=$(cat actual) && - test "$n" -eq 1 +# passed all 2 test(s) +1..2 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0016-oidmap.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0016-oidmap/.git/ +expecting success of 0016.1 'setup': -ok 3 - lookup + test_commit one && + test_commit two && + test_commit three && + test_commit four -expecting success of 0064.4 'lookup non-existing entry': - { - echoid append 88 44 aa 55 && - echoid lookup 33 - } | test-tool oid-array >actual && - n=$(cat actual) && - test "$n" -lt 0 -ok 4 - lookup non-existing entry +[master (root-commit) d79ce16] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +[master 139b20d] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +[master 7c7cd71] three + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 three.t +[master fd8d77e] four + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 four.t +ok 1 - setup -expecting success of 0064.5 'lookup with duplicates': - { - echoid append 88 44 aa 55 && - echoid append 88 44 aa 55 && - echoid append 88 44 aa 55 && - echoid lookup 55 - } | test-tool oid-array >actual && - n=$(cat actual) && - test "$n" -ge 3 && - test "$n" -le 5 +expecting success of 0016.2 'put': -ok 5 - lookup with duplicates +test_oidmap "put one 1 +put two 2 +put invalidOid 4 +put three 3" "NULL +NULL +Unknown oid: invalidOid +NULL" -expecting success of 0064.6 'lookup non-existing entry with duplicates': - { - echoid append 88 44 aa 55 && - echoid append 88 44 aa 55 && - echoid append 88 44 aa 55 && - echoid lookup 66 - } | test-tool oid-array >actual && - n=$(cat actual) && - test "$n" -lt 0 -ok 6 - lookup non-existing entry with duplicates +ok 2 - put -expecting success of 0064.7 'lookup with almost duplicate values': - # n-1 5s - root=$(echoid "" 55) && - root=${root%5} && - { - id1="${root}5" && - id2="${root}f" && - echo "append $id1" && - echo "append $id2" && - echoid lookup 55 - } | test-tool oid-array >actual && - n=$(cat actual) && - test "$n" -eq 0 +expecting success of 0016.3 'replace': -ok 7 - lookup with almost duplicate values +test_oidmap "put one 1 +put two 2 +put three 3 +put invalidOid 4 +put two deux +put one un" "NULL +NULL +NULL +Unknown oid: invalidOid +2 +1" -expecting success of 0064.8 'lookup with single duplicate value': - { - echoid append 55 55 && - echoid lookup 55 - } | test-tool oid-array >actual && - n=$(cat actual) && - test "$n" -ge 0 && - test "$n" -le 1 -ok 8 - lookup with single duplicate value +ok 3 - replace -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0067-parse_pathspec_file.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0067-parse_pathspec_file/.git/ -expecting success of 0067.1 'one item from stdin': - cat >expect <<-\EOF && - fileA.t - EOF +expecting success of 0016.4 'get': - echo fileA.t | - test-tool parse-pathspec-file --pathspec-from-file=- >actual && +test_oidmap "put one 1 +put two 2 +put three 3 +get two +get four +get invalidOid +get one" "NULL +NULL +NULL +2 +NULL +Unknown oid: invalidOid +1" - test_cmp expect actual -ok 1 - one item from stdin +ok 4 - get -expecting success of 0067.2 'one item from file': - cat >expect <<-\EOF && - fileA.t - EOF +expecting success of 0016.5 'remove': - echo fileA.t >list && - test-tool parse-pathspec-file --pathspec-from-file=list >actual && +test_oidmap "put one 1 +put two 2 +put three 3 +remove one +remove two +remove invalidOid +remove four" "NULL +NULL +NULL +1 +2 +Unknown oid: invalidOid +NULL" - test_cmp expect actual -ok 2 - one item from file +ok 5 - remove -expecting success of 0067.3 'NUL delimiters': - cat >expect <<-\EOF && - fileA.t - fileB.t +expecting success of 0016.6 'iterate': + test-tool oidmap >actual.raw <<-\EOF && + put one 1 + put two 2 + put three 3 + iterate EOF - printf "fileA.t\0fileB.t\0" | - test-tool parse-pathspec-file --pathspec-from-file=- --pathspec-file-nul >actual && + # sort "expect" too so we do not rely on the order of particular oids + sort >expect <<-EOF && + NULL + NULL + NULL + $(git rev-parse one) 1 + $(git rev-parse two) 2 + $(git rev-parse three) 3 + EOF + sort actual && test_cmp expect actual -ok 3 - NUL delimiters +ok 6 - iterate -expecting success of 0067.4 'LF delimiters': +# passed all 6 test(s) +1..6 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0018-advice.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0018-advice/.git/ +expecting success of 0018.1 'advice should be printed when config variable is unset': cat >expect <<-\EOF && - fileA.t - fileB.t + hint: This is a piece of advice + hint: Disable this message with "git config advice.nestedTag false" EOF + test-tool advise "This is a piece of advice" 2>actual && + test_i18ncmp expect actual - printf "fileA.t\nfileB.t\n" | - test-tool parse-pathspec-file --pathspec-from-file=- >actual && +checking prerequisite: C_LOCALE_OUTPUT - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -ok 4 - LF delimiters +) +prerequisite C_LOCALE_OUTPUT ok +ok 1 - advice should be printed when config variable is unset -expecting success of 0067.5 'no trailing delimiter': +expecting success of 0018.2 'advice should be printed when config variable is set to true': cat >expect <<-\EOF && - fileA.t - fileB.t + hint: This is a piece of advice + hint: Disable this message with "git config advice.nestedTag false" EOF + test_config advice.nestedTag true && + test-tool advise "This is a piece of advice" 2>actual && + test_i18ncmp expect actual - printf "fileA.t\nfileB.t" | - test-tool parse-pathspec-file --pathspec-from-file=- >actual && +ok 2 - advice should be printed when config variable is set to true - test_cmp expect actual +expecting success of 0018.3 'advice should not be printed when config variable is set to false': + test_config advice.nestedTag false && + test-tool advise "This is a piece of advice" 2>actual && + test_must_be_empty actual -ok 5 - no trailing delimiter +ok 3 - advice should not be printed when config variable is set to false -expecting success of 0067.6 'CRLF delimiters': - cat >expect <<-\EOF && - fileA.t - fileB.t - EOF +# passed all 3 test(s) +1..3 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0017-env-helper.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0017-env-helper/.git/ +expecting success of 0017.1 'env--helper usage': + test_must_fail git env--helper && + test_must_fail git env--helper --type=bool && + test_must_fail git env--helper --type=ulong && + test_must_fail git env--helper --type=bool && + test_must_fail git env--helper --type=bool --default && + test_must_fail git env--helper --type=bool --default= && + test_must_fail git env--helper --defaultxyz - printf "fileA.t\r\nfileB.t\r\n" | - test-tool parse-pathspec-file --pathspec-from-file=- >actual && +usage: git env--helper --type=[bool|ulong] - test_cmp expect actual + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code -ok 6 - CRLF delimiters +usage: git env--helper --type=[bool|ulong] -expecting success of 0067.7 'quotes': - cat >expect <<-\EOF && - fileA.t - EOF + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code - cat >list <<-\EOF && - "file\101.t" - EOF +usage: git env--helper --type=[bool|ulong] - test-tool parse-pathspec-file --pathspec-from-file=list >actual && + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code - test_cmp expect actual +usage: git env--helper --type=[bool|ulong] -ok 7 - quotes + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code -expecting success of 0067.8 '--pathspec-file-nul takes quotes literally': - # Note: there is an extra newline because --pathspec-file-nul takes - # input \n literally, too - cat >expect <<-\EOF && - "file\101.t" +error: option `default' requires a value +usage: git env--helper --type=[bool|ulong] - EOF + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code - cat >list <<-\EOF && - "file\101.t" - EOF +usage: git env--helper --type=[bool|ulong] - test-tool parse-pathspec-file --pathspec-from-file=list --pathspec-file-nul >actual && + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code - test_cmp expect actual +ok 1 - env--helper usage -ok 8 - --pathspec-file-nul takes quotes literally +expecting success of 0017.2 'env--helper bad default values': + test_must_fail git env--helper --type=bool --default=1xyz MISSING && + test_must_fail git env--helper --type=ulong --default=1xyz MISSING -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0068-for-each-repo.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/.git/ -expecting success of 0068.1 'run based on configured value': - git init one && - git init two && - git init three && - git -C two commit --allow-empty -m "DID NOT RUN" && - git config run.key "$TRASH_DIRECTORY/one" && - git config --add run.key "$TRASH_DIRECTORY/three" && - git for-each-repo --config=run.key commit --allow-empty -m "ran" && - git -C one log -1 --pretty=format:%s >message && - grep ran message && - git -C two log -1 --pretty=format:%s >message && - ! grep ran message && - git -C three log -1 --pretty=format:%s >message && - grep ran message && - git for-each-repo --config=run.key -- commit --allow-empty -m "ran again" && - git -C one log -1 --pretty=format:%s >message && - grep again message && - git -C two log -1 --pretty=format:%s >message && - ! grep again message && - git -C three log -1 --pretty=format:%s >message && - grep again message +error: option `--default' expects a boolean value with `--type=bool`, not `1xyz` +usage: git env--helper --type=[bool|ulong] -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/one/.git/ -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/two/.git/ -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/three/.git/ -[master (root-commit) 20fd2df] DID NOT RUN - Author: A U Thor -[master (root-commit) 3c2529d] ran - Author: A U Thor -[master (root-commit) 3c2529d] ran - Author: A U Thor -ran -ran -[master 3fc5dd1] ran again - Author: A U Thor -[master 3fc5dd1] ran again - Author: A U Thor -ran again -ran again -ok 1 - run based on configured value + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code -expecting success of 0068.2 'do nothing on empty config': - # the whole thing would fail if for-each-ref iterated even - # once, because "git help --no-such-option" would fail - git for-each-repo --config=bogus.config -- help --no-such-option +error: option `--default' expects an unsigned long value with `--type=ulong`, not `1xyz` +usage: git env--helper --type=[bool|ulong] -ok 2 - do nothing on empty config + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0070-fundamental.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0070-fundamental/.git/ -expecting success of 0070.1 'character classes (isspace, isalpha etc.)': - test-tool ctype +ok 2 - env--helper bad default values -ok 1 - character classes (isspace, isalpha etc.) +expecting success of 0017.3 'env--helper --type=bool': + # Test various --default bool values + echo true >expected && + git env--helper --type=bool --default=1 MISSING >actual && + test_cmp expected actual && + git env--helper --type=bool --default=yes MISSING >actual && + test_cmp expected actual && + git env--helper --type=bool --default=true MISSING >actual && + test_cmp expected actual && + echo false >expected && + test_must_fail git env--helper --type=bool --default=0 MISSING >actual && + test_cmp expected actual && + test_must_fail git env--helper --type=bool --default=no MISSING >actual && + test_cmp expected actual && + test_must_fail git env--helper --type=bool --default=false MISSING >actual && + test_cmp expected actual && -expecting success of 0070.2 'mktemp to nonexistent directory prints filename': - test_must_fail test-tool mktemp doesnotexist/testXXXXXX 2>err && - grep "doesnotexist/test" err + # No output with --exit-code + git env--helper --type=bool --default=true --exit-code MISSING >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + test_must_fail git env--helper --type=bool --default=false --exit-code MISSING >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && -fatal: Unable to create temporary file '/build/git-2.30.2/t/trash directory.t0070-fundamental/doesnotexist/testp5CVxP': No such file or directory -ok 2 - mktemp to nonexistent directory prints filename + # Existing variable + EXISTS=true git env--helper --type=bool --default=false --exit-code EXISTS >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && + test_must_fail \ + env EXISTS=false \ + git env--helper --type=bool --default=true --exit-code EXISTS >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err -checking prerequisite: SANITY +ok 3 - env--helper --type=bool -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && +expecting success of 0017.4 'env--helper --type=ulong': + echo 1234567890 >expected && + git env--helper --type=ulong --default=1234567890 MISSING >actual.out 2>actual.err && + test_cmp expected actual.out && + test_must_be_empty actual.err && - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" + echo 0 >expected && + test_must_fail git env--helper --type=ulong --default=0 MISSING >actual && + test_cmp expected actual && - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? + git env--helper --type=ulong --default=1234567890 --exit-code MISSING >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status + EXISTS=1234567890 git env--helper --type=ulong --default=0 EXISTS --exit-code >actual.out 2>actual.err && + test_must_be_empty actual.out && + test_must_be_empty actual.err && -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 0070.3 'mktemp to unwritable directory prints filename': - mkdir cannotwrite && - test_when_finished "chmod +w cannotwrite" && - chmod -w cannotwrite && - test_must_fail test-tool mktemp cannotwrite/testXXXXXX 2>err && - grep "cannotwrite/test" err + echo 1234567890 >expected && + EXISTS=1234567890 git env--helper --type=ulong --default=0 EXISTS >actual.out 2>actual.err && + test_cmp expected actual.out && + test_must_be_empty actual.err -fatal: Unable to create temporary file '/build/git-2.30.2/t/trash directory.t0070-fundamental/cannotwrite/testGd0qkX': Permission denied -ok 3 - mktemp to unwritable directory prints filename +ok 4 - env--helper --type=ulong -expecting success of 0070.4 'git_mkstemps_mode does not fail if fd 0 is not open': - git commit --allow-empty -m message <&- +expecting success of 0017.5 'env--helper reads config thanks to trace2': + mkdir home && + git config -f home/.gitconfig include.path cycle && + git config -f home/cycle include.path .gitconfig && -[master (root-commit) b293b08] message - Author: A U Thor -ok 4 - git_mkstemps_mode does not fail if fd 0 is not open - -expecting success of 0070.5 'check for a bug in the regex routines': - # if this test fails, re-build git with NO_REGEX=1 - test-tool regex --bug - -ok 5 - check for a bug in the regex routines - -expecting success of 0070.6 'incomplete sideband messages are reassembled': - test-tool pkt-line send-split-sideband >split-sideband && - test-tool pkt-line receive-sideband err && - grep "Hello, world" err - -primary: regular output -remote: Hello, world! -ok 6 - incomplete sideband messages are reassembled - -expecting success of 0070.7 'eof on sideband message is reported': - printf 1234 >input && - test-tool pkt-line receive-sideband err && - test_i18ngrep "unexpected disconnect" err - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -sideband: unexpected disconnect while reading sideband packet -ok 7 - eof on sideband message is reported + test_must_fail \ + env HOME="$(pwd)/home" GIT_TEST_GETTEXT_POISON=false \ + git config -l 2>err && + grep "exceeded maximum include depth" err && -expecting success of 0070.8 'missing sideband designator is reported': - printf 0004 >input && - test-tool pkt-line receive-sideband err && - test_i18ngrep "missing sideband" err + test_must_fail \ + env HOME="$(pwd)/home" GIT_TEST_GETTEXT_POISON=true \ + git -C cycle env--helper --type=bool --default=0 --exit-code GIT_TEST_GETTEXT_POISON 2>err && + grep "# GETTEXT POISON #" err -sideband: protocol error: missing sideband designator -ok 8 - missing sideband designator is reported +fatal: exceeded maximum include depth (10) while including +fatal: # GETTEXT POISON # +ok 5 - env--helper reads config thanks to trace2 -# passed all 8 test(s) -1..8 +# passed all 5 test(s) +1..5 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0028-working-tree-encoding.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0028-working-tree-encoding/.git/ -expecting success of 0028.1 'setup test files': - git config core.eol lf && - - text="hallo there!\ncan you read me?" && - echo "*.utf16 text working-tree-encoding=utf-16" >.gitattributes && - echo "*.utf16lebom text working-tree-encoding=UTF-16LE-BOM" >>.gitattributes && - printf "$text" >test.utf8.raw && - printf "$text" | write_utf16 >test.utf16.raw && - printf "$text" | write_utf32 >test.utf32.raw && - printf "\377\376" >test.utf16lebom.raw && - printf "$text" | iconv -f UTF-8 -t UTF-16LE >>test.utf16lebom.raw && - - # Line ending tests - printf "one\ntwo\nthree\n" >lf.utf8.raw && - printf "one\r\ntwo\r\nthree\r\n" >crlf.utf8.raw && - - # BOM tests - printf "\0a\0b\0c" >nobom.utf16be.raw && - printf "a\0b\0c\0" >nobom.utf16le.raw && - printf "\376\377\0a\0b\0c" >bebom.utf16be.raw && - printf "\377\376a\0b\0c\0" >lebom.utf16le.raw && - printf "\0\0\0a\0\0\0b\0\0\0c" >nobom.utf32be.raw && - printf "a\0\0\0b\0\0\0c\0\0\0" >nobom.utf32le.raw && - printf "\0\0\376\377\0\0\0a\0\0\0b\0\0\0c" >bebom.utf32be.raw && - printf "\377\376\0\0a\0\0\0b\0\0\0c\0\0\0" >lebom.utf32le.raw && - - # Add only UTF-16 file, we will add the UTF-32 file later - cp test.utf16.raw test.utf16 && - cp test.utf32.raw test.utf32 && - cp test.utf16lebom.raw test.utf16lebom && - git add .gitattributes test.utf16 test.utf16lebom && - git commit -m initial - -checking prerequisite: NO_UTF16_BOM - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 - -) -prerequisite NO_UTF16_BOM not satisfied -checking prerequisite: NO_UTF32_BOM - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12 - -) -prerequisite NO_UTF32_BOM not satisfied -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -[master (root-commit) dfb2bb8] initial - Author: A U Thor - 3 files changed, 6 insertions(+) - create mode 100644 .gitattributes - create mode 100644 test.utf16 - create mode 100644 test.utf16lebom -ok 1 - setup test files - -expecting success of 0028.2 'ensure UTF-8 is stored in Git': - test_when_finished "rm -f test.utf16.git" && - - git cat-file -p :test.utf16 >test.utf16.git && - test_cmp_bin test.utf8.raw test.utf16.git - -ok 2 - ensure UTF-8 is stored in Git - -expecting success of 0028.3 're-encode to UTF-16 on checkout': - test_when_finished "rm -f test.utf16.raw" && - - rm test.utf16 && - git checkout test.utf16 && - test_cmp_bin test.utf16.raw test.utf16 - -Updated 1 path from the index -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -ok 3 - re-encode to UTF-16 on checkout - -expecting success of 0028.4 're-encode to UTF-16-LE-BOM on checkout': - rm test.utf16lebom && - git checkout test.utf16lebom && - test_cmp_bin test.utf16lebom.raw test.utf16lebom - -Updated 1 path from the index -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -ok 4 - re-encode to UTF-16-LE-BOM on checkout - -expecting success of 0028.5 'check $GIT_DIR/info/attributes support': - test_when_finished "rm -f test.utf32.git" && - test_when_finished "git reset --hard HEAD" && - - echo "*.utf32 text working-tree-encoding=utf-32" >.git/info/attributes && - git add test.utf32 && - - git cat-file -p :test.utf32 >test.utf32.git && - test_cmp_bin test.utf8.raw test.utf32.git - -source (test.utf32, considered utf-32): -|  0: ff   |  1: fe   |  2: 0   |  3: 0   |  4: 68 h |  5: 0   |  6: 0   |  7: 0   -|  8: 61 a |  9: 0   | 10: 0   | 11: 0   | 12: 6c l | 13: 0   | 14: 0   | 15: 0   -| 16: 6c l | 17: 0   | 18: 0   | 19: 0   | 20: 6f o | 21: 0   | 22: 0   | 23: 0   -| 24: 20   | 25: 0   | 26: 0   | 27: 0   | 28: 74 t | 29: 0   | 30: 0   | 31: 0   -| 32: 68 h | 33: 0   | 34: 0   | 35: 0   | 36: 65 e | 37: 0   | 38: 0   | 39: 0   -| 40: 72 r | 41: 0   | 42: 0   | 43: 0   | 44: 65 e | 45: 0   | 46: 0   | 47: 0   -| 48: 21 ! | 49: 0   | 50: 0   | 51: 0   | 52: a   | 53: 0   | 54: 0   | 55: 0   -| 56: 63 c | 57: 0   | 58: 0   | 59: 0   | 60: 61 a | 61: 0   | 62: 0   | 63: 0   -| 64: 6e n | 65: 0   | 66: 0   | 67: 0   | 68: 20   | 69: 0   | 70: 0   | 71: 0   -| 72: 79 y | 73: 0   | 74: 0   | 75: 0   | 76: 6f o | 77: 0   | 78: 0   | 79: 0   -| 80: 75 u | 81: 0   | 82: 0   | 83: 0   | 84: 20   | 85: 0   | 86: 0   | 87: 0   -| 88: 72 r | 89: 0   | 90: 0   | 91: 0   | 92: 65 e | 93: 0   | 94: 0   | 95: 0   -| 96: 61 a | 97: 0   | 98: 0   | 99: 0   | 100: 64 d | 101: 0   | 102: 0   | 103: 0   -| 104: 20   | 105: 0   | 106: 0   | 107: 0   | 108: 6d m | 109: 0   | 110: 0   | 111: 0   -| 112: 65 e | 113: 0   | 114: 0   | 115: 0   | 116: 3f ? | 117: 0   | 118: 0   | 119: 0   - -destination (test.utf32, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +*** t0010-racy-git.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0010-racy-git/.git/ +expecting success of 0010.1 'Racy GIT trial #0 part A': test "" != "$files" +ok 1 - Racy GIT trial #0 part A -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +expecting success of 0010.2 'Racy GIT trial #0 part B': test "" != "$files" +ok 2 - Racy GIT trial #0 part B -HEAD is now at dfb2bb8 initial -ok 5 - check $GIT_DIR/info/attributes support +expecting success of 0010.3 'Racy GIT trial #1 part A': test "" != "$files" +ok 3 - Racy GIT trial #1 part A -expecting success of 0028.6 'check prohibited UTF-16 BOM': - test_when_finished "git reset --hard HEAD" && +expecting success of 0010.4 'Racy GIT trial #1 part B': test "" != "$files" +ok 4 - Racy GIT trial #1 part B - echo "*.utf${i}be text working-tree-encoding=utf-${i}be" >>.gitattributes && - echo "*.utf${i}le text working-tree-encoding=utf-${i}LE" >>.gitattributes && +expecting success of 0010.5 'Racy GIT trial #2 part A': test "" != "$files" +ok 5 - Racy GIT trial #2 part A - # Here we add a UTF-16 (resp. UTF-32) files with BOM (big/little-endian) - # but we tell Git to treat it as UTF-16BE/UTF-16LE (resp. UTF-32). - # In these cases the BOM is prohibited. - cp bebom.utf${i}be.raw bebom.utf${i}be && - test_must_fail git add bebom.utf${i}be 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && +expecting success of 0010.6 'Racy GIT trial #2 part B': test "" != "$files" +ok 6 - Racy GIT trial #2 part B - cp lebom.utf${i}le.raw lebom.utf${i}be && - test_must_fail git add lebom.utf${i}be 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && +expecting success of 0010.7 'Racy GIT trial #3 part A': test "" != "$files" +ok 7 - Racy GIT trial #3 part A - cp bebom.utf${i}be.raw bebom.utf${i}le && - test_must_fail git add bebom.utf${i}le 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && +expecting success of 0010.8 'Racy GIT trial #3 part B': test "" != "$files" +ok 8 - Racy GIT trial #3 part B - cp lebom.utf${i}le.raw lebom.utf${i}le && - test_must_fail git add lebom.utf${i}le 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out - -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0010.9 'Racy GIT trial #4 part A': test "" != "$files" +ok 9 - Racy GIT trial #4 part A -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0010.10 'Racy GIT trial #4 part B': test "" != "$files" +ok 10 - Racy GIT trial #4 part B -) -prerequisite C_LOCALE_OUTPUT ok -fatal: BOM is prohibited in 'bebom.utf16be' if encoded as utf-16be -hint: The file 'bebom.utf16be' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. -fatal: BOM is prohibited in 'lebom.utf16be' if encoded as utf-16be -hint: The file 'lebom.utf16be' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. -fatal: BOM is prohibited in 'bebom.utf16le' if encoded as utf-16LE -hint: The file 'bebom.utf16le' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. -fatal: BOM is prohibited in 'lebom.utf16le' if encoded as utf-16LE -hint: The file 'lebom.utf16le' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +# passed all 10 test(s) +1..10 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0019-json-writer.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0019-json-writer/.git/ +expecting success of 0019.1 'unit test of json-writer routines': + test-tool json-writer -u -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 1 - unit test of json-writer routines -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.2 'trivial object': + cat >expect <<-\EOF && + {} + EOF + cat >input <<-\EOF && + object + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 2 - trivial object -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.3 'trivial array': + cat >expect <<-\EOF && + [] + EOF + cat >input <<-\EOF && + array + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 3 - trivial array -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.4 'simple object': + cat >expect <<-\EOF && + {"a":"abc","b":42,"c":3.14,"d":true,"e":false,"f":null} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-int b 42 + object-double c 2 3.140 + object-true d + object-false e + object-null f + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 4 - simple object -HEAD is now at dfb2bb8 initial -ok 6 - check prohibited UTF-16 BOM +expecting success of 0019.5 'simple array': + cat >expect <<-\EOF && + ["abc",42,3.14,true,false,null] + EOF + cat >input <<-\EOF && + array + array-string abc + array-int 42 + array-double 2 3.140 + array-true + array-false + array-null + end + EOF + test-tool json-writer actual && + test_cmp expect actual -expecting success of 0028.7 'check required UTF-16 BOM': - test_when_finished "git reset --hard HEAD" && +ok 5 - simple array - echo "*.utf${i} text working-tree-encoding=utf-${i}" >>.gitattributes && +expecting success of 0019.6 'escape quoting string': + cat >expect <<-\EOF && + {"a":"abc\\def"} + EOF + cat >input <<-\EOF && + object + object-string a abc\def + end + EOF + test-tool json-writer actual && + test_cmp expect actual - cp nobom.utf${i}be.raw nobom.utf${i} && - test_must_fail git add nobom.utf${i} 2>err.out && - test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && - test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out && +ok 6 - escape quoting string - cp nobom.utf${i}le.raw nobom.utf${i} && - test_must_fail git add nobom.utf${i} 2>err.out && - test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && - test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out - -fatal: BOM is required in 'nobom.utf16' if encoded as utf-16 -hint: The file 'nobom.utf16' is missing a byte order mark (BOM). Please use UTF-16BE or UTF-16LE (depending on the byte order) as working-tree-encoding. -fatal: BOM is required in 'nobom.utf16' if encoded as utf-16 -hint: The file 'nobom.utf16' is missing a byte order mark (BOM). Please use UTF-16BE or UTF-16LE (depending on the byte order) as working-tree-encoding. -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.7 'escape quoting string 2': + cat >expect <<-\EOF && + {"a":"abc\"def"} + EOF + cat >input <<-\EOF && + object + object-string a abc"def + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 7 - escape quoting string 2 -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.8 'nested inline object': + cat >expect <<-\EOF && + {"a":"abc","b":42,"sub1":{"c":3.14,"d":true,"sub2":{"e":false,"f":null}}} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-int b 42 + object-object sub1 + object-double c 2 3.140 + object-true d + object-object sub2 + object-false e + object-null f + end + end + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 8 - nested inline object -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.9 'nested inline array': + cat >expect <<-\EOF && + ["abc",42,[3.14,true,[false,null]]] + EOF + cat >input <<-\EOF && + array + array-string abc + array-int 42 + array-array + array-double 2 3.140 + array-true + array-array + array-false + array-null + end + end + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 9 - nested inline array -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   +expecting success of 0019.10 'nested inline object and array': + cat >expect <<-\EOF && + {"a":"abc","b":42,"sub1":{"c":3.14,"d":true,"sub2":[false,null]}} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-int b 42 + object-object sub1 + object-double c 2 3.140 + object-true d + object-array sub2 + array-false + array-null + end + end + end + EOF + test-tool json-writer actual && + test_cmp expect actual -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +ok 10 - nested inline object and array -HEAD is now at dfb2bb8 initial -ok 7 - check required UTF-16 BOM +expecting success of 0019.11 'nested inline object and array 2': + cat >expect <<-\EOF && + {"a":"abc","b":42,"sub1":{"c":3.14,"d":true,"sub2":[false,{"g":0,"h":1},null]}} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-int b 42 + object-object sub1 + object-double c 2 3.140 + object-true d + object-array sub2 + array-false + array-object + object-int g 0 + object-int h 1 + end + array-null + end + end + end + EOF + test-tool json-writer actual && + test_cmp expect actual -expecting success of 0028.8 'eol conversion for UTF-16 encoded files on checkout': - test_when_finished "rm -f crlf.utf${i}.raw lf.utf${i}.raw" && - test_when_finished "git reset --hard HEAD^" && +ok 11 - nested inline object and array 2 - cat lf.utf8.raw | write_utf${i} >lf.utf${i}.raw && - cat crlf.utf8.raw | write_utf${i} >crlf.utf${i}.raw && - cp crlf.utf${i}.raw eol.utf${i} && +expecting success of 0019.12 'pretty nested inline object and array 2': + sed -e "s/^|//" >expect <<-\EOF && + |{ + | "a": "abc", + | "b": 42, + | "sub1": { + | "c": 3.14, + | "d": true, + | "sub2": [ + | false, + | { + | "g": 0, + | "h": 1 + | }, + | null + | ] + | } + |} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-int b 42 + object-object sub1 + object-double c 2 3.140 + object-true d + object-array sub2 + array-false + array-object + object-int g 0 + object-int h 1 + end + array-null + end + end + end + EOF + test-tool json-writer -p actual && + test_cmp expect actual - cat >expectIndexLF <<-EOF && - i/lf w/-text attr/text eol.utf${i} - EOF +ok 12 - pretty nested inline object and array 2 - git add eol.utf${i} && - git commit -m eol && +expecting success of 0019.13 'inline object with no members': + cat >expect <<-\EOF && + {"a":"abc","empty":{},"b":42} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-object empty + end + object-int b 42 + end + EOF + test-tool json-writer actual && + test_cmp expect actual - # UTF-${i} with CRLF (Windows line endings) - rm eol.utf${i} && - git -c core.eol=crlf checkout eol.utf${i} && - test_cmp_bin crlf.utf${i}.raw eol.utf${i} && +ok 13 - inline object with no members - # Although the file has CRLF in the working tree, - # ensure LF in the index - git ls-files --eol eol.utf${i} >actual && - test_cmp expectIndexLF actual && +expecting success of 0019.14 'inline array with no members': + cat >expect <<-\EOF && + {"a":"abc","empty":[],"b":42} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-array empty + end + object-int b 42 + end + EOF + test-tool json-writer actual && + test_cmp expect actual - # UTF-${i} with LF (Unix line endings) - rm eol.utf${i} && - git -c core.eol=lf checkout eol.utf${i} && - test_cmp_bin lf.utf${i}.raw eol.utf${i} && +ok 14 - inline array with no members - # The file LF in the working tree, ensure LF in the index - git ls-files --eol eol.utf${i} >actual && - test_cmp expectIndexLF actual - -checking prerequisite: NO_UTF16_BOM +expecting success of 0019.15 'larger empty example': + cat >expect <<-\EOF && + {"a":"abc","empty":[{},{},{},[],{}],"b":42} + EOF + cat >input <<-\EOF && + object + object-string a abc + object-array empty + array-object + end + array-object + end + array-object + end + array-array + end + array-object + end + end + object-int b 42 + end + EOF + test-tool json-writer actual && + test_cmp expect actual -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 +ok 15 - larger empty example -) -prerequisite NO_UTF16_BOM not satisfied -checking prerequisite: NO_UTF16_BOM +checking prerequisite: PERLJSON -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-PERLJSON" && ( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 + cd "$TRASH_DIRECTORY/prereq-test-dir-PERLJSON" && + perl -MJSON -e "exit 0" ) -prerequisite NO_UTF16_BOM not satisfied -source (eol.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 6f o |  3: 0   |  4: 6e n |  5: 0   |  6: 65 e |  7: 0   -|  8: d   |  9: 0   | 10: a   | 11: 0   | 12: 74 t | 13: 0   | 14: 77 w | 15: 0   -| 16: 6f o | 17: 0   | 18: d   | 19: 0   | 20: a   | 21: 0   | 22: 74 t | 23: 0   -| 24: 68 h | 25: 0   | 26: 72 r | 27: 0   | 28: 65 e | 29: 0   | 30: 65 e | 31: 0   -| 32: d   | 33: 0   | 34: a   | 35: 0   - -destination (eol.utf16, considered UTF-8): -|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o -|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   -| 16: a   - -warning: CRLF will be replaced by LF in eol.utf16. -The file will have its original line endings in your working directory -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/i386-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl-base /usr/lib/i386-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl .). +BEGIN failed--compilation aborted. +prerequisite PERLJSON not satisfied +ok 16 # skip parse JSON using Perl (missing PERLJSON) -source (eol.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 6f o |  3: 0   |  4: 6e n |  5: 0   |  6: 65 e |  7: 0   -|  8: d   |  9: 0   | 10: a   | 11: 0   | 12: 74 t | 13: 0   | 14: 77 w | 15: 0   -| 16: 6f o | 17: 0   | 18: d   | 19: 0   | 20: a   | 21: 0   | 22: 74 t | 23: 0   -| 24: 68 h | 25: 0   | 26: 72 r | 27: 0   | 28: 65 e | 29: 0   | 30: 65 e | 31: 0   -| 32: d   | 33: 0   | 34: a   | 35: 0   +# passed all 16 test(s) +1..16 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0022-crlf-rename.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0022-crlf-rename/.git/ +expecting success of 0022.1 'setup': -destination (eol.utf16, considered UTF-8): -|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o -|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   -| 16: a   + cat "$TEST_DIRECTORY"/t0022-crlf-rename.sh >sample && + git add sample && -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   + test_tick && + git commit -m Initial && -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? + append_cr <"$TEST_DIRECTORY"/t0022-crlf-rename.sh >elpmas && + git add elpmas && + rm -f sample && -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   + test_tick && + git commit -a -m Second -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -[master 85a4f33] eol +[master (root-commit) 6ee20c2] Initial Author: A U Thor - 1 file changed, 3 insertions(+) - create mode 100644 eol.utf16 -Updated 1 path from the index -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Updated 1 path from the index -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -HEAD is now at dfb2bb8 initial -ok 8 - eol conversion for UTF-16 encoded files on checkout - -expecting success of 0028.9 'check prohibited UTF-32 BOM': - test_when_finished "git reset --hard HEAD" && - - echo "*.utf${i}be text working-tree-encoding=utf-${i}be" >>.gitattributes && - echo "*.utf${i}le text working-tree-encoding=utf-${i}LE" >>.gitattributes && - - # Here we add a UTF-16 (resp. UTF-32) files with BOM (big/little-endian) - # but we tell Git to treat it as UTF-16BE/UTF-16LE (resp. UTF-32). - # In these cases the BOM is prohibited. - cp bebom.utf${i}be.raw bebom.utf${i}be && - test_must_fail git add bebom.utf${i}be 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && - - cp lebom.utf${i}le.raw lebom.utf${i}be && - test_must_fail git add lebom.utf${i}be 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && - - cp bebom.utf${i}be.raw bebom.utf${i}le && - test_must_fail git add bebom.utf${i}le 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && - - cp lebom.utf${i}le.raw lebom.utf${i}le && - test_must_fail git add lebom.utf${i}le 2>err.out && - test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && - test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out - -fatal: BOM is prohibited in 'bebom.utf32be' if encoded as utf-32be -hint: The file 'bebom.utf32be' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. -fatal: BOM is prohibited in 'lebom.utf32be' if encoded as utf-32be -hint: The file 'lebom.utf32be' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. -fatal: BOM is prohibited in 'bebom.utf32le' if encoded as utf-32LE -hint: The file 'bebom.utf32le' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. -fatal: BOM is prohibited in 'lebom.utf32le' if encoded as utf-32LE -hint: The file 'lebom.utf32le' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -HEAD is now at dfb2bb8 initial -ok 9 - check prohibited UTF-32 BOM - -expecting success of 0028.10 'check required UTF-32 BOM': - test_when_finished "git reset --hard HEAD" && - - echo "*.utf${i} text working-tree-encoding=utf-${i}" >>.gitattributes && - - cp nobom.utf${i}be.raw nobom.utf${i} && - test_must_fail git add nobom.utf${i} 2>err.out && - test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && - test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out && - - cp nobom.utf${i}le.raw nobom.utf${i} && - test_must_fail git add nobom.utf${i} 2>err.out && - test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && - test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out - -fatal: BOM is required in 'nobom.utf32' if encoded as utf-32 -hint: The file 'nobom.utf32' is missing a byte order mark (BOM). Please use UTF-32BE or UTF-32LE (depending on the byte order) as working-tree-encoding. -fatal: BOM is required in 'nobom.utf32' if encoded as utf-32 -hint: The file 'nobom.utf32' is missing a byte order mark (BOM). Please use UTF-32BE or UTF-32LE (depending on the byte order) as working-tree-encoding. -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -HEAD is now at dfb2bb8 initial -ok 10 - check required UTF-32 BOM - -expecting success of 0028.11 'eol conversion for UTF-32 encoded files on checkout': - test_when_finished "rm -f crlf.utf${i}.raw lf.utf${i}.raw" && - test_when_finished "git reset --hard HEAD^" && - - cat lf.utf8.raw | write_utf${i} >lf.utf${i}.raw && - cat crlf.utf8.raw | write_utf${i} >crlf.utf${i}.raw && - cp crlf.utf${i}.raw eol.utf${i} && - - cat >expectIndexLF <<-EOF && - i/lf w/-text attr/text eol.utf${i} - EOF - - git add eol.utf${i} && - git commit -m eol && - - # UTF-${i} with CRLF (Windows line endings) - rm eol.utf${i} && - git -c core.eol=crlf checkout eol.utf${i} && - test_cmp_bin crlf.utf${i}.raw eol.utf${i} && - - # Although the file has CRLF in the working tree, - # ensure LF in the index - git ls-files --eol eol.utf${i} >actual && - test_cmp expectIndexLF actual && + 1 file changed, 33 insertions(+) + create mode 100644 sample +[master d248b45] Second + Author: A U Thor + 1 file changed, 33 insertions(+), 33 deletions(-) + rename sample => elpmas (94%) +ok 1 - setup - # UTF-${i} with LF (Unix line endings) - rm eol.utf${i} && - git -c core.eol=lf checkout eol.utf${i} && - test_cmp_bin lf.utf${i}.raw eol.utf${i} && +expecting success of 0022.2 'diff -M': - # The file LF in the working tree, ensure LF in the index - git ls-files --eol eol.utf${i} >actual && - test_cmp expectIndexLF actual - -checking prerequisite: NO_UTF32_BOM + git diff-tree -M -r --name-status HEAD^ HEAD | + sed -e "s/R[0-9]*/RNUM/" >actual && + echo "RNUM sample elpmas" >expect && + test_cmp expect actual -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12 -) -prerequisite NO_UTF32_BOM not satisfied -checking prerequisite: NO_UTF32_BOM +ok 2 - diff -M -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12 +# passed all 2 test(s) +1..2 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0023-crlf-am.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0023-crlf-am/.git/ +expecting success of 0023.1 'setup': -) -prerequisite NO_UTF32_BOM not satisfied -source (eol.utf32, considered utf-32): -|  0: ff   |  1: fe   |  2: 0   |  3: 0   |  4: 6f o |  5: 0   |  6: 0   |  7: 0   -|  8: 6e n |  9: 0   | 10: 0   | 11: 0   | 12: 65 e | 13: 0   | 14: 0   | 15: 0   -| 16: d   | 17: 0   | 18: 0   | 19: 0   | 20: a   | 21: 0   | 22: 0   | 23: 0   -| 24: 74 t | 25: 0   | 26: 0   | 27: 0   | 28: 77 w | 29: 0   | 30: 0   | 31: 0   -| 32: 6f o | 33: 0   | 34: 0   | 35: 0   | 36: d   | 37: 0   | 38: 0   | 39: 0   -| 40: a   | 41: 0   | 42: 0   | 43: 0   | 44: 74 t | 45: 0   | 46: 0   | 47: 0   -| 48: 68 h | 49: 0   | 50: 0   | 51: 0   | 52: 72 r | 53: 0   | 54: 0   | 55: 0   -| 56: 65 e | 57: 0   | 58: 0   | 59: 0   | 60: 65 e | 61: 0   | 62: 0   | 63: 0   -| 64: d   | 65: 0   | 66: 0   | 67: 0   | 68: a   | 69: 0   | 70: 0   | 71: 0   + git config core.autocrlf true && + echo foo >bar && + git add bar && + test_tick && + git commit -m initial -destination (eol.utf32, considered UTF-8): -|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o -|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   -| 16: a   -warning: CRLF will be replaced by LF in eol.utf32. +warning: LF will be replaced by CRLF in bar. The file will have its original line endings in your working directory -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (eol.utf32, considered utf-32): -|  0: ff   |  1: fe   |  2: 0   |  3: 0   |  4: 6f o |  5: 0   |  6: 0   |  7: 0   -|  8: 6e n |  9: 0   | 10: 0   | 11: 0   | 12: 65 e | 13: 0   | 14: 0   | 15: 0   -| 16: d   | 17: 0   | 18: 0   | 19: 0   | 20: a   | 21: 0   | 22: 0   | 23: 0   -| 24: 74 t | 25: 0   | 26: 0   | 27: 0   | 28: 77 w | 29: 0   | 30: 0   | 31: 0   -| 32: 6f o | 33: 0   | 34: 0   | 35: 0   | 36: d   | 37: 0   | 38: 0   | 39: 0   -| 40: a   | 41: 0   | 42: 0   | 43: 0   | 44: 74 t | 45: 0   | 46: 0   | 47: 0   -| 48: 68 h | 49: 0   | 50: 0   | 51: 0   | 52: 72 r | 53: 0   | 54: 0   | 55: 0   -| 56: 65 e | 57: 0   | 58: 0   | 59: 0   | 60: 65 e | 61: 0   | 62: 0   | 63: 0   -| 64: d   | 65: 0   | 66: 0   | 67: 0   | 68: a   | 69: 0   | 70: 0   | 71: 0   - -destination (eol.utf32, considered UTF-8): -|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o -|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   -| 16: a   - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -[master 674dc3f] eol +[master (root-commit) 1adb513] initial Author: A U Thor - 1 file changed, 3 insertions(+) - create mode 100644 eol.utf32 -Updated 1 path from the index -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Updated 1 path from the index -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -HEAD is now at dfb2bb8 initial -ok 11 - eol conversion for UTF-32 encoded files on checkout - -expecting success of 0028.12 'check unsupported encodings': - test_when_finished "git reset --hard HEAD" && - - echo "*.set text working-tree-encoding" >.gitattributes && - printf "set" >t.set && - test_must_fail git add t.set 2>err.out && - test_i18ngrep "true/false are no valid working-tree-encodings" err.out && - - echo "*.unset text -working-tree-encoding" >.gitattributes && - printf "unset" >t.unset && - git add t.unset && - - echo "*.empty text working-tree-encoding=" >.gitattributes && - printf "empty" >t.empty && - git add t.empty && - - echo "*.garbage text working-tree-encoding=garbage" >.gitattributes && - printf "garbage" >t.garbage && - test_must_fail git add t.garbage 2>err.out && - test_i18ngrep "failed to encode" err.out - -fatal: true/false are no valid working-tree-encodings -fatal: failed to encode 't.garbage' from garbage to UTF-8 -HEAD is now at dfb2bb8 initial -ok 12 - check unsupported encodings - -expecting success of 0028.13 'error if encoding round trip is not the same during refresh': - BEFORE_STATE=$(git rev-parse HEAD) && - test_when_finished "git reset --hard $BEFORE_STATE" && - - # Add and commit a UTF-16 file but skip the "working-tree-encoding" - # filter. Consequently, the in-repo representation is UTF-16 and not - # UTF-8. This simulates a Git version that has no working tree encoding - # support. - echo "*.utf16le text working-tree-encoding=utf-16le" >.gitattributes && - echo "hallo" >nonsense.utf16le && - TEST_HASH=$(git hash-object --no-filters -w nonsense.utf16le) && - git update-index --add --cacheinfo 100644 $TEST_HASH nonsense.utf16le && - COMMIT=$(git commit-tree -p $(git rev-parse HEAD) -m "plain commit" $(git write-tree)) && - git update-ref refs/heads/master $COMMIT && - - test_must_fail git checkout HEAD^ 2>err.out && - test_i18ngrep "error: .* overwritten by checkout:" err.out - -error: Your local changes to the following files would be overwritten by checkout: -HEAD is now at dfb2bb8 initial -ok 13 - error if encoding round trip is not the same during refresh - -expecting success of 0028.14 'error if encoding garbage is already in Git': - BEFORE_STATE=$(git rev-parse HEAD) && - test_when_finished "git reset --hard $BEFORE_STATE" && - - # Skip the UTF-16 filter for the added file - # This simulates a Git version that has no checkoutEncoding support - cp nobom.utf16be.raw nonsense.utf16 && - TEST_HASH=$(git hash-object --no-filters -w nonsense.utf16) && - git update-index --add --cacheinfo 100644 $TEST_HASH nonsense.utf16 && - COMMIT=$(git commit-tree -p $(git rev-parse HEAD) -m "plain commit" $(git write-tree)) && - git update-ref refs/heads/master $COMMIT && - - git diff 2>err.out && - test_i18ngrep "error: BOM is required" err.out - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -error: BOM is required in 'nonsense.utf16' if encoded as utf-16 -error: BOM is required in 'nonsense.utf16' if encoded as utf-16 -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   + 1 file changed, 1 insertion(+) + create mode 100644 bar +ok 1 - setup -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? +expecting success of 0023.2 'am': -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   + git am -3 sample && + git add sample && -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-ICONV_SHIFT_JIS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-ICONV_SHIFT_JIS" && - iconv -f UTF-8 -t SHIFT-JIS roundtrip.shift && - printf "$text" | write_utf16 >roundtrip.utf16 && - echo "*.shift text working-tree-encoding=SHIFT-JIS" >>.gitattributes && +[master (root-commit) 4f7f1aa] Initial + Author: A U Thor + 1 file changed, 2 insertions(+) + create mode 100644 sample +ok 1 - setup - # SHIFT-JIS encoded files are round-trip checked by default... - GIT_TRACE=1 git add .gitattributes roundtrip.shift 2>&1 | - grep "Checking roundtrip encoding for SHIFT-JIS" && - git reset && +expecting success of 0024.2 'tar archive': - # ... unless we overwrite the Git config! - ! GIT_TRACE=1 git -c core.checkRoundtripEncoding=garbage \ - add .gitattributes roundtrip.shift 2>&1 | - grep "Checking roundtrip encoding for SHIFT-JIS" && - git reset && + git archive --format=tar HEAD | + ( mkdir untarred && cd untarred && "$TAR" -xf - ) && - # UTF-16 encoded files should not be round-trip checked by default... - ! GIT_TRACE=1 git add roundtrip.utf16 2>&1 | - grep "Checking roundtrip encoding for UTF-16" && - git reset && + test_cmp sample untarred/sample - # ... unless we tell Git to check it! - GIT_TRACE=1 git -c core.checkRoundtripEncoding="UTF-16, UTF-32" \ - add roundtrip.utf16 2>&1 | - grep "Checking roundtrip encoding for utf-16" && - git reset && - # ... unless we tell Git to check it! - # (here we also check that the casing of the encoding is irrelevant) - GIT_TRACE=1 git -c core.checkRoundtripEncoding="UTF-32, utf-16" \ - add roundtrip.utf16 2>&1 | - grep "Checking roundtrip encoding for utf-16" && - git reset +ok 2 - tar archive -checking prerequisite: NO_UTF16_BOM +checking prerequisite: UNZIP -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UNZIP" && ( - cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && - test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 + cd "$TRASH_DIRECTORY/prereq-test-dir-UNZIP" && + "$GIT_UNZIP" -v + test $? -ne 127 ) -prerequisite NO_UTF16_BOM not satisfied -Checking roundtrip encoding for SHIFT-JIS... -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Unstaged changes after reset: -M .gitattributes -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Unstaged changes after reset: -M .gitattributes -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Unstaged changes after reset: -M .gitattributes -Checking roundtrip encoding for utf-16... -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Unstaged changes after reset: -M .gitattributes -Checking roundtrip encoding for utf-16... -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -Unstaged changes after reset: -M .gitattributes -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16, considered utf-16): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -source (test.utf16lebom, considered UTF-16LE-BOM): -|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   -|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   -| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   -| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   -| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   -| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   -| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   -| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - -destination (test.utf16lebom, considered UTF-8): -|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h -|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n -| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a -| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - -HEAD is now at dfb2bb8 initial -ok 15 - check roundtrip encoding - -expecting success of 0028.16 'Commit UTF-8, checkout UTF-8': - test_when_finished "git checkout HEAD -- .gitattributes" && - - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && - - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && - - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && - - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master 7887505] Test data - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-8 -ok 16 - Commit UTF-8, checkout UTF-8 - -expecting success of 0028.17 'Commit UTF-8, checkout UTF-16LE': - test_when_finished "git checkout HEAD -- .gitattributes" && - - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && - - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && - - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && - - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master dd0bb11] Test data - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-16LE -ok 17 - Commit UTF-8, checkout UTF-16LE - -expecting success of 0028.18 'Commit UTF-8, checkout UTF-16BE': - test_when_finished "git checkout HEAD -- .gitattributes" && - - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && - - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && - - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && - - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master ccf08f2] Test data - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-16BE -ok 18 - Commit UTF-8, checkout UTF-16BE - -expecting success of 0028.19 'Commit UTF-8, checkout UTF-16LE-BOM': - test_when_finished "git checkout HEAD -- .gitattributes" && - - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && - - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && - - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && +UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP. - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master bb82fa0] Test data - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-16LE-BOM -ok 19 - Commit UTF-8, checkout UTF-16LE-BOM +Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ; +see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites. -expecting success of 0028.20 'Commit UTF-8, checkout UTF-16BE-BOM': - test_when_finished "git checkout HEAD -- .gitattributes" && +Compiled with gcc 10.2.1 20210110 for Unix (Linux ELF). - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && +UnZip special compilation options: + ACORN_FTYPE_NFS + COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported) + SET_DIR_ATTRIB + SYMLINKS (symbolic links supported, if RTL and file system permit) + TIMESTAMP + UNIXBACKUP + USE_EF_UT_TIME + USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported) + USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported) + UNICODE_SUPPORT [wide-chars, char coding: other] (handle UTF-8 paths) + LARGE_FILE_SUPPORT (large files over 2 GiB supported) + ZIP64_SUPPORT (archives using Zip64 for large files supported) + USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.8, 13-Jul-2019) + VMS_TEXT_CONV + WILD_STOP_AT_DIR + [decryption, version 2.11 of 05 Jan 2007] - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && +UnZip and ZipInfo environment options: + UNZIP: [none] + UNZIPOPT: [none] + ZIPINFO: [none] + ZIPINFOOPT: [none] +prerequisite UNZIP ok +expecting success of 0024.3 'zip archive': - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && + git archive --format=zip HEAD >test.zip && - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master 434b0e2] Test data - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-16BE-BOM -ok 20 - Commit UTF-8, checkout UTF-16BE-BOM + ( mkdir unzipped && cd unzipped && "$GIT_UNZIP" ../test.zip ) && -expecting success of 0028.21 'Commit UTF-8, checkout UTF-32LE': - test_when_finished "git checkout HEAD -- .gitattributes" && + test_cmp sample unzipped/sample - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && +Archive: ../test.zip +4f7f1aaec1ee996d8f5e13c2cfbd43a378578e1f + extracting: sample +ok 3 - zip archive - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && +# passed all 3 test(s) +1..3 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0025-crlf-renormalize.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0025-crlf-renormalize/.git/ +expecting success of 0025.1 'setup': + git config core.autocrlf false && + printf "LINEONE\nLINETWO\nLINETHREE\n" >LF.txt && + printf "LINEONE\r\nLINETWO\r\nLINETHREE\r\n" >CRLF.txt && + printf "LINEONE\r\nLINETWO\nLINETHREE\n" >CRLF_mix_LF.txt && + git add . && + git commit -m initial - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master 4ebb4c9] Test data +[master (root-commit) 98c48e8] initial Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-32LE -ok 21 - Commit UTF-8, checkout UTF-32LE - -expecting success of 0028.22 'Commit UTF-8, checkout UTF-32BE': - test_when_finished "git checkout HEAD -- .gitattributes" && + 3 files changed, 9 insertions(+) + create mode 100644 CRLF.txt + create mode 100644 CRLF_mix_LF.txt + create mode 100644 LF.txt +ok 1 - setup - test_ext="commit_utf8_checkout_$encoding" && - test_file="test.$test_ext" && +expecting success of 0025.2 'renormalize CRLF in repo': + echo "*.txt text=auto" >.gitattributes && + git add --renormalize "*.txt" && + cat >expect <<-\EOF && + i/lf w/crlf attr/text=auto CRLF.txt + i/lf w/lf attr/text=auto LF.txt + i/lf w/mixed attr/text=auto CRLF_mix_LF.txt + EOF + git ls-files --eol | + sed -e "s/ / /g" -e "s/ */ /g" | + sort >actual && + test_cmp expect actual - # Commit as UTF-8 - echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && - printf "$orig_string" >$test_file && - git add $test_file && - git commit -m "Test data" && +ok 2 - renormalize CRLF in repo - # Checkout in tested encoding - rm $test_file && - echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && - git checkout HEAD -- $test_file && +expecting success of 0025.3 'ignore-errors not mistaken for renormalize': + git reset --hard && + echo "*.txt text=auto" >.gitattributes && + git ls-files --eol >expect && + git add --ignore-errors "*.txt" && + git ls-files --eol >actual && + test_cmp expect actual - # Test - printf $expect_bytes >$test_file.raw && - test_cmp_bin $test_file.raw $test_file - -[master bfde51e] Test data - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test.commit_utf8_checkout_UTF-32BE -ok 22 - Commit UTF-8, checkout UTF-32BE +HEAD is now at 98c48e8 initial +ok 3 - ignore-errors not mistaken for renormalize -# passed all 22 test(s) -1..22 +# passed all 3 test(s) +1..3 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0066-dir-iterator.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0066-dir-iterator/.git/ -expecting success of 0066.1 'setup': - mkdir -p dir && - mkdir -p dir/a/b/c/ && - >dir/b && - >dir/c && - mkdir -p dir/d/e/d/ && - >dir/a/b/c/d && - >dir/a/e && - >dir/d/e/d/a && - - mkdir -p dir2/a/b/c/ && - >dir2/a/b/c/d - -ok 1 - setup - -expecting success of 0066.2 'dir-iterator should iterate through all files': - cat >expected-iteration-sorted-output <<-EOF && - [d] (a) [a] ./dir/a - [d] (a/b) [b] ./dir/a/b - [d] (a/b/c) [c] ./dir/a/b/c - [d] (d) [d] ./dir/d - [d] (d/e) [e] ./dir/d/e - [d] (d/e/d) [d] ./dir/d/e/d - [f] (a/b/c/d) [d] ./dir/a/b/c/d - [f] (a/e) [e] ./dir/a/e - [f] (b) [b] ./dir/b - [f] (c) [c] ./dir/c - [f] (d/e/d/a) [a] ./dir/d/e/d/a - EOF - - test-tool dir-iterator ./dir >out && - sort out >./actual-iteration-sorted-output && - - test_cmp expected-iteration-sorted-output actual-iteration-sorted-output +*** t0026-eol-config.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0026-eol-config/.git/ +expecting success of 0026.1 'setup': -ok 2 - dir-iterator should iterate through all files + git config core.autocrlf false && -expecting success of 0066.3 'dir-iterator should list files in the correct order': - cat >expected-pre-order-output <<-EOF && - [d] (a) [a] ./dir2/a - [d] (a/b) [b] ./dir2/a/b - [d] (a/b/c) [c] ./dir2/a/b/c - [f] (a/b/c/d) [d] ./dir2/a/b/c/d - EOF + echo "one text" > .gitattributes && - test-tool dir-iterator ./dir2 >actual-pre-order-output && + for w in Hello world how are you; do echo $w; done >one && + for w in I am very very fine thank you; do echo $w; done >two && + git add . && - test_cmp expected-pre-order-output actual-pre-order-output + git commit -m initial && -ok 3 - dir-iterator should list files in the correct order + one=$(git rev-parse HEAD:one) && + two=$(git rev-parse HEAD:two) && -expecting success of 0066.4 'begin should fail upon inexistent paths': - test_must_fail test-tool dir-iterator ./inexistent-path \ - >actual-inexistent-path-output && - echo "dir_iterator_begin failure: ENOENT" >expected-inexistent-path-output && - test_cmp expected-inexistent-path-output actual-inexistent-path-output + echo happy. -ok 4 - begin should fail upon inexistent paths +[master (root-commit) f7a09ee] initial + Author: A U Thor + 3 files changed, 13 insertions(+) + create mode 100644 .gitattributes + create mode 100644 one + create mode 100644 two +happy. +ok 1 - setup -expecting success of 0066.5 'begin should fail upon non directory paths': - test_must_fail test-tool dir-iterator ./dir/b >actual-non-dir-output && - echo "dir_iterator_begin failure: ENOTDIR" >expected-non-dir-output && - test_cmp expected-non-dir-output actual-non-dir-output +expecting success of 0026.2 'eol=lf puts LFs in normalized file': -ok 5 - begin should fail upon non directory paths + rm -f .gitattributes tmp one two && + git config core.eol lf && + git read-tree --reset -u HEAD && -checking prerequisite: SANITY + ! has_cr one && + ! has_cr two && + onediff=$(git diff one) && + twodiff=$(git diff two) && + test -z "$onediff" && test -z "$twodiff" -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && +ok 2 - eol=lf puts LFs in normalized file - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" +expecting success of 0026.3 'eol=crlf puts CRLFs in normalized file': - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? + rm -f .gitattributes tmp one two && + git config core.eol crlf && + git read-tree --reset -u HEAD && - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status + has_cr one && + ! has_cr two && + onediff=$(git diff one) && + twodiff=$(git diff two) && + test -z "$onediff" && test -z "$twodiff" -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 0066.6 'advance should not fail on errors by default': - cat >expected-no-permissions-output <<-EOF && - [d] (a) [a] ./dir3/a - EOF +ok 3 - eol=crlf puts CRLFs in normalized file - mkdir -p dir3/a && - >dir3/a/b && - chmod 0 dir3/a && +expecting success of 0026.4 'autocrlf=true overrides eol=lf': - test-tool dir-iterator ./dir3 >actual-no-permissions-output && - test_cmp expected-no-permissions-output actual-no-permissions-output && - chmod 755 dir3/a && - rm -rf dir3 + rm -f .gitattributes tmp one two && + git config core.eol lf && + git config core.autocrlf true && + git read-tree --reset -u HEAD && -warning: error opening directory './dir3/a/': Permission denied -ok 6 - advance should not fail on errors by default + has_cr one && + has_cr two && + onediff=$(git diff one) && + twodiff=$(git diff two) && + test -z "$onediff" && test -z "$twodiff" -expecting success of 0066.7 'advance should fail on errors, w/ pedantic flag': - cat >expected-no-permissions-pedantic-output <<-EOF && - [d] (a) [a] ./dir3/a - dir_iterator_advance failure - EOF +ok 4 - autocrlf=true overrides eol=lf - mkdir -p dir3/a && - >dir3/a/b && - chmod 0 dir3/a && +expecting success of 0026.5 'autocrlf=true overrides unset eol': - test_must_fail test-tool dir-iterator --pedantic ./dir3 \ - >actual-no-permissions-pedantic-output && - test_cmp expected-no-permissions-pedantic-output \ - actual-no-permissions-pedantic-output && - chmod 755 dir3/a && - rm -rf dir3 + rm -f .gitattributes tmp one two && + git config --unset-all core.eol && + git config core.autocrlf true && + git read-tree --reset -u HEAD && -warning: error opening directory './dir3/a/': Permission denied -ok 7 - advance should fail on errors, w/ pedantic flag + has_cr one && + has_cr two && + onediff=$(git diff one) && + twodiff=$(git diff two) && + test -z "$onediff" && test -z "$twodiff" -checking prerequisite: SYMLINKS +ok 5 - autocrlf=true overrides unset eol -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +ok 6 # skip eol native is crlf (missing NATIVE_CRLF) -) -prerequisite SYMLINKS ok -expecting success of 0066.8 'setup dirs with symlinks': - mkdir -p dir4/a && - mkdir -p dir4/b/c && - >dir4/a/d && - ln -s d dir4/a/e && - ln -s ../b dir4/a/f && +# passed all 6 test(s) +1..6 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0020-crlf.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0020-crlf/.git/ +expecting success of 0020.1 'setup': - mkdir -p dir5/a/b && - mkdir -p dir5/a/c && - ln -s ../c dir5/a/b/d && - ln -s ../ dir5/a/b/e && - ln -s ../../ dir5/a/b/f && + git config core.autocrlf false && - ln -s dir4 dir6 + for w in Hello world how are you; do echo $w; done >one && + mkdir dir && + for w in I am very very fine thank you; do echo $w; done >dir/two && + for w in Oh here is NULQin text here; do echo $w; done | q_to_nul >three && + git add . && -ok 8 - setup dirs with symlinks + git commit -m initial && -expecting success of 0066.9 'dir-iterator should not follow symlinks by default': - cat >expected-no-follow-sorted-output <<-EOF && - [d] (a) [a] ./dir4/a - [d] (b) [b] ./dir4/b - [d] (b/c) [c] ./dir4/b/c - [f] (a/d) [d] ./dir4/a/d - [s] (a/e) [e] ./dir4/a/e - [s] (a/f) [f] ./dir4/a/f - EOF + one=$(git rev-parse HEAD:one) && + dir=$(git rev-parse HEAD:dir) && + two=$(git rev-parse HEAD:dir/two) && + three=$(git rev-parse HEAD:three) && - test-tool dir-iterator ./dir4 >out && - sort out >actual-no-follow-sorted-output && + for w in Some extra lines here; do echo $w; done >>one && + git diff >patch.file && + patched=$(git hash-object --stdin + 3 files changed, 12 insertions(+) + create mode 100644 dir/two + create mode 100644 one + create mode 100644 three +ok 1 - setup -ok 9 - dir-iterator should not follow symlinks by default +expecting success of 0020.2 'safecrlf: autocrlf=input, all CRLF': -expecting success of 0066.10 'dir-iterator should follow symlinks w/ follow flag': - cat >expected-follow-sorted-output <<-EOF && - [d] (a) [a] ./dir4/a - [d] (a/f) [f] ./dir4/a/f - [d] (a/f/c) [c] ./dir4/a/f/c - [d] (b) [b] ./dir4/b - [d] (b/c) [c] ./dir4/b/c - [f] (a/d) [d] ./dir4/a/d - [f] (a/e) [e] ./dir4/a/e - EOF + git config core.autocrlf input && + git config core.safecrlf true && - test-tool dir-iterator --follow-symlinks ./dir4 >out && - sort out >actual-follow-sorted-output && + for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && + test_must_fail git add allcrlf - test_cmp expected-follow-sorted-output actual-follow-sorted-output +fatal: CRLF would be replaced by LF in allcrlf +ok 2 - safecrlf: autocrlf=input, all CRLF -ok 10 - dir-iterator should follow symlinks w/ follow flag +expecting success of 0020.3 'safecrlf: autocrlf=input, mixed LF/CRLF': -expecting success of 0066.11 'dir-iterator does not resolve top-level symlinks': - test_must_fail test-tool dir-iterator ./dir6 >out && + git config core.autocrlf input && + git config core.safecrlf true && - grep "ENOTDIR" out + for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && + test_must_fail git add mixed -dir_iterator_begin failure: ENOTDIR -ok 11 - dir-iterator does not resolve top-level symlinks +fatal: CRLF would be replaced by LF in mixed +ok 3 - safecrlf: autocrlf=input, mixed LF/CRLF -expecting success of 0066.12 'dir-iterator resolves top-level symlinks w/ follow flag': - cat >expected-follow-sorted-output <<-EOF && - [d] (a) [a] ./dir6/a - [d] (a/f) [f] ./dir6/a/f - [d] (a/f/c) [c] ./dir6/a/f/c - [d] (b) [b] ./dir6/b - [d] (b/c) [c] ./dir6/b/c - [f] (a/d) [d] ./dir6/a/d - [f] (a/e) [e] ./dir6/a/e - EOF +expecting success of 0020.4 'safecrlf: autocrlf=true, all LF': - test-tool dir-iterator --follow-symlinks ./dir6 >out && - sort out >actual-follow-sorted-output && + git config core.autocrlf true && + git config core.safecrlf true && - test_cmp expected-follow-sorted-output actual-follow-sorted-output + for w in I am all LF; do echo $w; done >alllf && + test_must_fail git add alllf -ok 12 - dir-iterator resolves top-level symlinks w/ follow flag +fatal: LF would be replaced by CRLF in alllf +ok 4 - safecrlf: autocrlf=true, all LF -# passed all 12 test(s) -1..12 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0091-bugreport.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0091-bugreport/.git/ -expecting success of 0091.1 'creates a report with content in the right places': - test_when_finished rm git-bugreport-check-headers.txt && - git bugreport -s check-headers && - check_all_headers_populated >git-bugreport-duplicate.txt && - test_must_fail git bugreport --suffix duplicate + for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && + test_must_fail git add mixed -fatal: couldn't create a new file at 'git-bugreport-duplicate.txt' -ok 2 - dies if file with same name as report already exists +fatal: LF would be replaced by CRLF in mixed +ok 5 - safecrlf: autocrlf=true mixed LF/CRLF -expecting success of 0091.3 '--output-directory puts the report in the provided dir': - test_when_finished rm -fr foo/ && - git bugreport -o foo/ && - test_path_is_file foo/git-bugreport-* +expecting success of 0020.6 'safecrlf: print warning only once': -Created new report at 'foo/git-bugreport-2024-05-31-2230.txt'. -ok 3 - --output-directory puts the report in the provided dir + git config core.autocrlf input && + git config core.safecrlf warn && -expecting success of 0091.4 'incorrect arguments abort with usage': - test_must_fail git bugreport --false 2>output && - test_i18ngrep usage output && - test_path_is_missing git-bugreport-* + for w in I am all LF; do echo $w; done >doublewarn && + git add doublewarn && + git commit -m "nowarn" && + for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >doublewarn && + git add doublewarn 2>err && + if test_have_prereq C_LOCALE_OUTPUT + then + test $(grep "CRLF will be replaced by LF" err | wc -l) = 1 + fi +[master 4d5dbcd] nowarn + Author: A U Thor + 1 file changed, 4 insertions(+) + create mode 100644 doublewarn checking prerequisite: C_LOCALE_OUTPUT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && @@ -15572,502 +10763,286 @@ ) prerequisite C_LOCALE_OUTPUT ok -usage: git bugreport [-o|--output-directory ] [-s|--suffix ] -ok 4 - incorrect arguments abort with usage - -expecting success of 0091.5 'runs outside of a git dir': - test_when_finished rm non-repo/git-bugreport-* && - nongit git bugreport - -Created new report at 'git-bugreport-2024-05-31-2230.txt'. -ok 5 - runs outside of a git dir - -expecting success of 0091.6 'can create leading directories outside of a git dir': - test_when_finished rm -fr foo/bar/baz && - nongit git bugreport -o foo/bar/baz - -Created new report at 'foo/bar/baz/git-bugreport-2024-05-31-2230.txt'. -ok 6 - can create leading directories outside of a git dir - -expecting success of 0091.7 'indicates populated hooks': - test_when_finished rm git-bugreport-hooks.txt && - test_when_finished rm -fr .git/hooks && - rm -fr .git/hooks && - mkdir .git/hooks && - for hook in applypatch-msg prepare-commit-msg.sample - do - write_script ".git/hooks/$hook" <<-EOF || return 1 - echo "hook $hook exists" - EOF - done && - git bugreport -s hooks && - grep applypatch-msg git-bugreport-hooks.txt && - ! grep prepare-commit-msg git-bugreport-hooks.txt - -Created new report at 'git-bugreport-hooks.txt'. -applypatch-msg -ok 7 - indicates populated hooks - -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0095-bloom.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0095-bloom/.git/ -expecting success of 0095.1 'compute unseeded murmur3 hash for empty string': - cat >expect <<-\EOF && - Murmur3 Hash with seed=0:0x00000000 - EOF - test-tool bloom get_murmur3 "" >actual && - test_cmp expect actual - -ok 1 - compute unseeded murmur3 hash for empty string - -expecting success of 0095.2 'compute unseeded murmur3 hash for test string 1': - cat >expect <<-\EOF && - Murmur3 Hash with seed=0:0x627b0c2c - EOF - test-tool bloom get_murmur3 "Hello world!" >actual && - test_cmp expect actual - -ok 2 - compute unseeded murmur3 hash for test string 1 - -expecting success of 0095.3 'compute unseeded murmur3 hash for test string 2': - cat >expect <<-\EOF && - Murmur3 Hash with seed=0:0x2e4ff723 - EOF - test-tool bloom get_murmur3 "The quick brown fox jumps over the lazy dog" >actual && - test_cmp expect actual - -ok 3 - compute unseeded murmur3 hash for test string 2 - -expecting success of 0095.4 'compute bloom key for empty string': - cat >expect <<-\EOF && - Hashes:0x5615800c|0x5b966560|0x61174ab4|0x66983008|0x6c19155c|0x7199fab0|0x771ae004| - Filter_Length:2 - Filter_Data:11|11| - EOF - test-tool bloom generate_filter "" >actual && - test_cmp expect actual - -ok 4 - compute bloom key for empty string - -expecting success of 0095.5 'compute bloom key for whitespace': - cat >expect <<-\EOF && - Hashes:0xf178874c|0x5f3d6eb6|0xcd025620|0x3ac73d8a|0xa88c24f4|0x16510c5e|0x8415f3c8| - Filter_Length:2 - Filter_Data:51|55| - EOF - test-tool bloom generate_filter " " >actual && - test_cmp expect actual - -ok 5 - compute bloom key for whitespace - -expecting success of 0095.6 'compute bloom key for test string 1': - cat >expect <<-\EOF && - Hashes:0xb270de9b|0x1bb6f26e|0x84fd0641|0xee431a14|0x57892de7|0xc0cf41ba|0x2a15558d| - Filter_Length:2 - Filter_Data:92|6c| - EOF - test-tool bloom generate_filter "Hello world!" >actual && - test_cmp expect actual - -ok 6 - compute bloom key for test string 1 +ok 6 - safecrlf: print warning only once -expecting success of 0095.7 'compute bloom key for test string 2': - cat >expect <<-\EOF && - Hashes:0x20ab385b|0xf5237fe2|0xc99bc769|0x9e140ef0|0x728c5677|0x47049dfe|0x1b7ce585| - Filter_Length:2 - Filter_Data:a5|4a| - EOF - test-tool bloom generate_filter "file.txt" >actual && - test_cmp expect actual +expecting success of 0020.7 'safecrlf: git diff demotes safecrlf=true to warn': + git config core.autocrlf input && + git config core.safecrlf true && + git diff HEAD -ok 7 - compute bloom key for test string 2 +diff --git a/doublewarn b/doublewarn +index 03ba6c2..1ed2a2c 100644 +--- a/doublewarn ++++ b/doublewarn +@@ -1,4 +1,6 @@ +-I +-am +-all +-LF ++Oh ++here ++is ++CRLF ++in ++text +ok 7 - safecrlf: git diff demotes safecrlf=true to warn -expecting success of 0095.8 'get bloom filters for commit with no changes': - git init && - git commit --allow-empty -m "c0" && - cat >expect <<-\EOF && - Filter_Length:1 - Filter_Data:00| - EOF - test-tool bloom get_filter_for_commit "$(git rev-parse HEAD)" >actual && - test_cmp expect actual +expecting success of 0020.8 'safecrlf: no warning with safecrlf=false': + git config core.autocrlf input && + git config core.safecrlf false && -Reinitialized existing Git repository in /build/git-2.30.2/t/trash directory.t0095-bloom/.git/ -[master (root-commit) c7bd1a3] c0 - Author: A U Thor -ok 8 - get bloom filters for commit with no changes + for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && + git add allcrlf 2>err && + test_must_be_empty err -expecting success of 0095.9 'get bloom filter for commit with 10 changes': - rm actual && - rm expect && - mkdir smallDir && - for i in $(test_seq 0 9) - do - echo $i >smallDir/$i - done && - git add smallDir && - git commit -m "commit with 10 changes" && - cat >expect <<-\EOF && - Filter_Length:14 - Filter_Data:02|b3|c4|a0|34|e7|fe|eb|cb|47|fe|a0|e8|72| - EOF - test-tool bloom get_filter_for_commit "$(git rev-parse HEAD)" >actual && - test_cmp expect actual +ok 8 - safecrlf: no warning with safecrlf=false -[master 2444bb6] commit with 10 changes - Author: A U Thor - 10 files changed, 10 insertions(+) - create mode 100644 smallDir/0 - create mode 100644 smallDir/1 - create mode 100644 smallDir/2 - create mode 100644 smallDir/3 - create mode 100644 smallDir/4 - create mode 100644 smallDir/5 - create mode 100644 smallDir/6 - create mode 100644 smallDir/7 - create mode 100644 smallDir/8 - create mode 100644 smallDir/9 -ok 9 - get bloom filter for commit with 10 changes +expecting success of 0020.9 'switch off autocrlf, safecrlf, reset HEAD': + git config core.autocrlf false && + git config core.safecrlf false && + git reset --hard HEAD^ -checking prerequisite: EXPENSIVE +HEAD is now at 69d7d88 initial +ok 9 - switch off autocrlf, safecrlf, reset HEAD -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && - test -n "$GIT_TEST_LONG" +expecting success of 0020.10 'update with autocrlf=input': -) -prerequisite EXPENSIVE not satisfied -ok 10 # skip get bloom filter for commit with 513 changes (missing EXPENSIVE) + rm -f tmp one dir/two three && + git read-tree --reset -u HEAD && + git config core.autocrlf input && + munge_cr append one && + munge_cr append dir/two && + git update-index -- one dir/two && + differs=$(git diff-index --cached HEAD) && + verbose test -z "$differs" -# passed all 10 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0101-at-syntax.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0101-at-syntax/.git/ -expecting success of 0101.1 'setup': - test_commit one && - test_commit two -[master (root-commit) d79ce16] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master 139b20d] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -ok 1 - setup +ok 10 - update with autocrlf=input -expecting success of 0101.2 '@{0} shows current': - check_at @{0} two +expecting success of 0020.11 'update with autocrlf=true': -ok 2 - @{0} shows current + rm -f tmp one dir/two three && + git read-tree --reset -u HEAD && + git config core.autocrlf true && + munge_cr append one && + munge_cr append dir/two && + git update-index -- one dir/two && + differs=$(git diff-index --cached HEAD) && + verbose test -z "$differs" -expecting success of 0101.3 '@{1} shows old': - check_at @{1} one -ok 3 - @{1} shows old +ok 11 - update with autocrlf=true -expecting success of 0101.4 '@{now} shows current': - check_at @{now} two +expecting success of 0020.12 'checkout with autocrlf=true': -ok 4 - @{now} shows current + rm -f tmp one dir/two three && + git config core.autocrlf true && + git read-tree --reset -u HEAD && + munge_cr remove one && + munge_cr remove dir/two && + git update-index -- one dir/two && + test "$one" = $(git hash-object --stdin [...] -- [...]' -ok 7 - notice misspelled upstream + rm -f tmp one dir/two three && + git config core.autocrlf input && + git read-tree --reset -u HEAD && -expecting success of 0101.8 'complain about total nonsense': - test_must_fail git log -1 --format=%s @{utter.bogosity} + git apply patch.file && + verbose test "$patched" = "$(git hash-object --stdin [...] -- [...]' -ok 8 - complain about total nonsense +ok 14 - apply patch (autocrlf=input) -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0201-gettext-fallbacks.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0201-gettext-fallbacks/.git/ -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0020.15 'apply patch --cached (autocrlf=input)': -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + rm -f tmp one dir/two three && + git config core.autocrlf input && + git read-tree --reset -u HEAD && -) -prerequisite C_LOCALE_OUTPUT ok -# lib-gettext: No is_IS UTF-8 locale available -# lib-gettext: No is_IS ISO-8859-1 locale available -expecting success of 0201.1 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough)': - test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME" + git apply --cached patch.file && + verbose test "$patched" = $(git rev-parse :one) -ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough) +ok 15 - apply patch --cached (autocrlf=input) -expecting success of 0201.2 'sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set': - test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" +expecting success of 0020.16 'apply patch --index (autocrlf=input)': -ok 2 - sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set + rm -f tmp one dir/two three && + git config core.autocrlf input && + git read-tree --reset -u HEAD && -expecting success of 0201.3 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough': - echo fallthrough >expect && - echo $GIT_INTERNAL_GETTEXT_SH_SCHEME >actual && - test_cmp expect actual + git apply --index patch.file && + verbose test "$patched" = $(git rev-parse :one) && + verbose test "$patched" = $(git hash-object --stdin expect && - gettext "test" >actual && - test_i18ncmp expect actual && - printf "test more words" >expect && - gettext "test more words" >actual && - test_i18ncmp expect actual +expecting success of 0020.17 'apply patch (autocrlf=true)': -ok 4 - gettext: our gettext() fallback has pass-through semantics + rm -f tmp one dir/two three && + git config core.autocrlf true && + git read-tree --reset -u HEAD && -expecting success of 0201.5 'eval_gettext: our eval_gettext() fallback has pass-through semantics': - printf "test" >expect && - eval_gettext "test" >actual && - test_i18ncmp expect actual && - printf "test more words" >expect && - eval_gettext "test more words" >actual && - test_i18ncmp expect actual + git apply patch.file && + verbose test "$patched" = "$(remove_cr expect && - GIT_INTERNAL_GETTEXT_TEST_FALLBACKS=YesPlease eval_gettext "test \$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" >actual && - test_i18ncmp expect actual +expecting success of 0020.18 'apply patch --cached (autocrlf=true)': -ok 6 - eval_gettext: our eval_gettext() fallback can interpolate variables + rm -f tmp one dir/two three && + git config core.autocrlf true && + git read-tree --reset -u HEAD && -expecting success of 0201.7 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces': - cmdline="git am" && - export cmdline && - printf "When you have resolved this problem, run git am --resolved." >expect && - eval_gettext "When you have resolved this problem, run \$cmdline --resolved." >actual && - test_i18ncmp expect actual + git apply --cached patch.file && + verbose test "$patched" = $(git rev-parse :one) -ok 7 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces +ok 18 - apply patch --cached (autocrlf=true) -expecting success of 0201.8 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes': - cmdline="git am" && - export cmdline && - printf "When you have resolved this problem, run \"git am --resolved\"." >expect && - eval_gettext "When you have resolved this problem, run \"\$cmdline --resolved\"." >actual && - test_i18ncmp expect actual +expecting success of 0020.19 'apply patch --index (autocrlf=true)': -ok 8 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes + rm -f tmp one dir/two three && + git config core.autocrlf true && + git read-tree --reset -u HEAD && -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0200-gettext-basic.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0200-gettext-basic/.git/ -checking prerequisite: C_LOCALE_OUTPUT + git apply --index patch.file && + verbose test "$patched" = $(git rev-parse :one) && + verbose test "$patched" = "$(remove_cr .gitattributes && + git config core.autocrlf true && + git read-tree --reset -u HEAD && -expecting success of 0200.2 'sanity: $TEXTDOMAIN is git': - test $TEXTDOMAIN = "git" + ! has_cr dir/two && + verbose has_cr one && + ! has_cr three -ok 2 - sanity: $TEXTDOMAIN is git +ok 20 - .gitattributes says two is binary -expecting success of 0200.3 'xgettext sanity: Perl _() strings are not extracted': - ! grep "A Perl string xgettext will not get" "$GIT_PO_PATH"/is.po +expecting success of 0020.21 '.gitattributes says two is input': -ok 3 - xgettext sanity: Perl _() strings are not extracted + rm -f tmp one dir/two three && + echo "two crlf=input" >.gitattributes && + git read-tree --reset -u HEAD && -expecting success of 0200.4 'xgettext sanity: Comment extraction with --add-comments': - grep "TRANSLATORS: This is a test" "$TEST_DIRECTORY"/t0200/* | wc -l >expect && - grep "TRANSLATORS: This is a test" "$GIT_PO_PATH"/is.po | wc -l >actual && - test_cmp expect actual + ! has_cr dir/two -ok 4 - xgettext sanity: Comment extraction with --add-comments +ok 21 - .gitattributes says two is input -expecting success of 0200.5 'xgettext sanity: Comment extraction with --add-comments stops at statements': - ! grep "This is a phony" "$GIT_PO_PATH"/is.po && - ! grep "the above comment" "$GIT_PO_PATH"/is.po +expecting success of 0020.22 '.gitattributes says two and three are text': -ok 5 - xgettext sanity: Comment extraction with --add-comments stops at statements + rm -f tmp one dir/two three && + echo "t* crlf" >.gitattributes && + git read-tree --reset -u HEAD && -expecting success of 0200.6 'sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease': - test -d "$TEXTDOMAINDIR" && - test "$TEXTDOMAINDIR" = "$GIT_TEXTDOMAINDIR" + verbose has_cr dir/two && + verbose has_cr three -ok 6 - sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease +ok 22 - .gitattributes says two and three are text -expecting success of 0200.7 'sanity: Icelandic locale was compiled': - test -f "$TEXTDOMAINDIR/is/LC_MESSAGES/git.mo" +expecting success of 0020.23 'in-tree .gitattributes (1)': -ok 7 - sanity: Icelandic locale was compiled + echo "one -crlf" >>.gitattributes && + git add .gitattributes && + git commit -m "Add .gitattributes" && -expecting success of 0200.8 'sanity: gettext("") metadata is OK': - # Return value may be non-zero - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "" >zero-expect && - grep "Project-Id-Version: Git" zero-expect && - grep "Git Mailing List " zero-expect && - grep "Content-Type: text/plain; charset=UTF-8" zero-expect && - grep "Content-Transfer-Encoding: 8bit" zero-expect + rm -rf tmp one dir .gitattributes patch.file three && + git read-tree --reset -u HEAD && -Project-Id-Version: Git -Report-Msgid-Bugs-To: Git Mailing List -Language-Team: Git Mailing List -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -ok 8 - sanity: gettext("") metadata is OK + ! has_cr one && + verbose has_cr three -expecting success of 0200.9 'sanity: gettext(unknown) is passed through': - printf "This is not a translation string" >expect && - gettext "This is not a translation string" >actual && - eval_gettext "This is not a translation string" >actual && - test_cmp expect actual +[master 31eb750] Add .gitattributes + Author: A U Thor + 1 file changed, 2 insertions(+) + create mode 100644 .gitattributes +ok 23 - in-tree .gitattributes (1) -ok 9 - sanity: gettext(unknown) is passed through +expecting success of 0020.24 'in-tree .gitattributes (2)': -expecting success of 0200.10 'xgettext: C extraction of _() and N_() strings': - printf "TILRAUN: C tilraunastrengur" >expect && - printf "\n" >>expect && - printf "Sjá 'git help SKIPUN' til að sjá hjálp fyrir tiltekna skipun." >>expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A C test string" >actual && - printf "\n" >>actual && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "See 'git help COMMAND' for more information on a specific command." >>actual && - test_cmp expect actual + rm -rf tmp one dir .gitattributes patch.file three && + git read-tree --reset HEAD && + git checkout-index -f -q -u -a && -ok 10 - xgettext: C extraction of _() and N_() strings + ! has_cr one && + verbose has_cr three -expecting success of 0200.11 'xgettext: C extraction with %s': - printf "TILRAUN: C tilraunastrengur %%s" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A C test string %s" >actual && - test_cmp expect actual +ok 24 - in-tree .gitattributes (2) -ok 11 - xgettext: C extraction with %s +expecting success of 0020.25 'in-tree .gitattributes (3)': -expecting success of 0200.12 'xgettext: Shell extraction': - printf "TILRAUN: Skeljartilraunastrengur" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Shell test string" >actual && - test_cmp expect actual + rm -rf tmp one dir .gitattributes patch.file three && + git read-tree --reset HEAD && + git checkout-index -u .gitattributes && + git checkout-index -u one dir/two three && -ok 12 - xgettext: Shell extraction + ! has_cr one && + verbose has_cr three -expecting success of 0200.13 'xgettext: Shell extraction with $variable': - printf "TILRAUN: Skeljartilraunastrengur með breytunni a var i able" >x-expect && - LANGUAGE=is LC_ALL="$is_IS_locale" variable="a var i able" eval_gettext "TEST: A Shell test \$variable" >x-actual && - test_cmp x-expect x-actual +ok 25 - in-tree .gitattributes (3) -ok 13 - xgettext: Shell extraction with $variable +expecting success of 0020.26 'in-tree .gitattributes (4)': -expecting success of 0200.14 'xgettext: Perl extraction': - printf "TILRAUN: Perl tilraunastrengur" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Perl test string" >actual && - test_cmp expect actual + rm -rf tmp one dir .gitattributes patch.file three && + git read-tree --reset HEAD && + git checkout-index -u one dir/two three && + git checkout-index -u .gitattributes && -ok 14 - xgettext: Perl extraction + ! has_cr one && + verbose has_cr three -expecting success of 0200.15 'xgettext: Perl extraction with %s': - printf "TILRAUN: Perl tilraunastrengur með breytunni %%s" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Perl test variable %s" >actual && - test_cmp expect actual +ok 26 - in-tree .gitattributes (4) -ok 15 - xgettext: Perl extraction with %s +expecting success of 0020.27 'checkout with existing .gitattributes': -expecting success of 0200.16 'sanity: Some gettext("") data for real locale': - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "" >real-locale && - test -s real-locale + git config core.autocrlf true && + git config --unset core.safecrlf && + echo ".file2 -crlfQ" | q_to_cr >> .gitattributes && + git add .gitattributes && + git commit -m initial && + echo ".file -crlfQ" | q_to_cr >> .gitattributes && + echo "contents" > .file && + git add .gitattributes .file && + git commit -m second && -ok 16 - sanity: Some gettext("") data for real locale + git checkout master~1 && + git checkout master && + test "$(git diff-files --raw)" = "" -# passed all 16 test(s) -1..16 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0100-previous.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0100-previous/.git/ -expecting success of 0100.1 'branch -d @{-1}': - test_commit A && - git checkout -b junk && - git checkout - && - test "$(git symbolic-ref HEAD)" = refs/heads/master && - git branch -d @{-1} && - test_must_fail git rev-parse --verify refs/heads/junk -[master (root-commit) 0ddfaf1] A +[master 6d0586a] initial Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 A.t -Switched to a new branch 'junk' -Switched to branch 'master' -Deleted branch junk (was 0ddfaf1). -fatal: Needed a single revision -ok 1 - branch -d @{-1} - -expecting success of 0100.2 'branch -d @{-12} when there is not enough switches yet': - git reflog expire --expire=now && - git checkout -b junk2 && - git checkout - && - test "$(git symbolic-ref HEAD)" = refs/heads/master && - test_must_fail git branch -d @{-12} && - git rev-parse --verify refs/heads/master - -Switched to a new branch 'junk2' -Switched to branch 'master' -error: branch '@{-12}' not found. -0ddfaf193ff13d6ab39b7cbd9eed645e3ee2f050 -ok 2 - branch -d @{-12} when there is not enough switches yet - -expecting success of 0100.3 'merge @{-1}': - git checkout A && - test_commit B && - git checkout A && - test_commit C && - test_commit D && - git branch -f master B && - git branch -f other && - git checkout other && - git checkout master && - git merge @{-1} && - git cat-file commit HEAD | grep "Merge branch 'other'" - -Note: switching to 'A'. +[master f2c783e] second + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 .file +Note: switching to 'master~1'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this @@ -16084,285 +11059,134 @@ Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at 0ddfaf1 A -[detached HEAD d9df450] B - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 B.t -Previous HEAD position was d9df450 B -HEAD is now at 0ddfaf1 A -[detached HEAD 5dee784] C - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 C.t -[detached HEAD 12bd07b] D - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 D.t -Switched to branch 'other' +HEAD is now at 6d0586a initial +Previous HEAD position was 6d0586a initial Switched to branch 'master' -Merging: -d9df450 B -virtual @{-1} -found 1 common ancestor: -0ddfaf1 A -Merge made by the 'recursive' strategy. - C.t | 1 + - D.t | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 C.t - create mode 100644 D.t -Merge branch 'other' -ok 3 - merge @{-1} +ok 27 - checkout with existing .gitattributes -expecting success of 0100.4 'merge @{-1}~1': - git checkout master && - git reset --hard B && - git checkout other && - git checkout master && - git merge @{-1}~1 && - git cat-file commit HEAD >actual && - grep "Merge branch 'other'" actual +expecting success of 0020.28 'checkout when deleting .gitattributes': -Already on 'master' -HEAD is now at d9df450 B -Switched to branch 'other' -Switched to branch 'master' -Merging: -d9df450 B -virtual @{-1}~1 -found 1 common ancestor: -0ddfaf1 A -Merge made by the 'recursive' strategy. - C.t | 1 + - 1 file changed, 1 insertion(+) - create mode 100644 C.t -Merge branch 'other' (early part) -ok 4 - merge @{-1}~1 + git rm .gitattributes && + echo "contentsQ" | q_to_cr > .file2 && + git add .file2 && + git commit -m third && -expecting success of 0100.5 'merge @{-100} before checking out that many branches yet': - git reflog expire --expire=now && - git checkout -f master && - git reset --hard B && - git branch -f other C && - git checkout other && + git checkout master~1 && git checkout master && - test_must_fail git merge @{-100} - -Already on 'master' -HEAD is now at d9df450 B -Switched to branch 'other' -Switched to branch 'master' -merge: @{-100} - not something we can merge -ok 5 - merge @{-100} before checking out that many branches yet - -expecting success of 0100.6 'log -g @{-1}': - git checkout -b last_branch && - git checkout -b new_branch && - echo "last_branch@{0}" >expect && - git log -g --format=%gd @{-1} >actual && - test_cmp expect actual - -Switched to a new branch 'last_branch' -Switched to a new branch 'new_branch' -ok 6 - log -g @{-1} - -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0203-gettext-setlocale-sanity.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0203-gettext-setlocale-sanity/.git/ -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -# lib-gettext: Found 'is_IS.utf8' as an is_IS UTF-8 locale -# lib-gettext: No is_IS ISO-8859-1 locale available -expecting success of 0203.1 'git show a ISO-8859-1 commit under C locale': - . "$TEST_DIRECTORY"/t3901/8859-1.txt && - test_commit "iso-c-commit" iso-under-c && - git show >out 2>err && - test_must_be_empty err && - grep -q "iso-c-commit" out + has_cr .file2 -Warning: commit message did not conform to UTF-8. -You may want to amend it after fixing the message, or set the config -variable i18n.commitencoding to the encoding your project uses. -[master (root-commit) f2030b4] iso-c-commit - Author: Ãéí óú - 1 file changed, 1 insertion(+) - create mode 100644 iso-under-c -ok 1 - git show a ISO-8859-1 commit under C locale -expecting success of 0203.2 'git show a ISO-8859-1 commit under a UTF-8 locale': - . "$TEST_DIRECTORY"/t3901/8859-1.txt && - test_commit "iso-utf8-commit" iso-under-utf8 && - LANGUAGE=is LC_ALL="$is_IS_locale" git show >out 2>err && - test_must_be_empty err && - grep -q "iso-utf8-commit" out +rm '.gitattributes' +[master edaea69] third + Author: A U Thor + 2 files changed, 1 insertion(+), 4 deletions(-) + create mode 100644 .file2 + delete mode 100644 .gitattributes +Note: switching to 'master~1'. -Warning: commit message did not conform to UTF-8. -You may want to amend it after fixing the message, or set the config -variable i18n.commitencoding to the encoding your project uses. -[master 7495ea2] iso-utf8-commit - Author: Ãéí óú - 1 file changed, 1 insertion(+) - create mode 100644 iso-under-utf8 -ok 2 - git show a ISO-8859-1 commit under a UTF-8 locale +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0204-gettext-reencode-sanity.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0204-gettext-reencode-sanity/.git/ -checking prerequisite: C_LOCALE_OUTPUT +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + git switch -c -) -prerequisite C_LOCALE_OUTPUT ok -# lib-gettext: Found 'is_IS.utf8' as an is_IS UTF-8 locale -# lib-gettext: No is_IS ISO-8859-1 locale available -expecting success of 0204.1 'gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic': - printf "TILRAUN: Halló Heimur!" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: Hello World!" >actual && - test_cmp expect actual +Or undo this operation with: -ok 1 - gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic + git switch - -expecting success of 0204.2 'gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes': - printf "%s" "$RUNES" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "$MSGKEY" >actual && - test_cmp expect actual +Turn off this advice by setting config variable advice.detachedHead to false -ok 2 - gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes +HEAD is now at f2c783e second +Previous HEAD position was f2c783e second +Switched to branch 'master' +ok 28 - checkout when deleting .gitattributes -ok 3 # skip gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Icelandic (missing GETTEXT_ISO_LOCALE) +expecting success of 0020.29 'invalid .gitattributes (must not crash)': -ok 4 # skip gettext: impossible ISO-8859-1 output (missing GETTEXT_ISO_LOCALE) + echo "three +crlf" >>.gitattributes && + git diff -expecting success of 0204.5 'gettext: Fetching a UTF-8 msgid -> UTF-8': - printf "TILRAUN: ‚einfaldar‘ og „tvöfaldar“ gæsalappir" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: ‘single’ and “double†quotes" >actual && - test_cmp expect actual -ok 5 - gettext: Fetching a UTF-8 msgid -> UTF-8 ++crlf is not a valid attribute name: .gitattributes:1 +ok 29 - invalid .gitattributes (must not crash) -ok 6 # skip gettext: Fetching a UTF-8 msgid -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE) +expecting success of 0020.30 'setting up for new autocrlf tests': + git config core.autocrlf false && + git config core.safecrlf false && + rm -rf .????* * && + for w in I am all LF; do echo $w; done >alllf && + for w in Oh here is CRLFQ in text; do echo $w; done | q_to_cr >mixed && + for w in I am all CRLF; do echo $w; done | append_cr >allcrlf && + git add -A . && + git commit -m "alllf, allcrlf and mixed only" && + git tag -a -m "message" autocrlf-checkpoint -expecting success of 0204.7 'gettext.c: git init UTF-8 -> UTF-8': - printf "Bjó til tóma Git lind" >expect && - LANGUAGE=is LC_ALL="$is_IS_locale" git init repo >actual && - test_when_finished "rm -rf repo" && - grep "^$(cat expect) " actual +[master 021c55b] alllf, allcrlf and mixed only + Author: A U Thor + 7 files changed, 8 insertions(+), 14 deletions(-) + delete mode 100644 .file + delete mode 100644 .file2 + create mode 100644 allcrlf + create mode 100644 alllf + delete mode 100644 dir/two + rename three => mixed (57%) + delete mode 100644 one +ok 30 - setting up for new autocrlf tests -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Bjó til tóma Git lind í /build/git-2.30.2/t/trash directory.t0204-gettext-reencode-sanity/repo/.git/ -ok 7 - gettext.c: git init UTF-8 -> UTF-8 +expecting success of 0020.31 'report no change after setting autocrlf': + git config core.autocrlf true && + touch * && + git diff --exit-code -ok 8 # skip gettext.c: git init UTF-8 -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE) +ok 31 - report no change after setting autocrlf -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0205-gettext-poison.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0205-gettext-poison/.git/ -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0020.32 'files are clean after checkout': + rm * && + git checkout -f && + git diff --exit-code -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +ok 32 - files are clean after checkout -) -prerequisite C_LOCALE_OUTPUT not satisfied -expecting success of 0205.1 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison': - test "$GIT_INTERNAL_GETTEXT_SH_SCHEME" = "poison" +expecting success of 0020.33 'LF only file gets CRLF with autocrlf': + test "$(cr_to_Q_no_NL < alllf)" = "IQamQallQLFQ" -ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison +ok 33 - LF only file gets CRLF with autocrlf -expecting success of 0205.2 'gettext: our gettext() fallback has poison semantics': - printf "# GETTEXT POISON #" >expect && - gettext "test" >actual && - test_cmp expect actual && - printf "# GETTEXT POISON #" >expect && - gettext "test more words" >actual && - test_cmp expect actual +expecting success of 0020.34 'Mixed file is still mixed with autocrlf': + test "$(cr_to_Q_no_NL < mixed)" = "OhhereisCRLFQintext" -ok 2 - gettext: our gettext() fallback has poison semantics +ok 34 - Mixed file is still mixed with autocrlf -expecting success of 0205.3 'eval_gettext: our eval_gettext() fallback has poison semantics': - printf "# GETTEXT POISON #" >expect && - eval_gettext "test" >actual && - test_cmp expect actual && - printf "# GETTEXT POISON #" >expect && - eval_gettext "test more words" >actual && - test_cmp expect actual +expecting success of 0020.35 'CRLF only file has CRLF with autocrlf': + test "$(cr_to_Q_no_NL < allcrlf)" = "IQamQallQCRLFQ" -ok 3 - eval_gettext: our eval_gettext() fallback has poison semantics +ok 35 - CRLF only file has CRLF with autocrlf -expecting success of 0205.4 'gettext: invalid GIT_TEST_GETTEXT_POISON value doesn't infinitely loop': - test_must_fail env GIT_TEST_GETTEXT_POISON=xyz git version 2>error && - grep "fatal: bad numeric config value 'xyz' for 'GIT_TEST_GETTEXT_POISON': invalid unit" error +expecting success of 0020.36 'New CRLF file gets LF in repo': + tr -d "\015" < alllf | append_cr > alllf2 && + git add alllf2 && + git commit -m "alllf2 added" && + git config core.autocrlf false && + rm * && + git checkout -f && + test_cmp alllf alllf2 -fatal: bad numeric config value 'xyz' for 'GIT_TEST_GETTEXT_POISON': invalid unit -ok 4 - gettext: invalid GIT_TEST_GETTEXT_POISON value doesn't infinitely loop +[master 6ebdedc] alllf2 added + Author: A U Thor + 1 file changed, 4 insertions(+) + create mode 100644 alllf2 +ok 36 - New CRLF file gets LF in repo -# passed all 4 test(s) -1..4 +# passed all 36 test(s) +1..36 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0202-gettext-perl.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0202-gettext-perl/.git/ -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -# lib-gettext: Found 'is_IS.utf8' as an is_IS UTF-8 locale -# lib-gettext: No is_IS ISO-8859-1 locale available -# run 0: Perl Git::I18N API (perl /build/git-2.30.2/t/t0202/test.pl) -1..13 -ok 1 - Testing Git::I18N with NO Perl gettext library -ok 2 - Git::I18N is located at /build/git-2.30.2/t/../perl/build/lib/Git/I18N.pm -ok 3 - sanity: Git::I18N has 3 export(s) -ok 4 - sanity: Git::I18N exports everything by default -ok 5 - sanity: N__ has a $ prototype -ok 6 - sanity: __ has a $ prototype -ok 7 - sanity: __n has a $$$ prototype -ok 8 - Passing a string through __() in the C locale works -ok 9 - Get singular string through __n() in C locale -ok 10 - Get plural string through __n() in C locale -ok 11 - Passing a string through N__() in the C locale works -ok 12 - Without a gettext library + locale turns into -ok 13 - Without a gettext library + locale turns into -# test_external test Perl Git::I18N API was ok -# expecting no stderr from previous command -# test_external_without_stderr test no stderr: Perl Git::I18N API was ok +*** t0029-core-unsetenvvars.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0029-core-unsetenvvars/.git/ +1..0 # SKIP skipping Windows-specific tests make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' *** t0012-help.sh *** @@ -17422,2851 +12246,1963 @@ 1..146 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0303-credential-external.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0303-credential-external/.git/ -1..0 # SKIP used to test external credential helpers -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0110-urlmatch-normalization.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0110-urlmatch-normalization/.git/ -expecting success of 0110.1 'url scheme': - ! test-tool urlmatch-normalization "" && - ! test-tool urlmatch-normalization "_" && - ! test-tool urlmatch-normalization "scheme" && - ! test-tool urlmatch-normalization "scheme:" && - ! test-tool urlmatch-normalization "scheme:/" && - ! test-tool urlmatch-normalization "scheme://" && - ! test-tool urlmatch-normalization "file" && - ! test-tool urlmatch-normalization "file:" && - ! test-tool urlmatch-normalization "file:/" && - test-tool urlmatch-normalization "file://" && - ! test-tool urlmatch-normalization "://acme.co" && - ! test-tool urlmatch-normalization "x_test://acme.co" && - ! test-tool urlmatch-normalization "-test://acme.co" && - ! test-tool urlmatch-normalization "0test://acme.co" && - ! test-tool urlmatch-normalization "+test://acme.co" && - ! test-tool urlmatch-normalization ".test://acme.co" && - ! test-tool urlmatch-normalization "schem%6e://" && - test-tool urlmatch-normalization "x-Test+v1.0://acme.co" && - test "$(test-tool urlmatch-normalization -p "AbCdeF://x.Y")" = "abcdef://x.y/" - -ok 1 - url scheme - -expecting success of 0110.2 'url authority': - ! test-tool urlmatch-normalization "scheme://user:pass@" && - ! test-tool urlmatch-normalization "scheme://?" && - ! test-tool urlmatch-normalization "scheme://#" && - ! test-tool urlmatch-normalization "scheme:///" && - ! test-tool urlmatch-normalization "scheme://:" && - ! test-tool urlmatch-normalization "scheme://:555" && - test-tool urlmatch-normalization "file://user:pass@" && - test-tool urlmatch-normalization "file://?" && - test-tool urlmatch-normalization "file://#" && - test-tool urlmatch-normalization "file:///" && - test-tool urlmatch-normalization "file://:" && - ! test-tool urlmatch-normalization "file://:555" && - test-tool urlmatch-normalization "scheme://user:pass@host" && - test-tool urlmatch-normalization "scheme://@host" && - test-tool urlmatch-normalization "scheme://%00@host" && - ! test-tool urlmatch-normalization "scheme://%%@host" && - ! test-tool urlmatch-normalization "scheme://host_" && - test-tool urlmatch-normalization "scheme://user:pass@host/" && - test-tool urlmatch-normalization "scheme://@host/" && - test-tool urlmatch-normalization "scheme://host/" && - test-tool urlmatch-normalization "scheme://host?x" && - test-tool urlmatch-normalization "scheme://host#x" && - test-tool urlmatch-normalization "scheme://host/@" && - test-tool urlmatch-normalization "scheme://host?@x" && - test-tool urlmatch-normalization "scheme://host#@x" && - test-tool urlmatch-normalization "scheme://[::1]" && - test-tool urlmatch-normalization "scheme://[::1]/" && - ! test-tool urlmatch-normalization "scheme://hos%41/" && - test-tool urlmatch-normalization "scheme://[invalid....:/" && - test-tool urlmatch-normalization "scheme://invalid....:]/" && - ! test-tool urlmatch-normalization "scheme://invalid....:[/" && - ! test-tool urlmatch-normalization "scheme://invalid....:[" +*** t0033-safe-directory.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0033-safe-directory/.git/ +expecting success of 0033.1 'safe.directory is not set': + expect_rejected_dir -ok 2 - url authority +fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' + git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' +ok 1 - safe.directory is not set -expecting success of 0110.3 'url port checks': - test-tool urlmatch-normalization "xyz://q@some.host:" && - test-tool urlmatch-normalization "xyz://q@some.host:456/" && - ! test-tool urlmatch-normalization "xyz://q@some.host:0" && - ! test-tool urlmatch-normalization "xyz://q@some.host:0000000" && - test-tool urlmatch-normalization "xyz://q@some.host:0000001?" && - test-tool urlmatch-normalization "xyz://q@some.host:065535#" && - test-tool urlmatch-normalization "xyz://q@some.host:65535" && - ! test-tool urlmatch-normalization "xyz://q@some.host:65536" && - ! test-tool urlmatch-normalization "xyz://q@some.host:99999" && - ! test-tool urlmatch-normalization "xyz://q@some.host:100000" && - ! test-tool urlmatch-normalization "xyz://q@some.host:100001" && - test-tool urlmatch-normalization "http://q@some.host:80" && - test-tool urlmatch-normalization "https://q@some.host:443" && - test-tool urlmatch-normalization "http://q@some.host:80/" && - test-tool urlmatch-normalization "https://q@some.host:443?" && - ! test-tool urlmatch-normalization "http://q@:8008" && - ! test-tool urlmatch-normalization "http://:8080" && - ! test-tool urlmatch-normalization "http://:" && - test-tool urlmatch-normalization "xyz://q@some.host:456/" && - test-tool urlmatch-normalization "xyz://[::1]:456/" && - test-tool urlmatch-normalization "xyz://[::1]:/" && - ! test-tool urlmatch-normalization "xyz://[::1]:000/" && - ! test-tool urlmatch-normalization "xyz://[::1]:0%300/" && - ! test-tool urlmatch-normalization "xyz://[::1]:0x80/" && - ! test-tool urlmatch-normalization "xyz://[::1]:4294967297/" && - ! test-tool urlmatch-normalization "xyz://[::1]:030f/" +expecting success of 0033.2 'safe.directory does not match': + git config --global safe.directory bogus && + expect_rejected_dir -ok 3 - url port checks +fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' + git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' +ok 2 - safe.directory does not match -expecting success of 0110.4 'url port normalization': - test "$(test-tool urlmatch-normalization -p "http://x:800")" = "http://x:800/" && - test "$(test-tool urlmatch-normalization -p "http://x:0800")" = "http://x:800/" && - test "$(test-tool urlmatch-normalization -p "http://x:00000800")" = "http://x:800/" && - test "$(test-tool urlmatch-normalization -p "http://x:065535")" = "http://x:65535/" && - test "$(test-tool urlmatch-normalization -p "http://x:1")" = "http://x:1/" && - test "$(test-tool urlmatch-normalization -p "http://x:80")" = "http://x/" && - test "$(test-tool urlmatch-normalization -p "http://x:080")" = "http://x/" && - test "$(test-tool urlmatch-normalization -p "http://x:000000080")" = "http://x/" && - test "$(test-tool urlmatch-normalization -p "https://x:443")" = "https://x/" && - test "$(test-tool urlmatch-normalization -p "https://x:0443")" = "https://x/" && - test "$(test-tool urlmatch-normalization -p "https://x:000000443")" = "https://x/" +expecting success of 0033.3 'path exist as different key': + git config --global foo.bar "$(pwd)" && + expect_rejected_dir -ok 4 - url port normalization +fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' + git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' +ok 3 - path exist as different key -expecting success of 0110.5 'url general escapes': - ! test-tool urlmatch-normalization "http://x.y?%fg" && - test "$(test-tool urlmatch-normalization -p "X://W/%7e%41^%3a")" = "x://w/~A%5E%3A" && - test "$(test-tool urlmatch-normalization -p "X://W/:/?#[]@")" = "x://w/:/?#[]@" && - test "$(test-tool urlmatch-normalization -p "X://W/$&()*+,;=")" = "x://w/$&()*+,;=" && - test "$(test-tool urlmatch-normalization -p "X://W/'")" = "x://w/'" && - test "$(test-tool urlmatch-normalization -p "X://W?!")" = "x://w/?!" +expecting success of 0033.4 'safe.directory matches': + git config --global --add safe.directory "$(pwd)" && + git status -ok 5 - url general escapes +On branch master -expecting success of 0110.6 'url high-bit escapes': - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-1")")" = "x://q/%01%02%03%04%05%06%07%08%0E%0F%10%11%12" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-2")")" = "x://q/%13%14%15%16%17%18%19%1B%1C%1D%1E%1F%7F" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-3")")" = "x://q/%80%81%82%83%84%85%86%87%88%89%8A%8B%8C%8D%8E%8F" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-4")")" = "x://q/%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-5")")" = "x://q/%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-6")")" = "x://q/%B0%B1%B2%B3%B4%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-7")")" = "x://q/%C0%C1%C2%C3%C4%C5%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-8")")" = "x://q/%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-9")")" = "x://q/%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF" && - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-10")")" = "x://q/%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF" +No commits yet -ok 6 - url high-bit escapes +Untracked files: + (use "git add ..." to include in what will be committed) + .gitconfig + err -expecting success of 0110.7 'url utf-8 escapes': - test "$(test-tool urlmatch-normalization -p "$(cat "$tu-11")")" = "x://q/%C2%80%DF%BF%E0%A0%80%EF%BF%BD%F0%90%80%80%F0%AF%BF%BD" +nothing added to commit but untracked files present (use "git add" to track) +ok 4 - safe.directory matches -ok 7 - url utf-8 escapes +expecting success of 0033.5 'safe.directory matches, but is reset': + git config --global --add safe.directory "" && + expect_rejected_dir -expecting success of 0110.8 'url username/password escapes': - test "$(test-tool urlmatch-normalization -p "x://%41%62(^):%70+d@foo")" = "x://Ab(%5E):p+d@foo/" +fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' + git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' +ok 5 - safe.directory matches, but is reset -ok 8 - url username/password escapes +expecting success of 0033.6 'safe.directory=*': + git config --global --add safe.directory "*" && + git status -expecting success of 0110.9 'url normalized lengths': - test "$(test-tool urlmatch-normalization -l "Http://%4d%65:%4d^%70@The.Host")" = 25 && - test "$(test-tool urlmatch-normalization -l "http://%41:%42@x.y/%61/")" = 17 && - test "$(test-tool urlmatch-normalization -l "http://@x.y/^")" = 15 +On branch master -ok 9 - url normalized lengths +No commits yet -expecting success of 0110.10 'url . and .. segments': - test "$(test-tool urlmatch-normalization -p "x://y/.")" = "x://y/" && - test "$(test-tool urlmatch-normalization -p "x://y/./")" = "x://y/" && - test "$(test-tool urlmatch-normalization -p "x://y/a/.")" = "x://y/a" && - test "$(test-tool urlmatch-normalization -p "x://y/a/./")" = "x://y/a/" && - test "$(test-tool urlmatch-normalization -p "x://y/.?")" = "x://y/?" && - test "$(test-tool urlmatch-normalization -p "x://y/./?")" = "x://y/?" && - test "$(test-tool urlmatch-normalization -p "x://y/a/.?")" = "x://y/a?" && - test "$(test-tool urlmatch-normalization -p "x://y/a/./?")" = "x://y/a/?" && - test "$(test-tool urlmatch-normalization -p "x://y/a/./b/.././../c")" = "x://y/c" && - test "$(test-tool urlmatch-normalization -p "x://y/a/./b/../.././c/")" = "x://y/c/" && - test "$(test-tool urlmatch-normalization -p "x://y/a/./b/.././../c/././.././.")" = "x://y/" && - ! test-tool urlmatch-normalization "x://y/a/./b/.././../c/././.././.." && - test "$(test-tool urlmatch-normalization -p "x://y/a/./?/././..")" = "x://y/a/?/././.." && - test "$(test-tool urlmatch-normalization -p "x://y/%2e/")" = "x://y/" && - test "$(test-tool urlmatch-normalization -p "x://y/%2E/")" = "x://y/" && - test "$(test-tool urlmatch-normalization -p "x://y/a/%2e./")" = "x://y/" && - test "$(test-tool urlmatch-normalization -p "x://y/b/.%2E/")" = "x://y/" && - test "$(test-tool urlmatch-normalization -p "x://y/c/%2e%2E/")" = "x://y/" +Untracked files: + (use "git add ..." to include in what will be committed) + .gitconfig + err -ok 10 - url . and .. segments +nothing added to commit but untracked files present (use "git add" to track) +ok 6 - safe.directory=* -expecting success of 0110.11 'url equivalents': - test-tool urlmatch-normalization "httP://x" "Http://X/" && - test-tool urlmatch-normalization "Http://%4d%65:%4d^%70@The.Host" "hTTP://Me:%4D^p@the.HOST:80/" && - ! test-tool urlmatch-normalization "https://@x.y/^" "httpS://x.y:443/^" && - test-tool urlmatch-normalization "https://@x.y/^" "httpS://@x.y:0443/^" && - test-tool urlmatch-normalization "https://@x.y/^/../abc" "httpS://@x.y:0443/abc" && - test-tool urlmatch-normalization "https://@x.y/^/.." "httpS://@x.y:0443/" +expecting success of 0033.7 'safe.directory=*, but is reset': + git config --global --add safe.directory "" && + expect_rejected_dir -ok 11 - url equivalents +fatal: detected dubious ownership in repository at '/build/git-2.30.2/t/trash directory.t0033-safe-directory' + git config --global --add safe.directory '/build/git-2.30.2/t/trash directory.t0033-safe-directory' +ok 7 - safe.directory=*, but is reset -# passed all 11 test(s) -1..11 +# passed all 7 test(s) +1..7 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0211-trace2-perf.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0211-trace2-perf/.git/ -expecting success of 0211.1 'perf stream, return code 0': - test_when_finished "rm trace.perf actual expect" && - GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && - cat >expect <<-EOF && - d0|main|version|||||$V - d0|main|start||_T_ABS_|||_EXE_ trace2 001return 0 - d0|main|cmd_name|||||trace2 (trace2) - d0|main|exit||_T_ABS_|||code:0 - d0|main|atexit||_T_ABS_|||code:0 - EOF - test_cmp expect actual - -ok 1 - perf stream, return code 0 - -expecting success of 0211.2 'perf stream, return code 1': - test_when_finished "rm trace.perf actual expect" && - test_must_fail env GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 001return 1 && - perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && - cat >expect <<-EOF && - d0|main|version|||||$V - d0|main|start||_T_ABS_|||_EXE_ trace2 001return 1 - d0|main|cmd_name|||||trace2 (trace2) - d0|main|exit||_T_ABS_|||code:1 - d0|main|atexit||_T_ABS_|||code:1 - EOF - test_cmp expect actual +*** t0034-root-safe-directory.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0034-root-safe-directory/.git/ +1..0 # SKIP You must set env var GIT_TEST_ALLOW_SUDO=YES in order to run this test +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0028-working-tree-encoding.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0028-working-tree-encoding/.git/ +expecting success of 0028.1 'setup test files': + git config core.eol lf && -ok 2 - perf stream, return code 1 + text="hallo there!\ncan you read me?" && + echo "*.utf16 text working-tree-encoding=utf-16" >.gitattributes && + echo "*.utf16lebom text working-tree-encoding=UTF-16LE-BOM" >>.gitattributes && + printf "$text" >test.utf8.raw && + printf "$text" | write_utf16 >test.utf16.raw && + printf "$text" | write_utf32 >test.utf32.raw && + printf "\377\376" >test.utf16lebom.raw && + printf "$text" | iconv -f UTF-8 -t UTF-16LE >>test.utf16lebom.raw && -expecting success of 0211.3 'perf stream, error event': - test_when_finished "rm trace.perf actual expect" && - GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 003error "hello world" "this is a test" && - perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && - cat >expect <<-EOF && - d0|main|version|||||$V - d0|main|start||_T_ABS_|||_EXE_ trace2 003error 'hello world' 'this is a test' - d0|main|cmd_name|||||trace2 (trace2) - d0|main|error|||||hello world - d0|main|error|||||this is a test - d0|main|exit||_T_ABS_|||code:0 - d0|main|atexit||_T_ABS_|||code:0 - EOF - test_cmp expect actual + # Line ending tests + printf "one\ntwo\nthree\n" >lf.utf8.raw && + printf "one\r\ntwo\r\nthree\r\n" >crlf.utf8.raw && -error: hello world -error: this is a test -ok 3 - perf stream, error event + # BOM tests + printf "\0a\0b\0c" >nobom.utf16be.raw && + printf "a\0b\0c\0" >nobom.utf16le.raw && + printf "\376\377\0a\0b\0c" >bebom.utf16be.raw && + printf "\377\376a\0b\0c\0" >lebom.utf16le.raw && + printf "\0\0\0a\0\0\0b\0\0\0c" >nobom.utf32be.raw && + printf "a\0\0\0b\0\0\0c\0\0\0" >nobom.utf32le.raw && + printf "\0\0\376\377\0\0\0a\0\0\0b\0\0\0c" >bebom.utf32be.raw && + printf "\377\376\0\0a\0\0\0b\0\0\0c\0\0\0" >lebom.utf32le.raw && -expecting success of 0211.4 'perf stream, child processes': - test_when_finished "rm trace.perf actual expect" && - GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 004child test-tool trace2 004child test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && - cat >expect <<-EOF && - d0|main|version|||||$V - d0|main|start||_T_ABS_|||_EXE_ trace2 004child test-tool trace2 004child test-tool trace2 001return 0 - d0|main|cmd_name|||||trace2 (trace2) - d0|main|child_start||_T_ABS_|||[ch0] class:? argv:[test-tool trace2 004child test-tool trace2 001return 0] - d1|main|version|||||$V - d1|main|start||_T_ABS_|||_EXE_ trace2 004child test-tool trace2 001return 0 - d1|main|cmd_name|||||trace2 (trace2/trace2) - d1|main|child_start||_T_ABS_|||[ch0] class:? argv:[test-tool trace2 001return 0] - d2|main|version|||||$V - d2|main|start||_T_ABS_|||_EXE_ trace2 001return 0 - d2|main|cmd_name|||||trace2 (trace2/trace2/trace2) - d2|main|exit||_T_ABS_|||code:0 - d2|main|atexit||_T_ABS_|||code:0 - d1|main|child_exit||_T_ABS_|_T_REL_||[ch0] pid:_PID_ code:0 - d1|main|exit||_T_ABS_|||code:0 - d1|main|atexit||_T_ABS_|||code:0 - d0|main|child_exit||_T_ABS_|_T_REL_||[ch0] pid:_PID_ code:0 - d0|main|exit||_T_ABS_|||code:0 - d0|main|atexit||_T_ABS_|||code:0 - EOF - test_cmp expect actual + # Add only UTF-16 file, we will add the UTF-32 file later + cp test.utf16.raw test.utf16 && + cp test.utf32.raw test.utf32 && + cp test.utf16lebom.raw test.utf16lebom && + git add .gitattributes test.utf16 test.utf16lebom && + git commit -m initial -ok 4 - perf stream, child processes +checking prerequisite: NO_UTF16_BOM -expecting success of 0211.5 'using global config, perf stream, return code 0': - test_when_finished "rm trace.perf actual expect" && - test_config_global trace2.perfBrief 1 && - test_config_global trace2.perfTarget "$(pwd)/trace.perf" && - test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && - cat >expect <<-EOF && - d0|main|version|||||$V - d0|main|start||_T_ABS_|||_EXE_ trace2 001return 0 - d0|main|cmd_name|||||trace2 (trace2) - d0|main|exit||_T_ABS_|||code:0 - d0|main|atexit||_T_ABS_|||code:0 - EOF - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 -ok 5 - using global config, perf stream, return code 0 +) +prerequisite NO_UTF16_BOM not satisfied +checking prerequisite: NO_UTF32_BOM -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0210-trace2-normal.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0210-trace2-normal/.git/ -expecting success of 0210.1 'normal stream, return code 0': - test_when_finished "rm trace.normal actual expect" && - GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12 -ok 1 - normal stream, return code 0 +) +prerequisite NO_UTF32_BOM not satisfied +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0210.2 'normal stream, return code 1': - test_when_finished "rm trace.normal actual expect" && - test_must_fail env GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 001return 1 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 1 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:1 - atexit elapsed:_TIME_ code:1 - EOF - test_cmp expect actual +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 2 - normal stream, return code 1 +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0210.3 'automatic filename': - test_when_finished "rm -r traces actual expect" && - mkdir traces && - GIT_TRACE2="$(pwd)/traces" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <"$(ls traces/*)" >actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 3 - automatic filename +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0210.4 'normal stream, exit code 0': - test_when_finished "rm trace.normal actual expect" && - GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 002exit 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 002exit 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 4 - normal stream, exit code 0 +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0210.5 'normal stream, exit code 1': - test_when_finished "rm trace.normal actual expect" && - test_must_fail env GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 002exit 1 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 002exit 1 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:1 - atexit elapsed:_TIME_ code:1 - EOF - test_cmp expect actual +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 5 - normal stream, exit code 1 +[master (root-commit) dfb2bb8] initial + Author: A U Thor + 3 files changed, 6 insertions(+) + create mode 100644 .gitattributes + create mode 100644 test.utf16 + create mode 100644 test.utf16lebom +ok 1 - setup test files -expecting success of 0210.6 'normal stream, error event': - test_when_finished "rm trace.normal actual expect" && - GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 003error "hello world" "this is a test" && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 003error 'hello world' 'this is a test' - cmd_name trace2 (trace2) - error hello world - error this is a test - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual +expecting success of 0028.2 'ensure UTF-8 is stored in Git': + test_when_finished "rm -f test.utf16.git" && -error: hello world -error: this is a test -ok 6 - normal stream, error event + git cat-file -p :test.utf16 >test.utf16.git && + test_cmp_bin test.utf8.raw test.utf16.git -expecting success of 0210.7 'using global config, normal stream, return code 0': - test_when_finished "rm trace.normal actual expect" && - test_config_global trace2.normalBrief 1 && - test_config_global trace2.normalTarget "$(pwd)/trace.normal" && - test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual +ok 2 - ensure UTF-8 is stored in Git -ok 7 - using global config, normal stream, return code 0 +expecting success of 0028.3 're-encode to UTF-16 on checkout': + test_when_finished "rm -f test.utf16.raw" && -expecting success of 0210.8 'using global config with include': - test_when_finished "rm trace.normal actual expect real.gitconfig" && - test_config_global trace2.normalBrief 1 && - test_config_global trace2.normalTarget "$(pwd)/trace.normal" && - mv "$(pwd)/.gitconfig" "$(pwd)/real.gitconfig" && - test_config_global include.path "$(pwd)/real.gitconfig" && - test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && - cat >expect <<-EOF && - version $V - start _EXE_ trace2 001return 0 - cmd_name trace2 (trace2) - exit elapsed:_TIME_ code:0 - atexit elapsed:_TIME_ code:0 - EOF - test_cmp expect actual + rm test.utf16 && + git checkout test.utf16 && + test_cmp_bin test.utf16.raw test.utf16 -ok 8 - using global config with include +Updated 1 path from the index +ok 3 - re-encode to UTF-16 on checkout -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0500-progress-display.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0500-progress-display/.git/ -expecting success of 0500.1 'simple progress display': - cat >expect <<-\EOF && - Working hard: 1 - Working hard: 2 - Working hard: 5 - Working hard: 5, done. - EOF +expecting success of 0028.4 're-encode to UTF-16-LE-BOM on checkout': + rm test.utf16lebom && + git checkout test.utf16lebom && + test_cmp_bin test.utf16lebom.raw test.utf16lebom - cat >in <<-\EOF && - update - progress 1 - update - progress 2 - progress 3 - progress 4 - update - progress 5 - EOF - test-tool progress "Working hard" stderr && +Updated 1 path from the index +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -checking prerequisite: C_LOCALE_OUTPUT +ok 4 - re-encode to UTF-16-LE-BOM on checkout -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0028.5 'check $GIT_DIR/info/attributes support': + test_when_finished "rm -f test.utf32.git" && + test_when_finished "git reset --hard HEAD" && -) -prerequisite C_LOCALE_OUTPUT ok -ok 1 - simple progress display + echo "*.utf32 text working-tree-encoding=utf-32" >.git/info/attributes && + git add test.utf32 && -expecting success of 0500.2 'progress display with total': - cat >expect <<-\EOF && - Working hard: 33% (1/3) - Working hard: 66% (2/3) - Working hard: 100% (3/3) - Working hard: 100% (3/3), done. - EOF + git cat-file -p :test.utf32 >test.utf32.git && + test_cmp_bin test.utf8.raw test.utf32.git - cat >in <<-\EOF && - progress 1 - progress 2 - progress 3 - EOF - test-tool progress --total=3 "Working hard" stderr && +source (test.utf32, considered utf-32): +|  0: ff   |  1: fe   |  2: 0   |  3: 0   |  4: 68 h |  5: 0   |  6: 0   |  7: 0   +|  8: 61 a |  9: 0   | 10: 0   | 11: 0   | 12: 6c l | 13: 0   | 14: 0   | 15: 0   +| 16: 6c l | 17: 0   | 18: 0   | 19: 0   | 20: 6f o | 21: 0   | 22: 0   | 23: 0   +| 24: 20   | 25: 0   | 26: 0   | 27: 0   | 28: 74 t | 29: 0   | 30: 0   | 31: 0   +| 32: 68 h | 33: 0   | 34: 0   | 35: 0   | 36: 65 e | 37: 0   | 38: 0   | 39: 0   +| 40: 72 r | 41: 0   | 42: 0   | 43: 0   | 44: 65 e | 45: 0   | 46: 0   | 47: 0   +| 48: 21 ! | 49: 0   | 50: 0   | 51: 0   | 52: a   | 53: 0   | 54: 0   | 55: 0   +| 56: 63 c | 57: 0   | 58: 0   | 59: 0   | 60: 61 a | 61: 0   | 62: 0   | 63: 0   +| 64: 6e n | 65: 0   | 66: 0   | 67: 0   | 68: 20   | 69: 0   | 70: 0   | 71: 0   +| 72: 79 y | 73: 0   | 74: 0   | 75: 0   | 76: 6f o | 77: 0   | 78: 0   | 79: 0   +| 80: 75 u | 81: 0   | 82: 0   | 83: 0   | 84: 20   | 85: 0   | 86: 0   | 87: 0   +| 88: 72 r | 89: 0   | 90: 0   | 91: 0   | 92: 65 e | 93: 0   | 94: 0   | 95: 0   +| 96: 61 a | 97: 0   | 98: 0   | 99: 0   | 100: 64 d | 101: 0   | 102: 0   | 103: 0   +| 104: 20   | 105: 0   | 106: 0   | 107: 0   | 108: 6d m | 109: 0   | 110: 0   | 111: 0   +| 112: 65 e | 113: 0   | 114: 0   | 115: 0   | 116: 3f ? | 117: 0   | 118: 0   | 119: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf32, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 2 - progress display with total +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.3 'progress display breaks long lines #1': - sed -e "s/Z$//" >expect <<\EOF && -Working hard.......2.........3.........4.........5.........6: 0% (100/100000) -Working hard.......2.........3.........4.........5.........6: 1% (1000/100000) -Working hard.......2.........3.........4.........5.........6: Z - 10% (10000/100000) - 100% (100000/100000) - 100% (100000/100000), done. -EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - cat >in <<-\EOF && - progress 100 - progress 1000 - progress 10000 - progress 100000 - EOF - test-tool progress --total=100000 \ - "Working hard.......2.........3.........4.........5.........6" \ - stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 3 - progress display breaks long lines #1 +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.4 'progress display breaks long lines #2': - # Note: we do not need that many spaces after the title to cover up - # the last line before breaking the progress line. - sed -e "s/Z$//" >expect <<\EOF && -Working hard.......2.........3.........4.........5.........6: 0% (1/100000) -Working hard.......2.........3.........4.........5.........6: 0% (2/100000) -Working hard.......2.........3.........4.........5.........6: Z - 10% (10000/100000) - 100% (100000/100000) - 100% (100000/100000), done. -EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - cat >in <<-\EOF && - update - progress 1 - update - progress 2 - progress 10000 - progress 100000 - EOF - test-tool progress --total=100000 \ - "Working hard.......2.........3.........4.........5.........6" \ - stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 4 - progress display breaks long lines #2 +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.5 'progress display breaks long lines #3 - even the first is too long': - # Note: we do not actually need any spaces at the end of the title - # line, because there is no previous progress line to cover up. - sed -e "s/Z$//" >expect <<\EOF && -Working hard.......2.........3.........4.........5.........6: Z - 25% (25000/100000) - 50% (50000/100000) - 75% (75000/100000) - 100% (100000/100000) - 100% (100000/100000), done. -EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - cat >in <<-\EOF && - progress 25000 - progress 50000 - progress 75000 - progress 100000 - EOF - test-tool progress --total=100000 \ - "Working hard.......2.........3.........4.........5.........6" \ - stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 5 - progress display breaks long lines #3 - even the first is too long +HEAD is now at dfb2bb8 initial +ok 5 - check $GIT_DIR/info/attributes support -expecting success of 0500.6 'progress display breaks long lines #4 - title line matches terminal width': - cat >expect <<\EOF && -Working hard.......2.........3.........4.........5.........6.........7.........: - 25% (25000/100000) - 50% (50000/100000) - 75% (75000/100000) - 100% (100000/100000) - 100% (100000/100000), done. -EOF +expecting success of 0028.6 'check prohibited UTF-16 BOM': + test_when_finished "git reset --hard HEAD" && - cat >in <<-\EOF && - progress 25000 - progress 50000 - progress 75000 - progress 100000 - EOF - test-tool progress --total=100000 \ - "Working hard.......2.........3.........4.........5.........6.........7........." \ - stderr && + echo "*.utf${i}be text working-tree-encoding=utf-${i}be" >>.gitattributes && + echo "*.utf${i}le text working-tree-encoding=utf-${i}LE" >>.gitattributes && - show_cr out && - test_i18ncmp expect out + # Here we add a UTF-16 (resp. UTF-32) files with BOM (big/little-endian) + # but we tell Git to treat it as UTF-16BE/UTF-16LE (resp. UTF-32). + # In these cases the BOM is prohibited. + cp bebom.utf${i}be.raw bebom.utf${i}be && + test_must_fail git add bebom.utf${i}be 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && -ok 6 - progress display breaks long lines #4 - title line matches terminal width + cp lebom.utf${i}le.raw lebom.utf${i}be && + test_must_fail git add lebom.utf${i}be 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && -expecting success of 0500.7 'progress shortens - crazy caller': - cat >expect <<-\EOF && - Working hard: 10% (100/1000) - Working hard: 20% (200/1000) - Working hard: 0% (1/1000) - Working hard: 100% (1000/1000) - Working hard: 100% (1000/1000), done. - EOF + cp bebom.utf${i}be.raw bebom.utf${i}le && + test_must_fail git add bebom.utf${i}le 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && - cat >in <<-\EOF && - progress 100 - progress 200 - progress 1 - progress 1000 - EOF - test-tool progress --total=1000 "Working hard" stderr && + cp lebom.utf${i}le.raw lebom.utf${i}le && + test_must_fail git add lebom.utf${i}le 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out + +checking prerequisite: C_LOCALE_OUTPUT - show_cr out && - test_i18ncmp expect out +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -ok 7 - progress shortens - crazy caller +) +prerequisite C_LOCALE_OUTPUT ok +fatal: BOM is prohibited in 'bebom.utf16be' if encoded as utf-16be +hint: The file 'bebom.utf16be' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. +fatal: BOM is prohibited in 'lebom.utf16be' if encoded as utf-16be +hint: The file 'lebom.utf16be' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. +fatal: BOM is prohibited in 'bebom.utf16le' if encoded as utf-16LE +hint: The file 'bebom.utf16le' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. +fatal: BOM is prohibited in 'lebom.utf16le' if encoded as utf-16LE +hint: The file 'lebom.utf16le' contains a byte order mark (BOM). Please use UTF-16 as working-tree-encoding. +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.8 'progress display with throughput': - cat >expect <<-\EOF && - Working hard: 10 - Working hard: 20, 200.00 KiB | 100.00 KiB/s - Working hard: 30, 300.00 KiB | 100.00 KiB/s - Working hard: 40, 400.00 KiB | 100.00 KiB/s - Working hard: 40, 400.00 KiB | 100.00 KiB/s, done. - EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - cat >in <<-\EOF && - throughput 102400 1000 - update - progress 10 - throughput 204800 2000 - update - progress 20 - throughput 307200 3000 - update - progress 30 - throughput 409600 4000 - update - progress 40 - EOF - test-tool progress "Working hard" stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 8 - progress display with throughput +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.9 'progress display with throughput and total': - cat >expect <<-\EOF && - Working hard: 25% (10/40) - Working hard: 50% (20/40), 200.00 KiB | 100.00 KiB/s - Working hard: 75% (30/40), 300.00 KiB | 100.00 KiB/s - Working hard: 100% (40/40), 400.00 KiB | 100.00 KiB/s - Working hard: 100% (40/40), 400.00 KiB | 100.00 KiB/s, done. - EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - cat >in <<-\EOF && - throughput 102400 1000 - progress 10 - throughput 204800 2000 - progress 20 - throughput 307200 3000 - progress 30 - throughput 409600 4000 - progress 40 - EOF - test-tool progress --total=40 "Working hard" stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 9 - progress display with throughput and total +HEAD is now at dfb2bb8 initial +ok 6 - check prohibited UTF-16 BOM -expecting success of 0500.10 'cover up after throughput shortens': - cat >expect <<-\EOF && - Working hard: 1 - Working hard: 2, 800.00 KiB | 400.00 KiB/s - Working hard: 3, 1.17 MiB | 400.00 KiB/s - Working hard: 4, 1.56 MiB | 400.00 KiB/s - Working hard: 4, 1.56 MiB | 400.00 KiB/s, done. - EOF +expecting success of 0028.7 'check required UTF-16 BOM': + test_when_finished "git reset --hard HEAD" && - cat >in <<-\EOF && - throughput 409600 1000 - update - progress 1 - throughput 819200 2000 - update - progress 2 - throughput 1228800 3000 - update - progress 3 - throughput 1638400 4000 - update - progress 4 - EOF - test-tool progress "Working hard" stderr && + echo "*.utf${i} text working-tree-encoding=utf-${i}" >>.gitattributes && - show_cr out && - test_i18ncmp expect out + cp nobom.utf${i}be.raw nobom.utf${i} && + test_must_fail git add nobom.utf${i} 2>err.out && + test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && + test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out && -ok 10 - cover up after throughput shortens + cp nobom.utf${i}le.raw nobom.utf${i} && + test_must_fail git add nobom.utf${i} 2>err.out && + test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && + test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out + +fatal: BOM is required in 'nobom.utf16' if encoded as utf-16 +hint: The file 'nobom.utf16' is missing a byte order mark (BOM). Please use UTF-16BE or UTF-16LE (depending on the byte order) as working-tree-encoding. +fatal: BOM is required in 'nobom.utf16' if encoded as utf-16 +hint: The file 'nobom.utf16' is missing a byte order mark (BOM). Please use UTF-16BE or UTF-16LE (depending on the byte order) as working-tree-encoding. +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.11 'cover up after throughput shortens a lot': - cat >expect <<-\EOF && - Working hard: 1 - Working hard: 2, 1000.00 KiB | 1000.00 KiB/s - Working hard: 3, 3.00 MiB | 1.50 MiB/s - Working hard: 3, 3.00 MiB | 1024.00 KiB/s, done. - EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - cat >in <<-\EOF && - throughput 1 1000 - update - progress 1 - throughput 1024000 2000 - update - progress 2 - throughput 3145728 3000 - update - progress 3 - EOF - test-tool progress "Working hard" stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - show_cr out && - test_i18ncmp expect out +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -ok 11 - cover up after throughput shortens a lot +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0500.12 'progress generates traces': - cat >in <<-\EOF && - throughput 102400 1000 - update - progress 10 - throughput 204800 2000 - update - progress 20 - throughput 307200 3000 - update - progress 30 - throughput 409600 4000 - update - progress 40 - EOF +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? - GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool progress --total=40 \ - "Working hard" stderr && +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   - # t0212/parse_events.perl intentionally omits regions and data. - grep -e "region_enter" -e "\"category\":\"progress\"" trace.event && - grep -e "region_leave" -e "\"category\":\"progress\"" trace.event && - grep "\"key\":\"total_objects\",\"value\":\"40\"" trace.event && - grep "\"key\":\"total_bytes\",\"value\":\"409600\"" trace.event +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -{"event":"region_enter","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781208Z","file":"progress.c","line":268,"repo":0,"nesting":1,"category":"progress","label":"Working hard"} -{"event":"data","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781286Z","file":"progress.c","line":328,"repo":0,"t_abs":0.000461,"t_rel":0.000078,"nesting":2,"category":"progress","key":"total_objects","value":"40"} -{"event":"data","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781301Z","file":"progress.c","line":332,"repo":0,"t_abs":0.000477,"t_rel":0.000094,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"} -{"event":"region_leave","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781313Z","file":"progress.c","line":336,"repo":0,"t_rel":0.000105,"nesting":1,"category":"progress","label":"Working hard"} -{"event":"region_enter","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781208Z","file":"progress.c","line":268,"repo":0,"nesting":1,"category":"progress","label":"Working hard"} -{"event":"data","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781286Z","file":"progress.c","line":328,"repo":0,"t_abs":0.000461,"t_rel":0.000078,"nesting":2,"category":"progress","key":"total_objects","value":"40"} -{"event":"data","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781301Z","file":"progress.c","line":332,"repo":0,"t_abs":0.000477,"t_rel":0.000094,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"} -{"event":"region_leave","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781313Z","file":"progress.c","line":336,"repo":0,"t_rel":0.000105,"nesting":1,"category":"progress","label":"Working hard"} -{"event":"data","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781286Z","file":"progress.c","line":328,"repo":0,"t_abs":0.000461,"t_rel":0.000078,"nesting":2,"category":"progress","key":"total_objects","value":"40"} -{"event":"data","sid":"20240531T223017.781052Z-H5c5507dd-P0000496c","thread":"main","time":"2024-05-31T22:30:17.781301Z","file":"progress.c","line":332,"repo":0,"t_abs":0.000477,"t_rel":0.000094,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"} -ok 12 - progress generates traces +HEAD is now at dfb2bb8 initial +ok 7 - check required UTF-16 BOM -# passed all 12 test(s) -1..12 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1003-read-tree-prefix.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1003-read-tree-prefix/.git/ -expecting success of 1003.1 'setup': - echo hello >one && - git update-index --add one && - tree=$(git write-tree) && - echo tree is $tree +expecting success of 0028.8 'eol conversion for UTF-16 encoded files on checkout': + test_when_finished "rm -f crlf.utf${i}.raw lf.utf${i}.raw" && + test_when_finished "git reset --hard HEAD^" && -tree is 700196ec4e5b1c75e9f5481e5b545d78533ff917 -ok 1 - setup + cat lf.utf8.raw | write_utf${i} >lf.utf${i}.raw && + cat crlf.utf8.raw | write_utf${i} >crlf.utf${i}.raw && + cp crlf.utf${i}.raw eol.utf${i} && -expecting success of 1003.2 'read-tree --prefix': - git read-tree --prefix=two/ $tree && - git ls-files >actual && - cmp expect actual + cat >expectIndexLF <<-EOF && + i/lf w/-text attr/text eol.utf${i} + EOF -ok 2 - read-tree --prefix + git add eol.utf${i} && + git commit -m eol && -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0212-trace2-event.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0212-trace2-event/.git/ -expecting success of 0212.1 'event stream, error event': - test_when_finished "rm trace.event actual expect" && - GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool trace2 003error "hello world" "this is a test" && - perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && - sed -e "s/^|//" >expect <<-EOF && - |VAR1 = { - | "_SID0_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "003error", - | "hello world", - | "this is a test" - | ], - | "errors":[ - | "%s", - | "%s" - | ], - | "exit_code":0, - | "hierarchy":"trace2", - | "name":"trace2", - | "version":"$V" - | } - |}; - EOF - test_cmp expect actual + # UTF-${i} with CRLF (Windows line endings) + rm eol.utf${i} && + git -c core.eol=crlf checkout eol.utf${i} && + test_cmp_bin crlf.utf${i}.raw eol.utf${i} && -error: hello world -error: this is a test -ok 1 - event stream, error event + # Although the file has CRLF in the working tree, + # ensure LF in the index + git ls-files --eol eol.utf${i} >actual && + test_cmp expectIndexLF actual && -expecting success of 0212.2 'event stream, return code 0': - test_when_finished "rm trace.event actual expect" && - GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool trace2 004child test-tool trace2 004child test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && - sed -e "s/^|//" >expect <<-EOF && - |VAR1 = { - | "_SID0_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "004child", - | "test-tool", - | "trace2", - | "004child", - | "test-tool", - | "trace2", - | "001return", - | "0" - | ], - | "child":{ - | "0":{ - | "child_argv":[ - | "_EXE_", - | "trace2", - | "004child", - | "test-tool", - | "trace2", - | "001return", - | "0" - | ], - | "child_class":"?", - | "child_code":0, - | "use_shell":0 - | } - | }, - | "exit_code":0, - | "hierarchy":"trace2", - | "name":"trace2", - | "version":"$V" - | }, - | "_SID0_/_SID1_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "004child", - | "test-tool", - | "trace2", - | "001return", - | "0" - | ], - | "child":{ - | "0":{ - | "child_argv":[ - | "_EXE_", - | "trace2", - | "001return", - | "0" - | ], - | "child_class":"?", - | "child_code":0, - | "use_shell":0 - | } - | }, - | "exit_code":0, - | "hierarchy":"trace2/trace2", - | "name":"trace2", - | "version":"$V" - | }, - | "_SID0_/_SID1_/_SID2_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "001return", - | "0" - | ], - | "exit_code":0, - | "hierarchy":"trace2/trace2/trace2", - | "name":"trace2", - | "version":"$V" - | } - |}; - EOF - test_cmp expect actual + # UTF-${i} with LF (Unix line endings) + rm eol.utf${i} && + git -c core.eol=lf checkout eol.utf${i} && + test_cmp_bin lf.utf${i}.raw eol.utf${i} && -ok 2 - event stream, return code 0 + # The file LF in the working tree, ensure LF in the index + git ls-files --eol eol.utf${i} >actual && + test_cmp expectIndexLF actual + +checking prerequisite: NO_UTF16_BOM -expecting success of 0212.3 'event stream, list config': - test_when_finished "rm trace.event actual expect" && - git config --local t0212.abc 1 && - git config --local t0212.def "hello world" && - GIT_TRACE2_EVENT="$(pwd)/trace.event" GIT_TRACE2_CONFIG_PARAMS="t0212.*" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && - sed -e "s/^|//" >expect <<-EOF && - |VAR1 = { - | "_SID0_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "001return", - | "0" - | ], - | "exit_code":0, - | "hierarchy":"trace2", - | "name":"trace2", - | "params":[ - | { - | "param":"t0212.abc", - | "value":"1" - | }, - | { - | "param":"t0212.def", - | "value":"hello world" - | } - | ], - | "version":"$V" - | } - |}; - EOF - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 -ok 3 - event stream, list config +) +prerequisite NO_UTF16_BOM not satisfied +checking prerequisite: NO_UTF16_BOM -expecting success of 0212.4 'event stream, list env vars': - test_when_finished "rm trace.event actual expect" && - GIT_TRACE2_EVENT="$(pwd)/trace.event" \ - GIT_TRACE2_ENV_VARS="A_VAR,OTHER_VAR,MISSING" \ - A_VAR=1 OTHER_VAR="hello world" test-tool trace2 001return 0 && - perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && - sed -e "s/^|//" >expect <<-EOF && - |VAR1 = { - | "_SID0_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "001return", - | "0" - | ], - | "exit_code":0, - | "hierarchy":"trace2", - | "name":"trace2", - | "params":[ - | { - | "param":"A_VAR", - | "value":"1" - | }, - | { - | "param":"OTHER_VAR", - | "value":"hello world" - | } - | ], - | "version":"$V" - | } - |}; - EOF - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 -ok 4 - event stream, list env vars +) +prerequisite NO_UTF16_BOM not satisfied +source (eol.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 6f o |  3: 0   |  4: 6e n |  5: 0   |  6: 65 e |  7: 0   +|  8: d   |  9: 0   | 10: a   | 11: 0   | 12: 74 t | 13: 0   | 14: 77 w | 15: 0   +| 16: 6f o | 17: 0   | 18: d   | 19: 0   | 20: a   | 21: 0   | 22: 74 t | 23: 0   +| 24: 68 h | 25: 0   | 26: 72 r | 27: 0   | 28: 65 e | 29: 0   | 30: 65 e | 31: 0   +| 32: d   | 33: 0   | 34: a   | 35: 0   -expecting success of 0212.5 'basic trace2_data': - test_when_finished "rm trace.event actual expect" && - GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool trace2 006data test_category k1 v1 test_category k2 v2 && - perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && - sed -e "s/^|//" >expect <<-EOF && - |VAR1 = { - | "_SID0_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "006data", - | "test_category", - | "k1", - | "v1", - | "test_category", - | "k2", - | "v2" - | ], - | "data":{ - | "test_category":{ - | "k1":"v1", - | "k2":"v2" - | } - | }, - | "exit_code":0, - | "hierarchy":"trace2", - | "name":"trace2", - | "version":"$V" - | } - |}; - EOF - test_cmp expect actual +destination (eol.utf16, considered UTF-8): +|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o +|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   +| 16: a   -ok 5 - basic trace2_data +warning: CRLF will be replaced by LF in eol.utf16. +The file will have its original line endings in your working directory +source (test.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0212.6 'using global config, event stream, error event': - test_when_finished "rm trace.event actual expect" && - test_config_global trace2.eventTarget "$(pwd)/trace.event" && - test-tool trace2 003error "hello world" "this is a test" && - perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && - sed -e "s/^|//" >expect <<-EOF && - |VAR1 = { - | "_SID0_":{ - | "argv":[ - | "_EXE_", - | "trace2", - | "003error", - | "hello world", - | "this is a test" - | ], - | "errors":[ - | "%s", - | "%s" - | ], - | "exit_code":0, - | "hierarchy":"trace2", - | "name":"trace2", - | "version":"$V" - | } - |}; - EOF - test_cmp expect actual +destination (test.utf16, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -error: hello world -error: this is a test -ok 6 - using global config, event stream, error event +source (test.utf16lebom, considered UTF-16LE-BOM): +|  0: ff   |  1: fe   |  2: 68 h |  3: 0   |  4: 61 a |  5: 0   |  6: 6c l |  7: 0   +|  8: 6c l |  9: 0   | 10: 6f o | 11: 0   | 12: 20   | 13: 0   | 14: 74 t | 15: 0   +| 16: 68 h | 17: 0   | 18: 65 e | 19: 0   | 20: 72 r | 21: 0   | 22: 65 e | 23: 0   +| 24: 21 ! | 25: 0   | 26: a   | 27: 0   | 28: 63 c | 29: 0   | 30: 61 a | 31: 0   +| 32: 6e n | 33: 0   | 34: 20   | 35: 0   | 36: 79 y | 37: 0   | 38: 6f o | 39: 0   +| 40: 75 u | 41: 0   | 42: 20   | 43: 0   | 44: 72 r | 45: 0   | 46: 65 e | 47: 0   +| 48: 61 a | 49: 0   | 50: 64 d | 51: 0   | 52: 20   | 53: 0   | 54: 6d m | 55: 0   +| 56: 65 e | 57: 0   | 58: 3f ? | 59: 0   -expecting success of 0212.7 'discard traces when there are too many files': - mkdir trace_target_dir && - test_when_finished "rm -r trace_target_dir" && - ( - GIT_TRACE2_MAX_FILES=5 && - export GIT_TRACE2_MAX_FILES && - cd trace_target_dir && - test_seq $GIT_TRACE2_MAX_FILES >../expected_filenames.txt && - xargs touch <../expected_filenames.txt && - cd .. && - GIT_TRACE2_EVENT="$(pwd)/trace_target_dir" test-tool trace2 001return 0 - ) && - echo git-trace2-discard >>expected_filenames.txt && - ls trace_target_dir >ls_output.txt && - test_cmp expected_filenames.txt ls_output.txt && - head -n1 trace_target_dir/git-trace2-discard | grep \"event\":\"version\" && - head -n2 trace_target_dir/git-trace2-discard | tail -n1 | grep \"event\":\"too_many_files\" +destination (test.utf16lebom, considered UTF-8): +|  0: 68 h |  1: 61 a |  2: 6c l |  3: 6c l |  4: 6f o |  5: 20   |  6: 74 t |  7: 68 h +|  8: 65 e |  9: 72 r | 10: 65 e | 11: 21 ! | 12: a   | 13: 63 c | 14: 61 a | 15: 6e n +| 16: 20   | 17: 79 y | 18: 6f o | 19: 75 u | 20: 20   | 21: 72 r | 22: 65 e | 23: 61 a +| 24: 64 d | 25: 20   | 26: 6d m | 27: 65 e | 28: 3f ? -{"event":"version","sid":"20240531T223017.999965Z-H5c5507dd-P0000508f","thread":"main","time":"2024-05-31T22:30:18.000205Z","file":"common-main.c","line":48,"evt":"2","exe":"2.30.2"} -{"event":"too_many_files","sid":"20240531T223017.999965Z-H5c5507dd-P0000508f","thread":"main","time":"2024-05-31T22:30:18.000235Z","file":"common-main.c","line":48} -ok 7 - discard traces when there are too many files +source (eol.utf16, considered utf-16): +|  0: ff   |  1: fe   |  2: 6f o |  3: 0   |  4: 6e n |  5: 0   |  6: 65 e |  7: 0   +|  8: d   |  9: 0   | 10: a   | 11: 0   | 12: 74 t | 13: 0   | 14: 77 w | 15: 0   +| 16: 6f o | 17: 0   | 18: d   | 19: 0   | 20: a   | 21: 0   | 22: 74 t | 23: 0   +| 24: 68 h | 25: 0   | 26: 72 r | 27: 0   | 28: 65 e | 29: 0   | 30: 65 e | 31: 0   +| 32: d   | 33: 0   | 34: a   | 35: 0   -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0090-cache-tree.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0090-cache-tree/.git/ -expecting success of 0090.1 'initial commit has cache-tree': - test_commit foo && - test_cache_tree +destination (eol.utf16, considered UTF-8): +|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o +|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   +| 16: a   -[master (root-commit) ddd63c9] foo +[master 85a4f33] eol Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -ok 1 - initial commit has cache-tree + 1 file changed, 3 insertions(+) + create mode 100644 eol.utf16 +Updated 1 path from the index +Updated 1 path from the index +HEAD is now at dfb2bb8 initial +ok 8 - eol conversion for UTF-16 encoded files on checkout -expecting success of 0090.2 'read-tree HEAD establishes cache-tree': - git read-tree HEAD && - test_cache_tree +expecting success of 0028.9 'check prohibited UTF-32 BOM': + test_when_finished "git reset --hard HEAD" && -ok 2 - read-tree HEAD establishes cache-tree + echo "*.utf${i}be text working-tree-encoding=utf-${i}be" >>.gitattributes && + echo "*.utf${i}le text working-tree-encoding=utf-${i}LE" >>.gitattributes && -expecting success of 0090.3 'git-add invalidates cache-tree': - test_when_finished "git reset --hard; git read-tree HEAD" && - echo "I changed this file" >foo && - git add foo && - test_invalid_cache_tree + # Here we add a UTF-16 (resp. UTF-32) files with BOM (big/little-endian) + # but we tell Git to treat it as UTF-16BE/UTF-16LE (resp. UTF-32). + # In these cases the BOM is prohibited. + cp bebom.utf${i}be.raw bebom.utf${i}be && + test_must_fail git add bebom.utf${i}be 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && -HEAD is now at ddd63c9 foo -ok 3 - git-add invalidates cache-tree + cp lebom.utf${i}le.raw lebom.utf${i}be && + test_must_fail git add lebom.utf${i}be 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}be" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && -expecting success of 0090.4 'git-add in subdir invalidates cache-tree': - test_when_finished "git reset --hard; git read-tree HEAD" && - mkdir dirx && - echo "I changed this file" >dirx/foo && - git add dirx/foo && - test_invalid_cache_tree + cp bebom.utf${i}be.raw bebom.utf${i}le && + test_must_fail git add bebom.utf${i}le 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out && -error: invalid object 040000 59d259507ddf2acc00997a8b70c61d7bdc240440 for 'dirx' -HEAD is now at ddd63c9 foo -ok 4 - git-add in subdir invalidates cache-tree + cp lebom.utf${i}le.raw lebom.utf${i}le && + test_must_fail git add lebom.utf${i}le 2>err.out && + test_i18ngrep "fatal: BOM is prohibited .* utf-${i}LE" err.out && + test_i18ngrep "use UTF-${i} as working-tree-encoding" err.out + +fatal: BOM is prohibited in 'bebom.utf32be' if encoded as utf-32be +hint: The file 'bebom.utf32be' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. +fatal: BOM is prohibited in 'lebom.utf32be' if encoded as utf-32be +hint: The file 'lebom.utf32be' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. +fatal: BOM is prohibited in 'bebom.utf32le' if encoded as utf-32LE +hint: The file 'bebom.utf32le' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. +fatal: BOM is prohibited in 'lebom.utf32le' if encoded as utf-32LE +hint: The file 'lebom.utf32le' contains a byte order mark (BOM). Please use UTF-32 as working-tree-encoding. +HEAD is now at dfb2bb8 initial +ok 9 - check prohibited UTF-32 BOM -expecting success of 0090.5 'git-add in subdir does not invalidate sibling cache-tree': - git tag no-children && - test_when_finished "git reset --hard no-children; git read-tree HEAD" && - mkdir dir1 dir2 && - test_commit dir1/a && - test_commit dir2/b && - echo "I changed this file" >dir1/a && - cmp_cache_tree before && - echo "I changed this file" >dir1/a && - git add dir1/a && - cmp_cache_tree expect +expecting success of 0028.10 'check required UTF-32 BOM': + test_when_finished "git reset --hard HEAD" && -[master 365c8fc] dir1/a - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 dir1/a.t -[master 8be4607] dir2/b - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 dir2/b.t -error: invalid object 040000 3b5b859722b671676295bf3795f34b8c6f2393f5 for 'dir1' -HEAD is now at ddd63c9 foo -ok 5 - git-add in subdir does not invalidate sibling cache-tree + echo "*.utf${i} text working-tree-encoding=utf-${i}" >>.gitattributes && -expecting success of 0090.6 'update-index invalidates cache-tree': - test_when_finished "git reset --hard; git read-tree HEAD" && - echo "I changed this file" >foo && - git update-index --add foo && - test_invalid_cache_tree + cp nobom.utf${i}be.raw nobom.utf${i} && + test_must_fail git add nobom.utf${i} 2>err.out && + test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && + test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out && -HEAD is now at ddd63c9 foo -ok 6 - update-index invalidates cache-tree + cp nobom.utf${i}le.raw nobom.utf${i} && + test_must_fail git add nobom.utf${i} 2>err.out && + test_i18ngrep "fatal: BOM is required .* utf-${i}" err.out && + test_i18ngrep "use UTF-${i}BE or UTF-${i}LE" err.out + +fatal: BOM is required in 'nobom.utf32' if encoded as utf-32 +hint: The file 'nobom.utf32' is missing a byte order mark (BOM). Please use UTF-32BE or UTF-32LE (depending on the byte order) as working-tree-encoding. +fatal: BOM is required in 'nobom.utf32' if encoded as utf-32 +hint: The file 'nobom.utf32' is missing a byte order mark (BOM). Please use UTF-32BE or UTF-32LE (depending on the byte order) as working-tree-encoding. +HEAD is now at dfb2bb8 initial +ok 10 - check required UTF-32 BOM -expecting success of 0090.7 'write-tree establishes cache-tree': - test-tool scrap-cache-tree && - git write-tree && - test_cache_tree +expecting success of 0028.11 'eol conversion for UTF-32 encoded files on checkout': + test_when_finished "rm -f crlf.utf${i}.raw lf.utf${i}.raw" && + test_when_finished "git reset --hard HEAD^" && -64fd3796c57084e7b8cbae358ce37970b8e954f6 -ok 7 - write-tree establishes cache-tree + cat lf.utf8.raw | write_utf${i} >lf.utf${i}.raw && + cat crlf.utf8.raw | write_utf${i} >crlf.utf${i}.raw && + cp crlf.utf${i}.raw eol.utf${i} && -expecting success of 0090.8 'test-tool scrap-cache-tree works': - git read-tree HEAD && - test-tool scrap-cache-tree && - test_no_cache_tree + cat >expectIndexLF <<-EOF && + i/lf w/-text attr/text eol.utf${i} + EOF -ok 8 - test-tool scrap-cache-tree works + git add eol.utf${i} && + git commit -m eol && -expecting success of 0090.9 'second commit has cache-tree': - test_commit bar && - test_cache_tree + # UTF-${i} with CRLF (Windows line endings) + rm eol.utf${i} && + git -c core.eol=crlf checkout eol.utf${i} && + test_cmp_bin crlf.utf${i}.raw eol.utf${i} && -[master eeeeed8] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar.t -ok 9 - second commit has cache-tree + # Although the file has CRLF in the working tree, + # ensure LF in the index + git ls-files --eol eol.utf${i} >actual && + test_cmp expectIndexLF actual && -expecting success of 0090.10 'commit --interactive gives cache-tree on partial commit': - cat <<-\EOT >foo.c && - int foo() - { - return 42; - } - int bar() - { - return 42; - } - EOT - git add foo.c && - test_invalid_cache_tree && - git commit -m "add a file" && - test_cache_tree && - cat <<-\EOT >foo.c && - int foo() - { - return 43; - } - int bar() - { - return 44; - } - EOT - test_write_lines p 1 "" s n y q | - git commit --interactive -m foo && - test_cache_tree + # UTF-${i} with LF (Unix line endings) + rm eol.utf${i} && + git -c core.eol=lf checkout eol.utf${i} && + test_cmp_bin lf.utf${i}.raw eol.utf${i} && -[master d1075a6] add a file - Author: A U Thor - 1 file changed, 8 insertions(+) - create mode 100644 foo.c - staged unstaged path - 1: unchanged +2/-2 foo.c + # The file LF in the working tree, ensure LF in the index + git ls-files --eol eol.utf${i} >actual && + test_cmp expectIndexLF actual + +checking prerequisite: NO_UTF32_BOM -*** Commands *** - 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked - 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp -What now> staged unstaged path - 1: unchanged +2/-2 [f]oo.c -Patch update>> staged unstaged path -* 1: unchanged +2/-2 [f]oo.c -Patch update>> diff --git a/foo.c b/foo.c -index 75522e2..3f7f049 100644 ---- a/foo.c -+++ b/foo.c -@@ -1,8 +1,8 @@ - int foo() - { --return 42; -+return 43; - } - int bar() - { --return 42; -+return 44; - } -(1/1) Stage this hunk [y,n,q,a,d,s,e,?]? Split into 2 hunks. -@@ -1,6 +1,6 @@ - int foo() - { --return 42; -+return 43; - } - int bar() - { -(1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? @@ -4,5 +4,5 @@ - } - int bar() - { --return 42; -+return 44; - } -(2/2) Stage this hunk [y,n,q,a,d,K,g,/,e,?]? -*** Commands *** - 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked - 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp -What now> Bye. -[master 65d7dde] foo - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 10 - commit --interactive gives cache-tree on partial commit +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12 -expecting success of 0090.11 'commit -p with shrinking cache-tree': - mkdir -p deep/very-long-subdir && - echo content >deep/very-long-subdir/file && - git add deep && - git commit -m add && - git rm -r deep && +) +prerequisite NO_UTF32_BOM not satisfied +checking prerequisite: NO_UTF32_BOM - before=$(wc -c <.git/index) && - git commit -m delete -p && - after=$(wc -c <.git/index) && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF32_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-32 | wc -c) = 12 - # double check that the index shrank - test $before -gt $after && +) +prerequisite NO_UTF32_BOM not satisfied +source (eol.utf32, considered utf-32): +|  0: ff   |  1: fe   |  2: 0   |  3: 0   |  4: 6f o |  5: 0   |  6: 0   |  7: 0   +|  8: 6e n |  9: 0   | 10: 0   | 11: 0   | 12: 65 e | 13: 0   | 14: 0   | 15: 0   +| 16: d   | 17: 0   | 18: 0   | 19: 0   | 20: a   | 21: 0   | 22: 0   | 23: 0   +| 24: 74 t | 25: 0   | 26: 0   | 27: 0   | 28: 77 w | 29: 0   | 30: 0   | 31: 0   +| 32: 6f o | 33: 0   | 34: 0   | 35: 0   | 36: d   | 37: 0   | 38: 0   | 39: 0   +| 40: a   | 41: 0   | 42: 0   | 43: 0   | 44: 74 t | 45: 0   | 46: 0   | 47: 0   +| 48: 68 h | 49: 0   | 50: 0   | 51: 0   | 52: 72 r | 53: 0   | 54: 0   | 55: 0   +| 56: 65 e | 57: 0   | 58: 0   | 59: 0   | 60: 65 e | 61: 0   | 62: 0   | 63: 0   +| 64: d   | 65: 0   | 66: 0   | 67: 0   | 68: a   | 69: 0   | 70: 0   | 71: 0   - # and that our index was not corrupted - git fsck +destination (eol.utf32, considered UTF-8): +|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o +|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   +| 16: a   -[master 10c383a] add - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 deep/very-long-subdir/file -rm 'deep/very-long-subdir/file' -diff --git a/foo.c b/foo.c -index f0f3133..3f7f049 100644 ---- a/foo.c -+++ b/foo.c -@@ -1,6 +1,6 @@ - int foo() - { --return 42; -+return 43; - } - int bar() - { -(1/1) Stage this hunk [y,n,q,a,d,e,?]? -[master 73c66c3] delete - Author: A U Thor - 1 file changed, 1 deletion(-) - delete mode 100644 deep/very-long-subdir/file -dangling blob d238b40d1657b1cc3ebd9a3c55ef04f303c694ae -ok 11 - commit -p with shrinking cache-tree +warning: CRLF will be replaced by LF in eol.utf32. +The file will have its original line endings in your working directory +source (eol.utf32, considered utf-32): +|  0: ff   |  1: fe   |  2: 0   |  3: 0   |  4: 6f o |  5: 0   |  6: 0   |  7: 0   +|  8: 6e n |  9: 0   | 10: 0   | 11: 0   | 12: 65 e | 13: 0   | 14: 0   | 15: 0   +| 16: d   | 17: 0   | 18: 0   | 19: 0   | 20: a   | 21: 0   | 22: 0   | 23: 0   +| 24: 74 t | 25: 0   | 26: 0   | 27: 0   | 28: 77 w | 29: 0   | 30: 0   | 31: 0   +| 32: 6f o | 33: 0   | 34: 0   | 35: 0   | 36: d   | 37: 0   | 38: 0   | 39: 0   +| 40: a   | 41: 0   | 42: 0   | 43: 0   | 44: 74 t | 45: 0   | 46: 0   | 47: 0   +| 48: 68 h | 49: 0   | 50: 0   | 51: 0   | 52: 72 r | 53: 0   | 54: 0   | 55: 0   +| 56: 65 e | 57: 0   | 58: 0   | 59: 0   | 60: 65 e | 61: 0   | 62: 0   | 63: 0   +| 64: d   | 65: 0   | 66: 0   | 67: 0   | 68: a   | 69: 0   | 70: 0   | 71: 0   -expecting success of 0090.12 'commit in child dir has cache-tree': - mkdir dir && - >dir/child.t && - git add dir/child.t && - git commit -m dir/child.t && - test_cache_tree +destination (eol.utf32, considered UTF-8): +|  0: 6f o |  1: 6e n |  2: 65 e |  3: d   |  4: a   |  5: 74 t |  6: 77 w |  7: 6f o +|  8: d   |  9: a   | 10: 74 t | 11: 68 h | 12: 72 r | 13: 65 e | 14: 65 e | 15: d   +| 16: a   -[master d3413ee] dir/child.t +[master 674dc3f] eol Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 dir/child.t -ok 12 - commit in child dir has cache-tree - -expecting success of 0090.13 'reset --hard gives cache-tree': - test-tool scrap-cache-tree && - git reset --hard && - test_cache_tree - -HEAD is now at d3413ee dir/child.t -ok 13 - reset --hard gives cache-tree + 1 file changed, 3 insertions(+) + create mode 100644 eol.utf32 +Updated 1 path from the index +Updated 1 path from the index +HEAD is now at dfb2bb8 initial +ok 11 - eol conversion for UTF-32 encoded files on checkout -expecting success of 0090.14 'reset --hard without index gives cache-tree': - rm -f .git/index && - git reset --hard && - test_cache_tree +expecting success of 0028.12 'check unsupported encodings': + test_when_finished "git reset --hard HEAD" && -HEAD is now at d3413ee dir/child.t -ok 14 - reset --hard without index gives cache-tree + echo "*.set text working-tree-encoding" >.gitattributes && + printf "set" >t.set && + test_must_fail git add t.set 2>err.out && + test_i18ngrep "true/false are no valid working-tree-encodings" err.out && -expecting success of 0090.15 'checkout gives cache-tree': - git tag current && - git checkout HEAD^ && - test_cache_tree + echo "*.unset text -working-tree-encoding" >.gitattributes && + printf "unset" >t.unset && + git add t.unset && -Note: switching to 'HEAD^'. + echo "*.empty text working-tree-encoding=" >.gitattributes && + printf "empty" >t.empty && + git add t.empty && -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. + echo "*.garbage text working-tree-encoding=garbage" >.gitattributes && + printf "garbage" >t.garbage && + test_must_fail git add t.garbage 2>err.out && + test_i18ngrep "failed to encode" err.out -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +fatal: true/false are no valid working-tree-encodings +fatal: failed to encode 't.garbage' from garbage to UTF-8 +HEAD is now at dfb2bb8 initial +ok 12 - check unsupported encodings - git switch -c +expecting success of 0028.13 'error if encoding round trip is not the same during refresh': + BEFORE_STATE=$(git rev-parse HEAD) && + test_when_finished "git reset --hard $BEFORE_STATE" && -Or undo this operation with: + # Add and commit a UTF-16 file but skip the "working-tree-encoding" + # filter. Consequently, the in-repo representation is UTF-16 and not + # UTF-8. This simulates a Git version that has no working tree encoding + # support. + echo "*.utf16le text working-tree-encoding=utf-16le" >.gitattributes && + echo "hallo" >nonsense.utf16le && + TEST_HASH=$(git hash-object --no-filters -w nonsense.utf16le) && + git update-index --add --cacheinfo 100644 $TEST_HASH nonsense.utf16le && + COMMIT=$(git commit-tree -p $(git rev-parse HEAD) -m "plain commit" $(git write-tree)) && + git update-ref refs/heads/master $COMMIT && - git switch - + test_must_fail git checkout HEAD^ 2>err.out && + test_i18ngrep "error: .* overwritten by checkout:" err.out -Turn off this advice by setting config variable advice.detachedHead to false +error: Your local changes to the following files would be overwritten by checkout: +HEAD is now at dfb2bb8 initial +ok 13 - error if encoding round trip is not the same during refresh -HEAD is now at 73c66c3 delete -ok 15 - checkout gives cache-tree +expecting success of 0028.14 'error if encoding garbage is already in Git': + BEFORE_STATE=$(git rev-parse HEAD) && + test_when_finished "git reset --hard $BEFORE_STATE" && -expecting success of 0090.16 'checkout -b gives cache-tree': - git checkout current && - git checkout -b prev HEAD^ && - test_cache_tree + # Skip the UTF-16 filter for the added file + # This simulates a Git version that has no checkoutEncoding support + cp nobom.utf16be.raw nonsense.utf16 && + TEST_HASH=$(git hash-object --no-filters -w nonsense.utf16) && + git update-index --add --cacheinfo 100644 $TEST_HASH nonsense.utf16 && + COMMIT=$(git commit-tree -p $(git rev-parse HEAD) -m "plain commit" $(git write-tree)) && + git update-ref refs/heads/master $COMMIT && -Previous HEAD position was 73c66c3 delete -HEAD is now at d3413ee dir/child.t -Previous HEAD position was d3413ee dir/child.t -Switched to a new branch 'prev' -ok 16 - checkout -b gives cache-tree + git diff 2>err.out && + test_i18ngrep "error: BOM is required" err.out -expecting success of 0090.17 'checkout -B gives cache-tree': - git checkout current && - git checkout -B prev HEAD^ && - test_cache_tree +error: BOM is required in 'nonsense.utf16' if encoded as utf-16 +error: BOM is required in 'nonsense.utf16' if encoded as utf-16 +HEAD is now at dfb2bb8 initial +ok 14 - error if encoding garbage is already in Git -Note: switching to 'current'. +checking prerequisite: ICONV_SHIFT_JIS -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-ICONV_SHIFT_JIS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-ICONV_SHIFT_JIS" && + iconv -f UTF-8 -t SHIFT-JIS + text="hallo there!\nroundtrip test here!" && + printf "$text" | iconv -f UTF-8 -t SHIFT-JIS >roundtrip.shift && + printf "$text" | write_utf16 >roundtrip.utf16 && + echo "*.shift text working-tree-encoding=SHIFT-JIS" >>.gitattributes && -Or undo this operation with: + # SHIFT-JIS encoded files are round-trip checked by default... + GIT_TRACE=1 git add .gitattributes roundtrip.shift 2>&1 | + grep "Checking roundtrip encoding for SHIFT-JIS" && + git reset && - git switch - + # ... unless we overwrite the Git config! + ! GIT_TRACE=1 git -c core.checkRoundtripEncoding=garbage \ + add .gitattributes roundtrip.shift 2>&1 | + grep "Checking roundtrip encoding for SHIFT-JIS" && + git reset && -Turn off this advice by setting config variable advice.detachedHead to false + # UTF-16 encoded files should not be round-trip checked by default... + ! GIT_TRACE=1 git add roundtrip.utf16 2>&1 | + grep "Checking roundtrip encoding for UTF-16" && + git reset && -HEAD is now at d3413ee dir/child.t -Previous HEAD position was d3413ee dir/child.t -Switched to and reset branch 'prev' -ok 17 - checkout -B gives cache-tree + # ... unless we tell Git to check it! + GIT_TRACE=1 git -c core.checkRoundtripEncoding="UTF-16, UTF-32" \ + add roundtrip.utf16 2>&1 | + grep "Checking roundtrip encoding for utf-16" && + git reset && -expecting success of 0090.18 'merge --ff-only maintains cache-tree': - git checkout current && - git checkout -b changes && - test_commit llamas && - test_commit pachyderm && - test_cache_tree && - git checkout current && - test_cache_tree && - git merge --ff-only changes && - test_cache_tree + # ... unless we tell Git to check it! + # (here we also check that the casing of the encoding is irrelevant) + GIT_TRACE=1 git -c core.checkRoundtripEncoding="UTF-32, utf-16" \ + add roundtrip.utf16 2>&1 | + grep "Checking roundtrip encoding for utf-16" && + git reset -Note: switching to 'current'. +checking prerequisite: NO_UTF16_BOM -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NO_UTF16_BOM" && + test $(printf abc | iconv -f UTF-8 -t UTF-16 | wc -c) = 6 -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +) +prerequisite NO_UTF16_BOM not satisfied +Checking roundtrip encoding for SHIFT-JIS... +Unstaged changes after reset: +M .gitattributes +Unstaged changes after reset: +M .gitattributes +Unstaged changes after reset: +M .gitattributes +Checking roundtrip encoding for utf-16... +Unstaged changes after reset: +M .gitattributes +Checking roundtrip encoding for utf-16... +Unstaged changes after reset: +M .gitattributes +HEAD is now at dfb2bb8 initial +ok 15 - check roundtrip encoding - git switch -c +expecting success of 0028.16 'Commit UTF-8, checkout UTF-8': + test_when_finished "git checkout HEAD -- .gitattributes" && -Or undo this operation with: + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && - git switch - + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && -Turn off this advice by setting config variable advice.detachedHead to false + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && -HEAD is now at d3413ee dir/child.t -Switched to a new branch 'changes' -[changes 229c856] llamas - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 llamas.t -[changes f10d9f3] pachyderm + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master 7887505] Test data Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 pachyderm.t -Note: switching to 'current'. + create mode 100644 test.commit_utf8_checkout_UTF-8 +ok 16 - Commit UTF-8, checkout UTF-8 -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 0028.17 'Commit UTF-8, checkout UTF-16LE': + test_when_finished "git checkout HEAD -- .gitattributes" && -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && - git switch -c + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && -Or undo this operation with: + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && - git switch - + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master dd0bb11] Test data + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 test.commit_utf8_checkout_UTF-16LE +ok 17 - Commit UTF-8, checkout UTF-16LE -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 0028.18 'Commit UTF-8, checkout UTF-16BE': + test_when_finished "git checkout HEAD -- .gitattributes" && -HEAD is now at d3413ee dir/child.t -Updating d3413ee..f10d9f3 -Fast-forward - llamas.t | 1 + - pachyderm.t | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 llamas.t - create mode 100644 pachyderm.t -ok 18 - merge --ff-only maintains cache-tree + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && -expecting success of 0090.19 'merge maintains cache-tree': - git checkout current && - git checkout -b changes2 && - test_commit alpacas && - test_cache_tree && - git checkout current && - test_commit struthio && - test_cache_tree && - git merge changes2 && - test_cache_tree + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && -Previous HEAD position was f10d9f3 pachyderm -HEAD is now at d3413ee dir/child.t -Switched to a new branch 'changes2' -[changes2 4b1575a] alpacas + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && + + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master ccf08f2] Test data Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 alpacas.t -Note: switching to 'current'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: + create mode 100644 test.commit_utf8_checkout_UTF-16BE +ok 18 - Commit UTF-8, checkout UTF-16BE - git switch -c +expecting success of 0028.19 'Commit UTF-8, checkout UTF-16LE-BOM': + test_when_finished "git checkout HEAD -- .gitattributes" && -Or undo this operation with: + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && - git switch - + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && -Turn off this advice by setting config variable advice.detachedHead to false + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && -HEAD is now at d3413ee dir/child.t -[detached HEAD 5a63c6d] struthio + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master bb82fa0] Test data Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 struthio.t -Merging: -5a63c6d struthio -virtual changes2 -found 1 common ancestor: -d3413ee dir/child.t -Merge made by the 'recursive' strategy. - alpacas.t | 1 + - 1 file changed, 1 insertion(+) - create mode 100644 alpacas.t -ok 19 - merge maintains cache-tree - -expecting success of 0090.20 'partial commit gives cache-tree': - git checkout -b partial no-children && - test_commit one && - test_commit two && - echo "some change" >one.t && - git add one.t && - echo "some other change" >two.t && - git commit two.t -m partial && - test_cache_tree + create mode 100644 test.commit_utf8_checkout_UTF-16LE-BOM +ok 19 - Commit UTF-8, checkout UTF-16LE-BOM -Warning: you are leaving 1 commit behind, not connected to -any of your branches: +expecting success of 0028.20 'Commit UTF-8, checkout UTF-16BE-BOM': + test_when_finished "git checkout HEAD -- .gitattributes" && - e104fa1 Merge branch 'changes2' into HEAD + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && -If you want to keep it by creating a new branch, this may be a good time -to do so with: + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && - git branch e104fa1 + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && -Switched to a new branch 'partial' -[partial 6771940] one + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master 434b0e2] Test data Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 one.t -[partial cd7fad9] two + create mode 100644 test.commit_utf8_checkout_UTF-16BE-BOM +ok 20 - Commit UTF-8, checkout UTF-16BE-BOM + +expecting success of 0028.21 'Commit UTF-8, checkout UTF-32LE': + test_when_finished "git checkout HEAD -- .gitattributes" && + + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && + + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && + + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && + + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master 4ebb4c9] Test data Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 two.t -[partial f24c7c2] partial - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 20 - partial commit gives cache-tree + create mode 100644 test.commit_utf8_checkout_UTF-32LE +ok 21 - Commit UTF-8, checkout UTF-32LE -expecting success of 0090.21 'no phantom error when switching trees': - mkdir newdir && - >newdir/one && - git add newdir/one && - git checkout 2>errors && - test_must_be_empty errors +expecting success of 0028.22 'Commit UTF-8, checkout UTF-32BE': + test_when_finished "git checkout HEAD -- .gitattributes" && -A newdir/one -M one.t -ok 21 - no phantom error when switching trees + test_ext="commit_utf8_checkout_$encoding" && + test_file="test.$test_ext" && -expecting success of 0090.22 'switching trees does not invalidate shared index': - ( - sane_unset GIT_TEST_SPLIT_INDEX && - git update-index --split-index && - >split && - git add split && - test-tool dump-split-index .git/index | grep -v ^own >before && - git commit -m "as-is" && - test-tool dump-split-index .git/index | grep -v ^own >after && - test_cmp before after - ) + # Commit as UTF-8 + echo "*.$test_ext text working-tree-encoding=UTF-8" >.gitattributes && + printf "$orig_string" >$test_file && + git add $test_file && + git commit -m "Test data" && -[partial dc7a831] as-is + # Checkout in tested encoding + rm $test_file && + echo "*.$test_ext text working-tree-encoding=$encoding" >.gitattributes && + git checkout HEAD -- $test_file && + + # Test + printf $expect_bytes >$test_file.raw && + test_cmp_bin $test_file.raw $test_file + +[master bfde51e] Test data Author: A U Thor - 3 files changed, 1 insertion(+), 1 deletion(-) - create mode 100644 newdir/one - create mode 100644 split -ok 22 - switching trees does not invalidate shared index + 1 file changed, 1 insertion(+) + create mode 100644 test.commit_utf8_checkout_UTF-32BE +ok 22 - Commit UTF-8, checkout UTF-32BE # passed all 22 test(s) 1..22 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1005-read-tree-reset.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1005-read-tree-reset/.git/ -expecting success of 1005.1 'setup': - git init && - mkdir df && - echo content >df/file && - git add df/file && - git commit -m one && - git ls-files >expect && - rm -rf df && - echo content >df && - git add df && - echo content >new && - git add new && - git commit -m two +*** t0041-usage.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0041-usage/.git/ +expecting success of 0041.1 'setup ': + test_commit "v1.0" -Reinitialized existing Git repository in /build/git-2.30.2/t/trash directory.t1005-read-tree-reset/.git/ -[master (root-commit) 92e0c46] one +[master (root-commit) 843b676] v1.0 Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 df/file -[master 12f5e11] two - Author: A U Thor - 2 files changed, 1 insertion(+) - rename df/file => df (100%) - create mode 100644 new -ok 1 - setup + create mode 100644 v1.0.t +ok 1 - setup -expecting success of 1005.2 'reset should work': - read_tree_u_must_succeed -u --reset HEAD^ && - git ls-files >actual && - test_cmp expect actual +expecting success of 0041.2 'tag --contains ': + git tag --contains "v1.0" >actual 2>actual.err && + grep "v1.0" actual && + test_line_count = 0 actual.err -ok 2 - reset should work +v1.0 +ok 2 - tag --contains -expecting success of 1005.3 'reset should remove remnants from a failed merge': - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" && - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >actual && - ! test -f old +expecting success of 0041.3 'tag --contains ': + test_must_fail git tag --contains "notag" >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "error" actual.err && + test_i18ngrep ! "usage" actual.err -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old -ok 3 - reset should remove remnants from a failed merge +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1005.4 'two-way reset should remove remnants too': - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" && - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - read_tree_u_must_succeed --reset -u HEAD HEAD && - git ls-files -s >actual && - ! test -f old +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old -ok 4 - two-way reset should remove remnants too +) +prerequisite C_LOCALE_OUTPUT ok +error: malformed object name notag +ok 3 - tag --contains -expecting success of 1005.5 'Porcelain reset should remove remnants too': - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" && - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - git reset --hard && - git ls-files -s >actual && - ! test -f old +expecting success of 0041.4 'tag --no-contains ': + git tag --no-contains "v1.0" >actual 2>actual.err && + test_line_count = 0 actual && + test_line_count = 0 actual.err -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old -HEAD is now at 12f5e11 two -ok 5 - Porcelain reset should remove remnants too +ok 4 - tag --no-contains -expecting success of 1005.6 'Porcelain checkout -f should remove remnants too': - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" && - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - git checkout -f && - git ls-files -s >actual && - ! test -f old +expecting success of 0041.5 'tag --no-contains ': + test_must_fail git tag --no-contains "notag" >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "error" actual.err && + test_i18ngrep ! "usage" actual.err -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old -ok 6 - Porcelain checkout -f should remove remnants too +error: malformed object name notag +ok 5 - tag --no-contains -expecting success of 1005.7 'Porcelain checkout -f HEAD should remove remnants too': - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" && - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - git checkout -f HEAD && - git ls-files -s >actual && - ! test -f old +expecting success of 0041.6 'tag usage error': + test_must_fail git tag --noopt >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "usage" actual.err -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old -100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old -ok 7 - Porcelain checkout -f HEAD should remove remnants too +usage: git tag [-a | -s | -u ] [-f] [-m | -F ] +ok 6 - tag usage error -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0300-credentials.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0300-credentials/.git/ -expecting success of 0300.1 'setup helper scripts': - cat >dump <<-\EOF && - whoami=$(echo $0 | sed s/.*git-credential-//) - echo >&2 "$whoami: $*" - OIFS=$IFS - IFS== - while read key value; do - echo >&2 "$whoami: $key=$value" - eval "$key=$value" - done - IFS=$OIFS - EOF +expecting success of 0041.7 'branch --contains ': + git branch --contains "master" >actual 2>actual.err && + test_i18ngrep "master" actual && + test_line_count = 0 actual.err - write_script git-credential-useless <<-\EOF && - . ./dump - exit 0 - EOF +* master +ok 7 - branch --contains - write_script git-credential-quit <<-\EOF && - . ./dump - echo quit=1 - EOF +expecting success of 0041.8 'branch --contains ': + test_must_fail git branch --no-contains "nocommit" >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "error" actual.err && + test_i18ngrep ! "usage" actual.err - write_script git-credential-verbatim <<-\EOF && - user=$1; shift - pass=$1; shift - . ./dump - test -z "$user" || echo username=$user - test -z "$pass" || echo password=$pass - EOF +error: malformed object name nocommit +ok 8 - branch --contains - PATH="$PWD:$PATH" +expecting success of 0041.9 'branch --no-contains ': + git branch --no-contains "master" >actual 2>actual.err && + test_line_count = 0 actual && + test_line_count = 0 actual.err -ok 1 - setup helper scripts +ok 9 - branch --no-contains -expecting success of 0300.2 'credential_fill invokes helper': - check fill "verbatim foo bar" <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - EOF +expecting success of 0041.10 'branch --no-contains ': + test_must_fail git branch --no-contains "nocommit" >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "error" actual.err && + test_i18ngrep ! "usage" actual.err -checking prerequisite: C_LOCALE_OUTPUT +error: malformed object name nocommit +ok 10 - branch --no-contains -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0041.11 'branch usage error': + test_must_fail git branch --noopt >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "usage" actual.err -) -prerequisite C_LOCALE_OUTPUT ok -ok 2 - credential_fill invokes helper +usage: git branch [] [-r | -a] [--merged] [--no-merged] +ok 11 - branch usage error -expecting success of 0300.3 'credential_fill invokes multiple helpers': - check fill useless "verbatim foo bar" <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=foo - password=bar - -- - useless: get - useless: protocol=http - useless: host=example.com - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - EOF +expecting success of 0041.12 'for-each-ref --contains ': + git for-each-ref --contains "master" >actual 2>actual.err && + test_line_count = 2 actual && + test_line_count = 0 actual.err -ok 3 - credential_fill invokes multiple helpers +ok 12 - for-each-ref --contains -expecting success of 0300.4 'credential_fill stops when we get a full response': - check fill "verbatim one two" "verbatim three four" <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=one - password=two - -- - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - EOF +expecting success of 0041.13 'for-each-ref --contains ': + test_must_fail git for-each-ref --no-contains "noobject" >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "error" actual.err && + test_i18ngrep ! "usage" actual.err -ok 4 - credential_fill stops when we get a full response +error: malformed object name noobject +ok 13 - for-each-ref --contains -expecting success of 0300.5 'credential_fill continues through partial response': - check fill "verbatim one \"\"" "verbatim two three" <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=two - password=three - -- - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - verbatim: username=one - EOF +expecting success of 0041.14 'for-each-ref --no-contains ': + git for-each-ref --no-contains "master" >actual 2>actual.err && + test_line_count = 0 actual && + test_line_count = 0 actual.err -ok 5 - credential_fill continues through partial response +ok 14 - for-each-ref --no-contains -expecting success of 0300.6 'credential_fill passes along metadata': - check fill "verbatim one two" <<-\EOF - protocol=ftp - host=example.com - path=foo.git - -- - protocol=ftp - host=example.com - path=foo.git - username=one - password=two - -- - verbatim: get - verbatim: protocol=ftp - verbatim: host=example.com - verbatim: path=foo.git - EOF +expecting success of 0041.15 'for-each-ref --no-contains ': + test_must_fail git for-each-ref --no-contains "noobject" >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "error" actual.err && + test_i18ngrep ! "usage" actual.err -ok 6 - credential_fill passes along metadata +error: malformed object name noobject +ok 15 - for-each-ref --no-contains -expecting success of 0300.7 'credential_approve calls all helpers': - check approve useless "verbatim one two" <<-\EOF - protocol=http - host=example.com - username=foo - password=bar - -- - -- - useless: store - useless: protocol=http - useless: host=example.com - useless: username=foo - useless: password=bar - verbatim: store - verbatim: protocol=http - verbatim: host=example.com - verbatim: username=foo - verbatim: password=bar - EOF +expecting success of 0041.16 'for-each-ref usage error': + test_must_fail git for-each-ref --noopt >actual 2>actual.err && + test_line_count = 0 actual && + test_i18ngrep "usage" actual.err -ok 7 - credential_approve calls all helpers +usage: git for-each-ref [] [] +ok 16 - for-each-ref usage error -expecting success of 0300.8 'do not bother storing password-less credential': - check approve useless <<-\EOF - protocol=http - host=example.com - username=foo - -- - -- - EOF +# passed all 16 test(s) +1..16 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0030-stripspace.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0030-stripspace/.git/ +expecting success of 0030.1 'long lines without spaces should be unchanged': + echo "$ttt" >expect && + git stripspace actual && + test_cmp expect actual && -ok 8 - do not bother storing password-less credential + echo "$ttt$ttt" >expect && + git stripspace actual && + test_cmp expect actual && -expecting success of 0300.9 'credential_reject calls all helpers': - check reject useless "verbatim one two" <<-\EOF - protocol=http - host=example.com - username=foo - password=bar - -- - -- - useless: erase - useless: protocol=http - useless: host=example.com - useless: username=foo - useless: password=bar - verbatim: erase - verbatim: protocol=http - verbatim: host=example.com - verbatim: username=foo - verbatim: password=bar - EOF + echo "$ttt$ttt$ttt" >expect && + git stripspace actual && + test_cmp expect actual && -ok 9 - credential_reject calls all helpers + echo "$ttt$ttt$ttt$ttt" >expect && + git stripspace actual && + test_cmp expect actual -expecting success of 0300.10 'usernames can be preserved': - check fill "verbatim \"\" three" <<-\EOF - protocol=http - host=example.com - username=one - -- - protocol=http - host=example.com - username=one - password=three - -- - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - verbatim: username=one - EOF +ok 1 - long lines without spaces should be unchanged -ok 10 - usernames can be preserved +expecting success of 0030.2 'lines with spaces at the beginning should be unchanged': + echo "$sss$ttt" >expect && + git stripspace actual && + test_cmp expect actual && -expecting success of 0300.11 'usernames can be overridden': - check fill "verbatim two three" <<-\EOF - protocol=http - host=example.com - username=one - -- - protocol=http - host=example.com - username=two - password=three - -- - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - verbatim: username=one - EOF + echo "$sss$sss$ttt" >expect && + git stripspace actual && + test_cmp expect actual && -ok 11 - usernames can be overridden + echo "$sss$sss$sss$ttt" >expect && + git stripspace actual && + test_cmp expect actual -expecting success of 0300.12 'do not bother completing already-full credential': - check fill "verbatim three four" <<-\EOF - protocol=http - host=example.com - username=one - password=two - -- - protocol=http - host=example.com - username=one - password=two - -- - EOF +ok 2 - lines with spaces at the beginning should be unchanged -ok 12 - do not bother completing already-full credential +expecting success of 0030.3 'lines with intermediate spaces should be unchanged': + echo "$ttt$sss$ttt" >expect && + git stripspace actual && + test_cmp expect actual && -expecting success of 0300.13 'empty helper list falls back to internal getpass': - check fill <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://example.com': - askpass: Password for 'http://askpass-username@example.com': - EOF + echo "$ttt$sss$sss$ttt" >expect && + git stripspace actual && + test_cmp expect actual -ok 13 - empty helper list falls back to internal getpass +ok 3 - lines with intermediate spaces should be unchanged -expecting success of 0300.14 'internal getpass does not ask for known username': - check fill <<-\EOF - protocol=http - host=example.com - username=foo - -- - protocol=http - host=example.com - username=foo - password=askpass-password - -- - askpass: Password for 'http://foo@example.com': - EOF +expecting success of 0030.4 'consecutive blank lines should be unified': + printf "$ttt\n\n$ttt\n" > expect && + printf "$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 14 - internal getpass does not ask for known username + printf "$ttt$ttt\n\n$ttt\n" > expect && + printf "$ttt$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.15 'git-credential respects core.askPass': - write_script alternate-askpass <<-\EOF && - echo >&2 "alternate askpass invoked" - echo alternate-value - EOF - test_config core.askpass "$PWD/alternate-askpass" && - ( - # unset GIT_ASKPASS set by lib-credential.sh which would - # override our config, but do so in a subshell so that we do - # not interfere with other tests - sane_unset GIT_ASKPASS && - check fill <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=alternate-value - password=alternate-value - -- - alternate askpass invoked - alternate askpass invoked - EOF - ) + printf "$ttt$ttt$ttt\n\n$ttt\n" > expect && + printf "$ttt$ttt$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 15 - git-credential respects core.askPass + printf "$ttt\n\n$ttt\n" > expect && + printf "$ttt\n\n\n\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.16 'respect configured credentials': - test_config credential.helper "$HELPER" && - check fill <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=foo - password=bar - -- - EOF + printf "$ttt\n\n$ttt$ttt\n" > expect && + printf "$ttt\n\n\n\n\n$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 16 - respect configured credentials + printf "$ttt\n\n$ttt$ttt$ttt\n" > expect && + printf "$ttt\n\n\n\n\n$ttt$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.17 'match configured credential': - test_config credential.https://example.com.helper "$HELPER" && - check fill <<-\EOF - protocol=https - host=example.com - path=repo.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - EOF + printf "$ttt\n\n$ttt\n" > expect && + printf "$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 17 - match configured credential + printf "$ttt$ttt\n\n$ttt\n" > expect && + printf "$ttt$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.18 'do not match configured credential': - test_config credential.https://foo.helper "$HELPER" && - check fill <<-\EOF - protocol=https - host=bar - -- - protocol=https - host=bar - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://bar': - askpass: Password for 'https://askpass-username@bar': - EOF + printf "$ttt$ttt$ttt\n\n$ttt\n" > expect && + printf "$ttt$ttt$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 18 - do not match configured credential + printf "$ttt\n\n$ttt\n" > expect && + printf "$ttt\n\t\n \n\n \t\t\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.19 'match multiple configured helpers': - test_config credential.helper "verbatim \"\" \"\"" && - test_config credential.https://example.com.helper "$HELPER" && - check fill <<-\EOF - protocol=https - host=example.com - path=repo.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - EOF + printf "$ttt\n\n$ttt$ttt\n" > expect && + printf "$ttt\n\t\n \n\n \t\t\n$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 19 - match multiple configured helpers + printf "$ttt\n\n$ttt$ttt$ttt\n" > expect && + printf "$ttt\n\t\n \n\n \t\t\n$ttt$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual -expecting success of 0300.20 'match multiple configured helpers with URLs': - test_config credential.https://example.com/repo.git.helper "verbatim \"\" \"\"" && - test_config credential.https://example.com.helper "$HELPER" && - check fill <<-\EOF - protocol=https - host=example.com - path=repo.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - EOF +ok 4 - consecutive blank lines should be unified -ok 20 - match multiple configured helpers with URLs +expecting success of 0030.5 'only consecutive blank lines should be completely removed': -expecting success of 0300.21 'match percent-encoded values': - test_config credential.https://example.com/%2566.git.helper "$HELPER" && - check fill <<-\EOF - url=https://example.com/%2566.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - EOF + printf "\n" | git stripspace >actual && + test_must_be_empty actual && -ok 21 - match percent-encoded values + printf "\n\n\n" | git stripspace >actual && + test_must_be_empty actual && -expecting success of 0300.22 'match percent-encoded UTF-8 values in path': - test_config credential.https://example.com.useHttpPath true && - test_config credential.https://example.com/perú.git.helper "$HELPER" && - check fill <<-\EOF - url=https://example.com/per%C3%BA.git - -- - protocol=https - host=example.com - path=perú.git - username=foo - password=bar - -- - EOF + printf "$sss\n$sss\n$sss\n" | git stripspace >actual && + test_must_be_empty actual && -ok 22 - match percent-encoded UTF-8 values in path + printf "$sss$sss\n$sss\n\n" | git stripspace >actual && + test_must_be_empty actual && -expecting success of 0300.23 'match percent-encoded values in username': - test_config credential.https://user%2fname@example.com/foo/bar.git.helper "$HELPER" && - check fill <<-\EOF - url=https://user%2fname@example.com/foo/bar.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - EOF + printf "\n$sss\n$sss$sss\n" | git stripspace >actual && + test_must_be_empty actual && -ok 23 - match percent-encoded values in username + printf "$sss$sss$sss$sss\n\n\n" | git stripspace >actual && + test_must_be_empty actual && -expecting success of 0300.24 'fetch with multiple path components': - test_unconfig credential.helper && - test_config credential.https://example.com/foo/repo.git.helper "verbatim foo bar" && - check fill <<-\EOF - url=https://example.com/foo/repo.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - EOF + printf "\n$sss$sss$sss$sss\n\n" | git stripspace >actual && + test_must_be_empty actual && -ok 24 - fetch with multiple path components + printf "\n\n$sss$sss$sss$sss\n" | git stripspace >actual && + test_must_be_empty actual -expecting success of 0300.25 'pull username from config': - test_config credential.https://example.com.username foo && - check fill <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=foo - password=askpass-password - -- - askpass: Password for 'https://foo@example.com': - EOF +ok 5 - only consecutive blank lines should be completely removed -ok 25 - pull username from config +expecting success of 0030.6 'consecutive blank lines at the beginning should be removed': + printf "$ttt\n" > expect && + printf "\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.26 'honors username from URL over helper (URL)': - test_config credential.https://example.com.username bob && - test_config credential.https://example.com.helper "verbatim \"\" bar" && - check fill <<-\EOF - url=https://alice@example.com - -- - protocol=https - host=example.com - username=alice - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - verbatim: username=alice - EOF + printf "$ttt\n" > expect && + printf "\n\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 26 - honors username from URL over helper (URL) + printf "$ttt$ttt\n" > expect && + printf "\n\n\n$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.27 'honors username from URL over helper (components)': - test_config credential.https://example.com.username bob && - test_config credential.https://example.com.helper "verbatim \"\" bar" && - check fill <<-\EOF - protocol=https - host=example.com - username=alice - -- - protocol=https - host=example.com - username=alice - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - verbatim: username=alice - EOF + printf "$ttt$ttt$ttt\n" > expect && + printf "\n\n\n$ttt$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 27 - honors username from URL over helper (components) + printf "$ttt$ttt$ttt$ttt\n" > expect && + printf "\n\n\n$ttt$ttt$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.28 'last matching username wins': - test_config credential.https://example.com/path.git.username bob && - test_config credential.https://example.com.username alice && - test_config credential.https://example.com.helper "verbatim \"\" bar" && - check fill <<-\EOF - url=https://example.com/path.git - -- - protocol=https - host=example.com - username=alice - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - verbatim: username=alice - EOF + printf "$ttt\n" > expect && -ok 28 - last matching username wins + printf "$sss\n$sss\n$sss\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.29 'http paths can be part of context': - check fill "verbatim foo bar" <<-\EOF && - protocol=https - host=example.com - path=foo.git - -- - protocol=https - host=example.com - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - EOF - test_config credential.https://example.com.useHttpPath true && - check fill "verbatim foo bar" <<-\EOF - protocol=https - host=example.com - path=foo.git - -- - protocol=https - host=example.com - path=foo.git - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.com - verbatim: path=foo.git - EOF + printf "\n$sss\n$sss$sss\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 29 - http paths can be part of context + printf "$sss$sss\n$sss\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.30 'context uses urlmatch': - test_config "credential.https://*.org.useHttpPath" true && - check fill "verbatim foo bar" <<-\EOF - protocol=https - host=example.org - path=foo.git - -- - protocol=https - host=example.org - path=foo.git - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=https - verbatim: host=example.org - verbatim: path=foo.git - EOF + printf "$sss$sss$sss\n\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -ok 30 - context uses urlmatch + printf "\n$sss$sss$sss\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.31 'helpers can abort the process': - test_must_fail git \ - -c credential.helper=quit \ - -c credential.helper="verbatim foo bar" \ - credential fill >stdout 2>stderr <<-\EOF && - protocol=http - host=example.com - EOF - test_must_be_empty stdout && - cat >expect <<-\EOF && - quit: get - quit: protocol=http - quit: host=example.com - fatal: credential helper 'quit' told us to quit - EOF - test_i18ncmp expect stderr + printf "\n\n$sss$sss$sss\n$ttt\n" | git stripspace >actual && + test_cmp expect actual -ok 31 - helpers can abort the process +ok 6 - consecutive blank lines at the beginning should be removed -expecting success of 0300.32 'empty helper spec resets helper list': - test_config credential.helper "verbatim file file" && - check fill "" "verbatim cmdline cmdline" <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=cmdline - password=cmdline - -- - verbatim: get - verbatim: protocol=http - verbatim: host=example.com - EOF +expecting success of 0030.7 'consecutive blank lines at the end should be removed': + printf "$ttt\n" > expect && + printf "$ttt\n\n" | git stripspace >actual && + test_cmp expect actual && -ok 32 - empty helper spec resets helper list + printf "$ttt\n" > expect && + printf "$ttt\n\n\n\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.33 'url parser rejects embedded newlines': - test_must_fail git credential fill 2>stderr <<-\EOF && - url=https://one.example.com?%0ahost=two.example.com/ - EOF - cat >expect <<-\EOF && - warning: url contains a newline in its path component: https://one.example.com?%0ahost=two.example.com/ - fatal: credential url cannot be parsed: https://one.example.com?%0ahost=two.example.com/ - EOF - test_i18ncmp expect stderr + printf "$ttt$ttt\n" > expect && + printf "$ttt$ttt\n\n\n\n" | git stripspace >actual && + test_cmp expect actual && -ok 33 - url parser rejects embedded newlines + printf "$ttt$ttt$ttt\n" > expect && + printf "$ttt$ttt$ttt\n\n\n\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.34 'host-less URLs are parsed as empty host': - check fill "verbatim foo bar" <<-\EOF - url=cert:///path/to/cert.pem - -- - protocol=cert - host= - path=path/to/cert.pem - username=foo - password=bar - -- - verbatim: get - verbatim: protocol=cert - verbatim: host= - verbatim: path=path/to/cert.pem - EOF + printf "$ttt$ttt$ttt$ttt\n" > expect && + printf "$ttt$ttt$ttt$ttt\n\n\n\n" | git stripspace >actual && + test_cmp expect actual && -ok 34 - host-less URLs are parsed as empty host + printf "$ttt\n" > expect && -expecting success of 0300.35 'credential system refuses to work with missing host': - test_must_fail git credential fill 2>stderr <<-\EOF && - protocol=http - EOF - cat >expect <<-\EOF && - fatal: refusing to work with credential missing host field - EOF - test_i18ncmp expect stderr + printf "$ttt\n$sss\n$sss\n$sss\n" | git stripspace >actual && + test_cmp expect actual && -ok 35 - credential system refuses to work with missing host + printf "$ttt\n\n$sss\n$sss$sss\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.36 'credential system refuses to work with missing protocol': - test_must_fail git credential fill 2>stderr <<-\EOF && - host=example.com - EOF - cat >expect <<-\EOF && - fatal: refusing to work with credential missing protocol field - EOF - test_i18ncmp expect stderr + printf "$ttt\n$sss$sss\n$sss\n\n" | git stripspace >actual && + test_cmp expect actual && -ok 36 - credential system refuses to work with missing protocol + printf "$ttt\n$sss$sss$sss\n\n\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 0300.37 'url parser handles bare query marker': - check_host_and_path https://example.com?foo.git example.com ?foo.git + printf "$ttt\n\n$sss$sss$sss\n\n" | git stripspace >actual && + test_cmp expect actual && -ok 37 - url parser handles bare query marker + printf "$ttt\n\n\n$sss$sss$sss\n" | git stripspace >actual && + test_cmp expect actual -expecting success of 0300.38 'url parser handles bare fragment marker': - check_host_and_path https://example.com#foo.git example.com "#foo.git" +ok 7 - consecutive blank lines at the end should be removed -ok 38 - url parser handles bare fragment marker +expecting success of 0030.8 'text without newline at end should end with newline': + test $(printf "$ttt" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$ttt" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$ttt$ttt" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$ttt$ttt$ttt" | git stripspace | wc -l) -gt 0 -expecting success of 0300.39 'url parser not confused by encoded markers': - check_host_and_path https://example.com%23%3f%2f/foo.git \ - "example.com#?/" foo.git +ok 8 - text without newline at end should end with newline -ok 39 - url parser not confused by encoded markers +expecting success of 0030.9 'text plus spaces without newline at end should end with newline': + test $(printf "$ttt$sss" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$ttt$sss" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$ttt$ttt$sss" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$sss$sss" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$ttt$sss$sss" | git stripspace | wc -l) -gt 0 && + test $(printf "$ttt$sss$sss$sss" | git stripspace | wc -l) -gt 0 -expecting success of 0300.40 'credential config with partial URLs': - echo "echo password=yep" | write_script git-credential-yep && - test_write_lines url=https://user@example.com/repo.git >stdin && - for partial in \ - example.com \ - user@example.com \ - https:// \ - https://example.com \ - https://example.com/ \ - https://user@example.com \ - https://user@example.com/ \ - https://example.com/repo.git \ - https://user@example.com/repo.git \ - /repo.git - do - git -c credential.$partial.helper=yep \ - credential fill stdout && - grep yep stdout || - return 1 - done && +ok 9 - text plus spaces without newline at end should end with newline - for partial in \ - dont.use.this \ - http:// \ - /repo - do - git -c credential.$partial.helper=yep \ - credential fill stdout && - ! grep yep stdout || - return 1 - done && +expecting success of 0030.10 'text plus spaces without newline at end should not show spaces': + ! (printf "$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) - git -c credential.$partial.helper=yep \ - -c credential.with%0anewline.username=uh-oh \ - credential fill stdout 2>stderr && - test_i18ngrep "skipping credential lookup for key" stderr +ok 10 - text plus spaces without newline at end should not show spaces -password=yep -password=yep -password=yep -password=yep -password=yep -password=yep -password=yep -password=yep -password=yep -password=yep -askpass: Password for 'https://user@example.com': -askpass: Password for 'https://user@example.com': -askpass: Password for 'https://user@example.com': -warning: skipping credential lookup for key: credential.with%0anewline -ok 40 - credential config with partial URLs +expecting success of 0030.11 'text plus spaces without newline should show the correct lines': + printf "$ttt\n" >expect && + printf "$ttt$sss" | git stripspace >actual && + test_cmp expect actual && -# passed all 40 test(s) -1..40 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1004-read-tree-m-u-wf.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1004-read-tree-m-u-wf/.git/ -expecting success of 1004.1 'two-way setup': + printf "$ttt\n" >expect && + printf "$ttt$sss$sss" | git stripspace >actual && + test_cmp expect actual && - mkdir subdir && - echo >file1 file one && - echo >file2 file two && - echo >subdir/file1 file one in subdirectory && - echo >subdir/file2 file two in subdirectory && - git update-index --add file1 file2 subdir/file1 subdir/file2 && - git commit -m initial && + printf "$ttt\n" >expect && + printf "$ttt$sss$sss$sss" | git stripspace >actual && + test_cmp expect actual && - git branch side && - git tag -f branch-point && + printf "$ttt$ttt\n" >expect && + printf "$ttt$ttt$sss" | git stripspace >actual && + test_cmp expect actual && - echo file2 is not tracked on the master branch anymore && - rm -f file2 subdir/file2 && - git update-index --remove file2 subdir/file2 && - git commit -a -m "master removes file2 and subdir/file2" + printf "$ttt$ttt\n" >expect && + printf "$ttt$ttt$sss$sss" | git stripspace >actual && + test_cmp expect actual && -[master (root-commit) eb5336a] initial - Author: A U Thor - 4 files changed, 4 insertions(+) - create mode 100644 file1 - create mode 100644 file2 - create mode 100644 subdir/file1 - create mode 100644 subdir/file2 -file2 is not tracked on the master branch anymore -[master ee8fdb2] master removes file2 and subdir/file2 - Author: A U Thor - 2 files changed, 2 deletions(-) - delete mode 100644 file2 - delete mode 100644 subdir/file2 -ok 1 - two-way setup + printf "$ttt$ttt$ttt\n" >expect && + printf "$ttt$ttt$ttt$sss" | git stripspace >actual && + test_cmp expect actual -expecting success of 1004.2 'two-way not clobbering': +ok 11 - text plus spaces without newline should show the correct lines - echo >file2 master creates untracked file2 && - echo >subdir/file2 master creates untracked subdir/file2 && - if err=$(read_tree_u_must_succeed -m -u master side 2>&1) - then - echo should have complained - false - else - echo "happy to see $err" - fi +expecting success of 0030.12 'text plus spaces at end should not show spaces': + ! (echo "$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) -happy to see error: Untracked working tree file 'file2' would be overwritten by merge. -ok 2 - two-way not clobbering +ok 12 - text plus spaces at end should not show spaces -expecting success of 1004.3 'two-way with incorrect --exclude-per-directory (1)': +expecting success of 0030.13 'text plus spaces at end should be cleaned and newline must remain': + echo "$ttt" >expect && + echo "$ttt$sss" | git stripspace >actual && + test_cmp expect actual && - if err=$(read_tree_u_must_succeed -m --exclude-per-directory=.gitignore master side 2>&1) - then - echo should have complained - false - else - echo "happy to see $err" - fi + echo "$ttt" >expect && + echo "$ttt$sss$sss" | git stripspace >actual && + test_cmp expect actual && -happy to see fatal: --exclude-per-directory is meaningless unless -u -ok 3 - two-way with incorrect --exclude-per-directory (1) + echo "$ttt" >expect && + echo "$ttt$sss$sss$sss" | git stripspace >actual && + test_cmp expect actual && -expecting success of 1004.4 'two-way with incorrect --exclude-per-directory (2)': + echo "$ttt$ttt" >expect && + echo "$ttt$ttt$sss" | git stripspace >actual && + test_cmp expect actual && - if err=$(read_tree_u_must_succeed -m -u --exclude-per-directory=foo --exclude-per-directory=.gitignore master side 2>&1) - then - echo should have complained - false - else - echo "happy to see $err" - fi + echo "$ttt$ttt" >expect && + echo "$ttt$ttt$sss$sss" | git stripspace >actual && + test_cmp expect actual && -happy to see fatal: more than one --exclude-per-directory given. -ok 4 - two-way with incorrect --exclude-per-directory (2) + echo "$ttt$ttt$ttt" >expect && + echo "$ttt$ttt$ttt$sss" | git stripspace >actual && + test_cmp expect actual -expecting success of 1004.5 'two-way clobbering a ignored file': +ok 13 - text plus spaces at end should be cleaned and newline must remain - read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore master side +expecting success of 0030.14 'spaces with newline at end should be replaced with empty string': + echo | git stripspace >actual && + test_must_be_empty actual && -ok 5 - two-way clobbering a ignored file + echo "$sss" | git stripspace >actual && + test_must_be_empty actual && -expecting success of 1004.6 'three-way not complaining on an untracked path in both': + echo "$sss$sss" | git stripspace >actual && + test_must_be_empty actual && - rm -f file2 subdir/file2 && - git checkout side && - echo >file3 file three && - echo >subdir/file3 file three && - git update-index --add file3 subdir/file3 && - git commit -a -m "side adds file3 and removes file2" && + echo "$sss$sss$sss" | git stripspace >actual && + test_must_be_empty actual && - git checkout master && - echo >file2 file two is untracked on the master side && - echo >subdir/file2 file two is untracked on the master side && + echo "$sss$sss$sss$sss" | git stripspace >actual && + test_must_be_empty actual - read_tree_u_must_succeed -m -u branch-point master side +ok 14 - spaces with newline at end should be replaced with empty string -Switched to branch 'side' -D file2 -D subdir/file2 -[side 4be225f] side adds file3 and removes file2 - Author: A U Thor - 4 files changed, 2 insertions(+), 2 deletions(-) - delete mode 100644 file2 - create mode 100644 file3 - delete mode 100644 subdir/file2 - create mode 100644 subdir/file3 -Switched to branch 'master' -ok 6 - three-way not complaining on an untracked path in both +expecting success of 0030.15 'spaces without newline at end should not show spaces': + ! (printf "" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss$sss$sss" | git stripspace | grep " " >/dev/null) -expecting success of 1004.7 'three-way not clobbering a working tree file': +ok 15 - spaces without newline at end should not show spaces - git reset --hard && - rm -f file2 subdir/file2 file3 subdir/file3 && - git checkout master && - echo >file3 file three created in master, untracked && - echo >subdir/file3 file three created in master, untracked && - if err=$(read_tree_u_must_succeed -m -u branch-point master side 2>&1) - then - echo should have complained - false - else - echo "happy to see $err" - fi +expecting success of 0030.16 'spaces without newline at end should be replaced with empty string': + printf "" | git stripspace >actual && + test_must_be_empty actual && -HEAD is now at ee8fdb2 master removes file2 and subdir/file2 -Already on 'master' -happy to see error: Untracked working tree file 'file3' would be overwritten by merge. -ok 7 - three-way not clobbering a working tree file + printf "$sss$sss" | git stripspace >actual && + test_must_be_empty actual && -expecting success of 1004.8 'three-way not complaining on an untracked file': + printf "$sss$sss$sss" | git stripspace >actual && + test_must_be_empty actual && - git reset --hard && - rm -f file2 subdir/file2 file3 subdir/file3 && - git checkout master && - echo >file3 file three created in master, untracked && - echo >subdir/file3 file three created in master, untracked && + printf "$sss$sss$sss$sss" | git stripspace >actual && + test_must_be_empty actual - read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore branch-point master side +ok 16 - spaces without newline at end should be replaced with empty string -HEAD is now at ee8fdb2 master removes file2 and subdir/file2 -Already on 'master' -ok 8 - three-way not complaining on an untracked file +expecting success of 0030.17 'consecutive text lines should be unchanged': + printf "$ttt$ttt\n$ttt\n" >expect && + printf "$ttt$ttt\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 1004.9 '3-way not overwriting local changes (setup)': + printf "$ttt\n$ttt$ttt\n$ttt\n" >expect && + printf "$ttt\n$ttt$ttt\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && - git reset --hard && - git checkout -b side-a branch-point && - echo >>file1 "new line to be kept in the merge result" && - git commit -a -m "side-a changes file1" && - git checkout -b side-b branch-point && - echo >>file2 "new line to be kept in the merge result" && - git commit -a -m "side-b changes file2" && - git checkout side-a + printf "$ttt\n$ttt\n$ttt\n$ttt$ttt\n" >expect && + printf "$ttt\n$ttt\n$ttt\n$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && + printf "$ttt\n$ttt\n\n$ttt$ttt\n$ttt\n" >expect && + printf "$ttt\n$ttt\n\n$ttt$ttt\n$ttt\n" | git stripspace >actual && + test_cmp expect actual && -HEAD is now at ee8fdb2 master removes file2 and subdir/file2 -Switched to a new branch 'side-a' -[side-a 67c0594] side-a changes file1 - Author: A U Thor - 1 file changed, 1 insertion(+) -Switched to a new branch 'side-b' -[side-b 3ad988a] side-b changes file2 - Author: A U Thor - 1 file changed, 1 insertion(+) -Switched to branch 'side-a' -ok 9 - 3-way not overwriting local changes (setup) + printf "$ttt$ttt\n\n$ttt\n$ttt$ttt\n" >expect && + printf "$ttt$ttt\n\n$ttt\n$ttt$ttt\n" | git stripspace >actual && + test_cmp expect actual && -expecting success of 1004.10 '3-way not overwriting local changes (our side)': + printf "$ttt\n$ttt$ttt\n\n$ttt\n" >expect && + printf "$ttt\n$ttt$ttt\n\n$ttt\n" | git stripspace >actual && + test_cmp expect actual - # At this point, file1 from side-a should be kept as side-b - # did not touch it. +ok 17 - consecutive text lines should be unchanged - git reset --hard && +expecting success of 0030.18 'strip comments, too': + test ! -z "$(echo "# comment" | git stripspace)" && + test -z "$(echo "# comment" | git stripspace -s)" - echo >>file1 "local changes" && - read_tree_u_must_succeed -m -u branch-point side-a side-b && - grep "new line to be kept" file1 && - grep "local changes" file1 +ok 18 - strip comments, too +expecting success of 0030.19 'strip comments with changed comment char': + test ! -z "$(echo "; comment" | git -c core.commentchar=";" stripspace)" && + test -z "$(echo "; comment" | git -c core.commentchar=";" stripspace -s)" -HEAD is now at 67c0594 side-a changes file1 -new line to be kept in the merge result -local changes -ok 10 - 3-way not overwriting local changes (our side) +ok 19 - strip comments with changed comment char -expecting success of 1004.11 '3-way not overwriting local changes (their side)': +expecting success of 0030.20 '-c with single line': + printf "# foo\n" >expect && + printf "foo" | git stripspace -c >actual && + test_cmp expect actual - # At this point, file2 from side-b should be taken as side-a - # did not touch it. +ok 20 - -c with single line - git reset --hard && +expecting success of 0030.21 '-c with single line followed by empty line': + printf "# foo\n#\n" >expect && + printf "foo\n\n" | git stripspace -c >actual && + test_cmp expect actual - echo >>file2 "local changes" && - read_tree_u_must_fail -m -u branch-point side-a side-b && - ! grep "new line to be kept" file2 && - grep "local changes" file2 +ok 21 - -c with single line followed by empty line +expecting success of 0030.22 '-c with newline only': + printf "#\n" >expect && + printf "\n" | git stripspace -c >actual && + test_cmp expect actual -HEAD is now at 67c0594 side-a changes file1 -error: Entry 'file2' not uptodate. Cannot merge. -error: Entry 'file2' not uptodate. Cannot merge. -local changes -ok 11 - 3-way not overwriting local changes (their side) +ok 22 - -c with newline only -expecting success of 1004.12 'funny symlink in work tree': +expecting success of 0030.23 '--comment-lines with single line': + printf "# foo\n" >expect && + printf "foo" | git stripspace -c >actual && + test_cmp expect actual - git reset --hard && - git checkout -b sym-b side-b && - mkdir -p a && - >a/b && - git add a/b && - git commit -m "side adds a/b" && +ok 23 - --comment-lines with single line - rm -fr a && - git checkout -b sym-a side-a && - mkdir -p a && - test_ln_s_add ../b a/b && - git commit -m "we add a/b" && +expecting success of 0030.24 '-c with changed comment char': + printf "; foo\n" >expect && + printf "foo" | git -c core.commentchar=";" stripspace -c >actual && + test_cmp expect actual - read_tree_u_must_succeed -m -u sym-a sym-a sym-b +ok 24 - -c with changed comment char +expecting success of 0030.25 '-c with comment char defined in .git/config': + test_config core.commentchar = && + printf "= foo\n" >expect && + rm -fr sub && + mkdir sub && + printf "foo" | git -C sub stripspace -c >actual && + test_cmp expect actual -HEAD is now at 67c0594 side-a changes file1 -Switched to a new branch 'sym-b' -[sym-b b05f19b] side adds a/b - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 a/b -Switched to a new branch 'sym-a' -checking prerequisite: SYMLINKS +ok 25 - -c with comment char defined in .git/config -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 0030.26 '-c outside git repository': + printf "# foo\n" >expect && + printf "foo" | nongit git stripspace -c >actual && + test_cmp expect actual -) -prerequisite SYMLINKS ok -[sym-a c4bc40b] we add a/b - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 120000 a/b -ok 12 - funny symlink in work tree +ok 26 - -c outside git repository -checking prerequisite: SANITY +expecting success of 0030.27 'avoid SP-HT sequence in commented line': + printf "#\tone\n#\n# two\n" >expect && + printf "\tone\n\ntwo\n" | git stripspace -c >actual && + test_cmp expect actual -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && +ok 27 - avoid SP-HT sequence in commented line - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" +# passed all 27 test(s) +1..27 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0051-windows-named-pipe.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0051-windows-named-pipe/.git/ +ok 1 # skip o_append write to named pipe (missing MINGW) - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? +# passed all 1 test(s) +1..1 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0050-filesystem.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0050-filesystem/.git/ +checking prerequisite: CASE_INSENSITIVE_FS - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && + echo good >CamelCase && + echo bad >camelcase && + test "$(cat CamelCase)" != good ) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 1004.13 'funny symlink in work tree, un-unlink-able': - - test_when_finished "chmod u+w a 2>/dev/null; rm -fr a b" && +prerequisite CASE_INSENSITIVE_FS not satisfied +checking prerequisite: UTF8_NFD_TO_NFC - rm -fr a b && - git reset --hard && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && + # check whether FS converts nfd unicode to nfc + auml=$(printf "\303\244") + aumlcdiar=$(printf "\141\314\210") + >"$auml" && + test -f "$aumlcdiar" - git checkout sym-a && - chmod a-w a && - test_must_fail git read-tree -m -u sym-a sym-a sym-b +) +prerequisite UTF8_NFD_TO_NFC not satisfied +checking prerequisite: SYMLINKS +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -HEAD is now at c4bc40b we add a/b -Already on 'sym-a' -error: unable to unlink old 'a/b': Permission denied -ok 13 - funny symlink in work tree, un-unlink-able +) +prerequisite SYMLINKS ok +expecting success of 0050.1 'detection of case insensitive filesystem during repo init': + { + test_must_fail git config --bool core.ignorecase >/dev/null || + test $(git config --bool core.ignorecase) = false + } -expecting success of 1004.14 'D/F setup': +ok 1 - detection of case insensitive filesystem during repo init - git reset --hard && +expecting success of 0050.2 'detection of filesystem w/o symlink support during repo init': + { + test_must_fail git config --bool core.symlinks || + test "$(git config --bool core.symlinks)" = true + } - git checkout side-a && - rm -f subdir/file2 && - mkdir subdir/file2 && - echo qfwfq >subdir/file2/another && - git add subdir/file2/another && - test_tick && - git commit -m "side-a changes file2 to directory" +ok 2 - detection of filesystem w/o symlink support during repo init +expecting success of 0050.3 'setup case tests': + git config core.ignorecase true && + touch camelcase && + git add camelcase && + git commit -m "initial" && + git tag initial && + git checkout -b topic && + git mv camelcase tmp && + git mv tmp CamelCase && + git commit -m "rename" && + git checkout -f master -HEAD is now at c4bc40b we add a/b -Switched to branch 'side-a' -[side-a d094fd2] side-a changes file2 to directory +[master (root-commit) 4f2cf87] initial Author: A U Thor - 2 files changed, 1 insertion(+), 1 deletion(-) - delete mode 100644 subdir/file2 - create mode 100644 subdir/file2/another -ok 14 - D/F setup + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 camelcase +Switched to a new branch 'topic' +[topic 0a6fec9] rename + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + rename camelcase => CamelCase (100%) +Switched to branch 'master' +ok 3 - setup case tests -expecting success of 1004.15 'D/F': +expecting success of 0050.4 'rename (case change)': + git mv camelcase CamelCase && + git commit -m "rename" - git checkout side-b && - read_tree_u_must_succeed -m -u branch-point side-b side-a && - git ls-files -u >actual && - ( - a=$(git rev-parse branch-point:subdir/file2) && - b=$(git rev-parse side-a:subdir/file2/another) && - echo "100644 $a 1 subdir/file2" && - echo "100644 $a 2 subdir/file2" && - echo "100644 $b 3 subdir/file2/another" - ) >expect && - test_cmp expect actual +[master 0a6fec9] rename + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + rename camelcase => CamelCase (100%) +ok 4 - rename (case change) +expecting success of 0050.5 'merge (case change)': + rm -f CamelCase && + rm -f camelcase && + git reset --hard initial && + git merge topic -Switched to branch 'side-b' -ok 15 - D/F +HEAD is now at 4f2cf87 initial +Updating 4f2cf87..0a6fec9 +Fast-forward + camelcase => CamelCase | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename camelcase => CamelCase (100%) +ok 5 - merge (case change) -expecting success of 1004.16 'D/F resolve': +ok 6 # skip add directory (with different case) (missing CASE_INSENSITIVE_FS) - git reset --hard && - git checkout side-b && - git merge-resolve branch-point -- side-b side-a +ok 7 # skip add (with different case) (missing CASE_INSENSITIVE_FS) +expecting success of 0050.8 'setup unicode normalization tests': + test_create_repo unicode && + cd unicode && + git config core.precomposeunicode false && + touch "$aumlcdiar" && + git add "$aumlcdiar" && + git commit -m initial && + git tag initial && + git checkout -b topic && + git mv $aumlcdiar tmp && + git mv tmp "$auml" && + git commit -m rename && + git checkout -f master -warning: unable to unlink 'subdir/file2/another': Not a directory -HEAD is now at 3ad988a side-b changes file2 -Already on 'side-b' -Trying simple merge. -Simple merge failed, trying Automatic merge. -Adding subdir/file2/another -ok 16 - D/F resolve +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0050-filesystem/unicode/.git/ +[master (root-commit) 34f0acb] initial + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 "a\314\210" +Switched to a new branch 'topic' +[topic 591d19c] rename + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + rename "a\314\210" => "\303\244" (100%) +Switched to branch 'master' +ok 8 - setup unicode normalization tests -expecting success of 1004.17 'D/F recursive': +expecting success of 0050.9 'rename (silent unicode normalization)': + git mv "$aumlcdiar" "$auml" && + git commit -m rename - git reset --hard && - git checkout side-b && - git merge-recursive branch-point -- side-b side-a +[master 591d19c] rename + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + rename "a\314\210" => "\303\244" (100%) +ok 9 - rename (silent unicode normalization) +expecting success of 0050.10 'merge (silent unicode normalization)': + git reset --hard initial && + git merge topic -HEAD is now at 3ad988a side-b changes file2 -Already on 'side-b' -Merging side-b with side-a -Merging: -3ad988a side-b changes file2 -d094fd2 side-a changes file2 to directory -found 1 common ancestor: -eb5336a initial -Adding subdir/file2/another -Removing subdir/file2 to make room for subdirectory +HEAD is now at 34f0acb initial +Updating 34f0acb..591d19c +Fast-forward + "a\314\210" => "\303\244" | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) + rename "a\314\210" => "\303\244" (100%) +ok 10 - merge (silent unicode normalization) -Removing subdir/file2 -ok 17 - D/F recursive +ok 11 # skip checkout with no pathspec and a case insensitive fs (missing CASE_INSENSITIVE_FS) -# passed all 17 test(s) -1..17 +# passed all 11 test(s) +1..11 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0302-credential-store.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0302-credential-store/.git/ -expecting success of 0302.1 'helper (store) has no existing data': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - +*** t0040-parse-options.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0040-parse-options/.git/ +expecting success of 0040.1 'test help': + test_must_fail test-tool parse-options -h >output 2>output.err && + test_must_be_empty output.err && + test_i18ncmp expect output + checking prerequisite: C_LOCALE_OUTPUT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && @@ -20276,1851 +14212,1523 @@ ) prerequisite C_LOCALE_OUTPUT ok -ok 1 - helper (store) has no existing data +ok 1 - test help -expecting success of 0302.2 'helper (store) stores password': - check approve $HELPER <<-\EOF - protocol=https - host=example.com - username=store-user - password=store-pass - EOF - -ok 2 - helper (store) stores password +expecting success of 0040.2 'OPT_BOOL() #1': check boolean: 1 --yes +ok 2 - OPT_BOOL() #1 -expecting success of 0302.3 'helper (store) can retrieve password': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=store-user - password=store-pass - -- - EOF - -ok 3 - helper (store) can retrieve password +expecting success of 0040.3 'OPT_BOOL() #2': check boolean: 1 --no-doubt +ok 3 - OPT_BOOL() #2 -expecting success of 0302.4 'helper (store) requires matching protocol': - check fill $HELPER <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://example.com': - askpass: Password for 'http://askpass-username@example.com': - EOF - -ok 4 - helper (store) requires matching protocol +expecting success of 0040.4 'OPT_BOOL() #3': check boolean: 1 -D +ok 4 - OPT_BOOL() #3 -expecting success of 0302.5 'helper (store) requires matching host': - check fill $HELPER <<-\EOF - protocol=https - host=other.tld - -- - protocol=https - host=other.tld - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://other.tld': - askpass: Password for 'https://askpass-username@other.tld': - EOF - -ok 5 - helper (store) requires matching host +expecting success of 0040.5 'OPT_BOOL() #4': check boolean: 1 --no-fear +ok 5 - OPT_BOOL() #4 -expecting success of 0302.6 'helper (store) requires matching username': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=other - -- - protocol=https - host=example.com - username=other - password=askpass-password - -- - askpass: Password for 'https://other@example.com': - EOF - -ok 6 - helper (store) requires matching username +expecting success of 0040.6 'OPT_BOOL() #5': check boolean: 1 -B +ok 6 - OPT_BOOL() #5 -expecting success of 0302.7 'helper (store) requires matching path': - test_config credential.usehttppath true && - check approve $HELPER <<-\EOF && - protocol=http - host=path.tld - path=foo.git - username=user - password=pass - EOF - check fill $HELPER <<-\EOF - protocol=http - host=path.tld - path=bar.git - -- - protocol=http - host=path.tld - path=bar.git - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://path.tld/bar.git': - askpass: Password for 'http://askpass-username@path.tld/bar.git': - EOF - -ok 7 - helper (store) requires matching path +expecting success of 0040.7 'OPT_BOOL() is idempotent #1': check boolean: 1 --yes --yes +ok 7 - OPT_BOOL() is idempotent #1 -expecting success of 0302.8 'helper (store) can forget host': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 8 - helper (store) can forget host +expecting success of 0040.8 'OPT_BOOL() is idempotent #2': check boolean: 1 -DB +ok 8 - OPT_BOOL() is idempotent #2 -expecting success of 0302.9 'helper (store) can store multiple users': - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - check fill $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 9 - helper (store) can store multiple users +expecting success of 0040.9 'OPT_BOOL() negation #1': check boolean: 0 -D --no-yes +ok 9 - OPT_BOOL() negation #1 -expecting success of 0302.10 'helper (store) can forget user': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=askpass-password - -- - askpass: Password for 'https://user1@example.com': - EOF - -ok 10 - helper (store) can forget user +expecting success of 0040.10 'OPT_BOOL() negation #2': check boolean: 0 -D --no-no-doubt +ok 10 - OPT_BOOL() negation #2 -expecting success of 0302.11 'helper (store) remembers other user': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 11 - helper (store) remembers other user +expecting success of 0040.11 'OPT_BOOL() no negation #1': check_unknown_i18n --fear +ok 11 - OPT_BOOL() no negation #1 -expecting success of 0302.12 'helper (store) can store empty username': - check approve $HELPER <<-\EOF && - protocol=https - host=sso.tld - username= - password= - EOF - check fill $HELPER <<-\EOF - protocol=https - host=sso.tld - -- - protocol=https - host=sso.tld - username= - password= - EOF - -ok 12 - helper (store) can store empty username +expecting success of 0040.12 'OPT_BOOL() no negation #2': check_unknown_i18n --no-no-fear +ok 12 - OPT_BOOL() no negation #2 -expecting success of 0302.13 'when xdg file does not exist, xdg file not created': - test_path_is_missing "$HOME/.config/git/credentials" && - test -s "$HOME/.git-credentials" +expecting success of 0040.13 'OPT_BOOL() positivation': check boolean: 0 -D --doubt +ok 13 - OPT_BOOL() positivation -ok 13 - when xdg file does not exist, xdg file not created +expecting success of 0040.14 'OPT_INT() negative': check integer: -2345 -i -2345 +ok 14 - OPT_INT() negative -expecting success of 0302.14 'setup xdg file': - rm -f "$HOME/.git-credentials" && - mkdir -p "$HOME/.config/git" && - >"$HOME/.config/git/credentials" +expecting success of 0040.15 'OPT_MAGNITUDE() simple': + check magnitude: 2345678 -m 2345678 -ok 14 - setup xdg file +ok 15 - OPT_MAGNITUDE() simple -expecting success of 0302.15 'helper (store) has no existing data': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 15 - helper (store) has no existing data +expecting success of 0040.16 'OPT_MAGNITUDE() kilo': + check magnitude: 239616 -m 234k -expecting success of 0302.16 'helper (store) stores password': - check approve $HELPER <<-\EOF - protocol=https - host=example.com - username=store-user - password=store-pass - EOF - -ok 16 - helper (store) stores password +ok 16 - OPT_MAGNITUDE() kilo -expecting success of 0302.17 'helper (store) can retrieve password': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=store-user - password=store-pass - -- - EOF - -ok 17 - helper (store) can retrieve password +expecting success of 0040.17 'OPT_MAGNITUDE() mega': + check magnitude: 104857600 -m 100m -expecting success of 0302.18 'helper (store) requires matching protocol': - check fill $HELPER <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://example.com': - askpass: Password for 'http://askpass-username@example.com': - EOF - -ok 18 - helper (store) requires matching protocol +ok 17 - OPT_MAGNITUDE() mega -expecting success of 0302.19 'helper (store) requires matching host': - check fill $HELPER <<-\EOF - protocol=https - host=other.tld - -- - protocol=https - host=other.tld - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://other.tld': - askpass: Password for 'https://askpass-username@other.tld': - EOF - -ok 19 - helper (store) requires matching host +expecting success of 0040.18 'OPT_MAGNITUDE() giga': + check magnitude: 1073741824 -m 1g -expecting success of 0302.20 'helper (store) requires matching username': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=other - -- - protocol=https - host=example.com - username=other - password=askpass-password - -- - askpass: Password for 'https://other@example.com': - EOF - -ok 20 - helper (store) requires matching username +ok 18 - OPT_MAGNITUDE() giga -expecting success of 0302.21 'helper (store) requires matching path': - test_config credential.usehttppath true && - check approve $HELPER <<-\EOF && - protocol=http - host=path.tld - path=foo.git - username=user - password=pass - EOF - check fill $HELPER <<-\EOF - protocol=http - host=path.tld - path=bar.git - -- - protocol=http - host=path.tld - path=bar.git - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://path.tld/bar.git': - askpass: Password for 'http://askpass-username@path.tld/bar.git': - EOF - -ok 21 - helper (store) requires matching path +expecting success of 0040.19 'OPT_MAGNITUDE() 3giga': + check magnitude: 3221225472 -m 3g -expecting success of 0302.22 'helper (store) can forget host': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 22 - helper (store) can forget host +ok 19 - OPT_MAGNITUDE() 3giga -expecting success of 0302.23 'helper (store) can store multiple users': - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - check fill $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 23 - helper (store) can store multiple users +expecting success of 0040.20 'short options': + test-tool parse-options -s123 -b -i 1729 -m 16k -b -vv -n -F my.file \ + >output 2>output.err && + test_cmp expect output && + test_must_be_empty output.err -expecting success of 0302.24 'helper (store) can forget user': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=askpass-password - -- - askpass: Password for 'https://user1@example.com': - EOF - -ok 24 - helper (store) can forget user +ok 20 - short options -expecting success of 0302.25 'helper (store) remembers other user': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 25 - helper (store) remembers other user +expecting success of 0040.21 'long options': + test-tool parse-options --boolean --integer 1729 --magnitude 16k \ + --boolean --string2=321 --verbose --verbose --no-dry-run \ + --abbrev=10 --file fi.le --obsolete \ + >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output -expecting success of 0302.26 'helper (store) can store empty username': - check approve $HELPER <<-\EOF && - protocol=https - host=sso.tld - username= - password= - EOF - check fill $HELPER <<-\EOF - protocol=https - host=sso.tld - -- - protocol=https - host=sso.tld - username= - password= - EOF - -ok 26 - helper (store) can store empty username +ok 21 - long options -expecting success of 0302.27 'when xdg file exists, home file not created': - test -s "$HOME/.config/git/credentials" && - test_path_is_missing "$HOME/.git-credentials" +expecting success of 0040.22 'missing required value': + test_expect_code 129 test-tool parse-options -s && + test_expect_code 129 test-tool parse-options --string && + test_expect_code 129 test-tool parse-options --file -ok 27 - when xdg file exists, home file not created +error: switch `s' requires a value +error: option `string' requires a value +error: option `file' requires a value +ok 22 - missing required value -expecting success of 0302.28 'setup custom xdg file': - rm -f "$HOME/.git-credentials" && - rm -f "$HOME/.config/git/credentials" && - mkdir -p "$HOME/xdg/git" && - >"$HOME/xdg/git/credentials" +expecting success of 0040.23 'intermingled arguments': + test-tool parse-options a1 --string 123 b1 --boolean -j 13 -- --boolean \ + >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output -ok 28 - setup custom xdg file +ok 23 - intermingled arguments -expecting success of 0302.29 'helper (store) has no existing data': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 29 - helper (store) has no existing data +expecting success of 0040.24 'unambiguously abbreviated option': + GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --int 2 --boolean --no-bo >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output -expecting success of 0302.30 'helper (store) stores password': - check approve $HELPER <<-\EOF - protocol=https - host=example.com - username=store-user - password=store-pass - EOF - -ok 30 - helper (store) stores password +ok 24 - unambiguously abbreviated option -expecting success of 0302.31 'helper (store) can retrieve password': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=store-user - password=store-pass - -- - EOF - -ok 31 - helper (store) can retrieve password +expecting success of 0040.25 'unambiguously abbreviated option with "="': + GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --expect="integer: 2" --int=2 -expecting success of 0302.32 'helper (store) requires matching protocol': - check fill $HELPER <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://example.com': - askpass: Password for 'http://askpass-username@example.com': - EOF - -ok 32 - helper (store) requires matching protocol +ok 25 - unambiguously abbreviated option with "=" -expecting success of 0302.33 'helper (store) requires matching host': - check fill $HELPER <<-\EOF - protocol=https - host=other.tld - -- - protocol=https - host=other.tld - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://other.tld': - askpass: Password for 'https://askpass-username@other.tld': - EOF - -ok 33 - helper (store) requires matching host +expecting success of 0040.26 'ambiguously abbreviated option': + test_expect_code 129 env GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --strin 123 -expecting success of 0302.34 'helper (store) requires matching username': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=other - -- - protocol=https - host=example.com - username=other - password=askpass-password - -- - askpass: Password for 'https://other@example.com': - EOF - -ok 34 - helper (store) requires matching username +error: ambiguous option: strin (could be --string or --string2) +usage: test-tool parse-options -expecting success of 0302.35 'helper (store) requires matching path': - test_config credential.usehttppath true && - check approve $HELPER <<-\EOF && - protocol=http - host=path.tld - path=foo.git - username=user - password=pass - EOF - check fill $HELPER <<-\EOF - protocol=http - host=path.tld - path=bar.git - -- - protocol=http - host=path.tld - path=bar.git - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://path.tld/bar.git': - askpass: Password for 'http://askpass-username@path.tld/bar.git': - EOF - -ok 35 - helper (store) requires matching path + A helper function for the parse-options API. -expecting success of 0302.36 'helper (store) can forget host': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 36 - helper (store) can forget host + --yes get a boolean + -D, --no-doubt begins with 'no-' + -B, --no-fear be brave + -b, --boolean increment by one + -4, --or4 bitwise-or boolean with ...0100 + --neg-or4 same as --no-or4 -expecting success of 0302.37 'helper (store) can store multiple users': - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - check fill $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 37 - helper (store) can store multiple users + -i, --integer get a integer + -j get a integer, too + -m, --magnitude get a magnitude + --set23 set integer to 23 + --mode1 set integer to 1 (cmdmode option) + --mode2 set integer to 2 (cmdmode option) + -L, --length get length of + -F, --file set file to -expecting success of 0302.38 'helper (store) can forget user': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=askpass-password - -- - askpass: Password for 'https://user1@example.com': - EOF - -ok 38 - helper (store) can forget user +String options + -s, --string + get a string + --string2 get another string + --st get another string (pervert ordering) + -o get another string + --list add str to list -expecting success of 0302.39 'helper (store) remembers other user': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 39 - helper (store) remembers other user +Magic arguments + --quux means --quux + -NUM set integer to NUM + + same as -b + --ambiguous positive ambiguity + --no-ambiguous negative ambiguity -expecting success of 0302.40 'helper (store) can store empty username': - check approve $HELPER <<-\EOF && - protocol=https - host=sso.tld - username= - password= - EOF - check fill $HELPER <<-\EOF - protocol=https - host=sso.tld - -- - protocol=https - host=sso.tld - username= - password= - EOF - -ok 40 - helper (store) can store empty username +Standard options + --abbrev[=] use digits to display object names + -v, --verbose be verbose + -n, --dry-run dry run + -q, --quiet be quiet + --expect expected output in the variable dump -expecting success of 0302.41 'if custom xdg file exists, home and xdg files not created': - test_when_finished "rm -f \"$HOME/xdg/git/credentials\"" && - test -s "$HOME/xdg/git/credentials" && - test_path_is_missing "$HOME/.git-credentials" && - test_path_is_missing "$HOME/.config/git/credentials" +Alias + -A, --alias-source + get a string + -Z, --alias-target + alias of --alias-source -ok 41 - if custom xdg file exists, home and xdg files not created +ok 26 - ambiguously abbreviated option -expecting success of 0302.42 'get: use home file if both home and xdg files have matches': - echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && - mkdir -p "$HOME/.config/git" && - echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=home-user - password=home-pass - -- - EOF +expecting success of 0040.27 'non ambiguous option (after two options it abbreviates)': + GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --expect="string: 123" --st 123 -ok 42 - get: use home file if both home and xdg files have matches +ok 27 - non ambiguous option (after two options it abbreviates) -expecting success of 0302.43 'get: use xdg file if home file has no matches': - >"$HOME/.git-credentials" && - mkdir -p "$HOME/.config/git" && - echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=xdg-user - password=xdg-pass - -- - EOF +expecting success of 0040.28 'Alias options do not contribute to abbreviation': + test-tool parse-options --alias-source 123 >output && + grep "^string: 123" output && + test-tool parse-options --alias-target 123 >output && + grep "^string: 123" output && + test_must_fail test-tool parse-options --alias && + GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --alias 123 >output && + grep "^string: 123" output -ok 43 - get: use xdg file if home file has no matches +string: 123 +string: 123 +fatal: disallowed abbreviated or ambiguous option 'alias' +string: 123 +ok 28 - Alias options do not contribute to abbreviation -checking prerequisite: SANITY +expecting success of 0040.29 'detect possible typos': + test_must_fail test-tool parse-options -boolean >output 2>output.err && + test_must_be_empty output && + test_i18ncmp typo.err output.err -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && +ok 29 - detect possible typos - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" +expecting success of 0040.30 'detect possible typos': + test_must_fail test-tool parse-options -ambiguous >output 2>output.err && + test_must_be_empty output && + test_i18ncmp typo.err output.err - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? +ok 30 - detect possible typos - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status +expecting success of 0040.31 'keep some options as arguments': + test-tool parse-options --expect="arg 00: --quux" --quux -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 0302.44 'get: use xdg file if home file is unreadable': - echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && - chmod -r "$HOME/.git-credentials" && - mkdir -p "$HOME/.config/git" && - echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=xdg-user - password=xdg-pass - -- - EOF +ok 31 - keep some options as arguments -ok 44 - get: use xdg file if home file is unreadable +expecting success of 0040.32 'OPT_CALLBACK() and OPT_BIT() work': + test-tool parse-options --length=four -b -4 >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output -expecting success of 0302.45 'store: if both xdg and home files exist, only store in home file': - >"$HOME/.git-credentials" && - mkdir -p "$HOME/.config/git" && - >"$HOME/.config/git/credentials" && - check approve store <<-\EOF && - protocol=https - host=example.com - username=store-user - password=store-pass - EOF - echo "https://store-user:store-pass@example.com" >expected && - test_cmp expected "$HOME/.git-credentials" && - test_must_be_empty "$HOME/.config/git/credentials" +ok 32 - OPT_CALLBACK() and OPT_BIT() work -ok 45 - store: if both xdg and home files exist, only store in home file +expecting success of 0040.33 'OPT_CALLBACK() and callback errors work': + test_must_fail test-tool parse-options --no-length >output 2>output.err && + test_must_be_empty output && + test_must_be_empty output.err -expecting success of 0302.46 'erase: erase matching credentials from both xdg and home files': - echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && - mkdir -p "$HOME/.config/git" && - echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && - check reject store <<-\EOF && - protocol=https - host=example.com - EOF - test_must_be_empty "$HOME/.git-credentials" && - test_must_be_empty "$HOME/.config/git/credentials" +ok 33 - OPT_CALLBACK() and callback errors work -ok 46 - erase: erase matching credentials from both xdg and home files +expecting success of 0040.34 'OPT_BIT() and OPT_SET_INT() work': + test-tool parse-options --set23 -bbbbb --no-or4 >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output -expecting success of 0302.47 'get: ignore credentials without scheme as invalid': - echo "$2" >"$HOME/.git-credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - -- - EOF - -ok 47 - get: ignore credentials without scheme as invalid +ok 34 - OPT_BIT() and OPT_SET_INT() work -expecting success of 0302.48 'get: ignore credentials without valid host/path as invalid': - echo "$2" >"$HOME/.git-credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - -- - EOF - -ok 48 - get: ignore credentials without valid host/path as invalid +expecting success of 0040.35 'OPT_NEGBIT() and OPT_SET_INT() work': + test-tool parse-options --set23 -bbbbb --neg-or4 >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output -expecting success of 0302.49 'get: ignore credentials without username/password as invalid': - echo "$2" >"$HOME/.git-credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - -- - EOF - -ok 49 - get: ignore credentials without username/password as invalid +ok 35 - OPT_NEGBIT() and OPT_SET_INT() work -expecting success of 0302.50 'get: credentials with DOS line endings are invalid': - printf "https://user:pass@example.com\r\n" >"$HOME/.git-credentials" && - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - -- - EOF +expecting success of 0040.36 'OPT_BIT() works': + test-tool parse-options --expect="boolean: 6" -bb --or4 -ok 50 - get: credentials with DOS line endings are invalid +ok 36 - OPT_BIT() works -expecting success of 0302.51 'get: credentials with path and DOS line endings are valid': - printf "https://user:pass@example.com/repo.git\r\n" >"$HOME/.git-credentials" && - check fill store <<-\EOF - url=https://example.com/repo.git - -- - protocol=https - host=example.com - username=user - password=pass - -- - EOF +expecting success of 0040.37 'OPT_NEGBIT() works': + test-tool parse-options --expect="boolean: 6" -bb --no-neg-or4 -ok 51 - get: credentials with path and DOS line endings are valid +ok 37 - OPT_NEGBIT() works -expecting success of 0302.52 'get: credentials with DOS line endings are invalid if path is relevant': - printf "https://user:pass@example.com/repo.git\r\n" >"$HOME/.git-credentials" && - test_config credential.useHttpPath true && - check fill store <<-\EOF - url=https://example.com/repo.git - -- - protocol=https - host=example.com - path=repo.git - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com/repo.git': - askpass: Password for 'https://askpass-username@example.com/repo.git': - -- - EOF +expecting success of 0040.38 'OPT_CMDMODE() works': + test-tool parse-options --expect="integer: 1" --mode1 -ok 52 - get: credentials with DOS line endings are invalid if path is relevant +ok 38 - OPT_CMDMODE() works -expecting success of 0302.53 'get: store file can contain empty/bogus lines': - echo "" >"$HOME/.git-credentials" && - q_to_tab <<-\CREDENTIAL >>"$HOME/.git-credentials" && - #comment - Q - https://user:pass@example.com - CREDENTIAL - check fill store <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=user - password=pass - -- - EOF +expecting success of 0040.39 'OPT_CMDMODE() detects incompatibility': + test_must_fail test-tool parse-options --mode1 --mode2 >output 2>output.err && + test_must_be_empty output && + test_i18ngrep "incompatible with --mode" output.err -ok 53 - get: store file can contain empty/bogus lines +error: option `mode2' is incompatible with --mode1 +ok 39 - OPT_CMDMODE() detects incompatibility + +expecting success of 0040.40 'OPT_CMDMODE() detects incompatibility with something else': + test_must_fail test-tool parse-options --set23 --mode2 >output 2>output.err && + test_must_be_empty output && + test_i18ngrep "incompatible with something else" output.err + +error: option `mode2' : incompatible with something else +ok 40 - OPT_CMDMODE() detects incompatibility with something else + +expecting success of 0040.41 'OPT_COUNTUP() with PARSE_OPT_NODASH works': + test-tool parse-options --expect="boolean: 6" + + + + + + + +ok 41 - OPT_COUNTUP() with PARSE_OPT_NODASH works + +expecting success of 0040.42 'OPT_NUMBER_CALLBACK() works': + test-tool parse-options --expect="integer: 12345" -12345 + +ok 42 - OPT_NUMBER_CALLBACK() works + +expecting success of 0040.43 'negation of OPT_NONEG flags is not ambiguous': + GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --no-ambig >output 2>output.err && + test_must_be_empty output.err && + test_cmp expect output + +ok 43 - negation of OPT_NONEG flags is not ambiguous + +expecting success of 0040.44 '--list keeps list of strings': + test-tool parse-options --list foo --list=bar --list=baz >output && + test_cmp expect output + +ok 44 - --list keeps list of strings + +expecting success of 0040.45 '--no-list resets list': + test-tool parse-options --list=other --list=irrelevant --list=options \ + --no-list --list=foo --list=bar --list=baz >output && + test_cmp expect output + +ok 45 - --no-list resets list + +expecting success of 0040.46 'multiple quiet levels': + test-tool parse-options --expect="quiet: 3" -q -q -q + +ok 46 - multiple quiet levels + +expecting success of 0040.47 'multiple verbose levels': + test-tool parse-options --expect="verbose: 3" -v -v -v + +ok 47 - multiple verbose levels + +expecting success of 0040.48 '--no-quiet sets --quiet to 0': + test-tool parse-options --expect="quiet: 0" --no-quiet + +ok 48 - --no-quiet sets --quiet to 0 + +expecting success of 0040.49 '--no-quiet resets multiple -q to 0': + test-tool parse-options --expect="quiet: 0" -q -q -q --no-quiet + +ok 49 - --no-quiet resets multiple -q to 0 + +expecting success of 0040.50 '--no-verbose sets verbose to 0': + test-tool parse-options --expect="verbose: 0" --no-verbose + +ok 50 - --no-verbose sets verbose to 0 + +expecting success of 0040.51 '--no-verbose resets multiple verbose to 0': + test-tool parse-options --expect="verbose: 0" -v -v -v --no-verbose + +ok 51 - --no-verbose resets multiple verbose to 0 + +expecting success of 0040.52 'GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS works': + GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=false \ + test-tool parse-options --ye && + test_must_fail env GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS=true \ + test-tool parse-options --ye + +boolean: 1 +integer: 0 +magnitude: 0 +timestamp: 0 +string: (not set) +abbrev: 7 +verbose: -1 +quiet: 0 +dry run: no +file: (not set) +fatal: disallowed abbreviated or ambiguous option 'ye' +ok 52 - GIT_TEST_DISALLOW_ABBREVIATED_OPTIONS works + +expecting success of 0040.53 '--end-of-options treats remainder as args': + test-tool parse-options \ + --expect="verbose: -1" \ + --expect="arg 00: --verbose" \ + --end-of-options --verbose + +ok 53 - --end-of-options treats remainder as args # passed all 53 test(s) 1..53 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1008-read-tree-overlay.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1008-read-tree-overlay/.git/ -expecting success of 1008.1 'setup': - echo one >a && - git add a && - git commit -m initial && - git tag initial && - echo two >b && - git add b && - git commit -m second && - git checkout -b side initial && - echo three >a && +*** t0055-beyond-symlinks.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0055-beyond-symlinks/.git/ +checking prerequisite: SYMLINKS + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y + +) +prerequisite SYMLINKS ok +expecting success of 0055.1 'setup': + >a && mkdir b && - echo four >b/c && - git add b/c && - git commit -m third + ln -s b c && + >c/d && + git update-index --add a b/d -[master (root-commit) 4d54ff5] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a -[master a9fb064] second - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b -Switched to a new branch 'side' -[side 2be041c] third - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b/c ok 1 - setup -expecting success of 1008.2 'multi-read': - read_tree_must_succeed initial master side && - test_write_lines a b/c >expect && - git ls-files >actual && - test_cmp expect actual +expecting success of 0055.2 'update-index --add beyond symlinks': + test_must_fail git update-index --add c/d && + ! ( git ls-files | grep c/d ) -ok 2 - multi-read +error: 'c/d' is beyond a symbolic link +fatal: Unable to process path c/d +ok 2 - update-index --add beyond symlinks -# passed all 2 test(s) -1..2 +expecting success of 0055.3 'add beyond symlinks': + test_must_fail git add c/d && + ! ( git ls-files | grep c/d ) + +fatal: pathspec 'c/d' is beyond a symbolic link +ok 3 - add beyond symlinks + +# passed all 3 test(s) +1..3 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1001-read-tree-m-2way.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1001-read-tree-m-2way/.git/ -expecting success of 1001.1 'setup': - echo frotz >frotz && - echo nitfol >nitfol && - cat bozbar-old >bozbar && - echo rezrov >rezrov && - echo yomin >yomin && - git update-index --add nitfol bozbar rezrov && - treeH=$(git write-tree) && - echo treeH $treeH && - git ls-tree $treeH && +*** t0056-git-C.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/.git/ +expecting success of 0056.1 '"git -C " runs git from the directory ': + test_create_repo dir1 && + echo 1 >dir1/a.txt && + msg="initial in dir1" && + (cd dir1 && git add a.txt && git commit -m "$msg") && + echo "$msg" >expected && + git -C dir1 log --format=%s >actual && + test_cmp expected actual - cat bozbar-new >bozbar && - git update-index --add frotz bozbar --force-remove rezrov && - git ls-files --stage >M.out && - treeM=$(git write-tree) && - echo treeM $treeM && - git ls-tree $treeM && - git diff-tree $treeH $treeM +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/dir1/.git/ +[master (root-commit) 4efbfb5] initial in dir1 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 a.txt +ok 1 - "git -C " runs git from the directory -treeH ca3aa9e6ee09349df7db6f0de15016afcdf5d9e4 -100644 blob 3e8d9abb979a4fbdc93309f457a5496bc41ba6ab bozbar -100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol -100644 blob 766498d93a4b06057a8e49d23f4068f1170ff38f rezrov -treeM d2c045ead2ecb56f2632385a395918bf21816c12 -100644 blob 346d4e61f111336a1443ef6b2e834aa5b1a7f91a bozbar -100644 blob 8e4020bb5a8d8c873b25de15933e75cc0fc275df frotz -100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol -:100644 100644 3e8d9abb979a4fbdc93309f457a5496bc41ba6ab 346d4e61f111336a1443ef6b2e834aa5b1a7f91a M bozbar -:000000 100644 0000000000000000000000000000000000000000 8e4020bb5a8d8c873b25de15933e75cc0fc275df A frotz -:100644 000000 766498d93a4b06057a8e49d23f4068f1170ff38f 0000000000000000000000000000000000000000 D rezrov -ok 1 - setup +expecting success of 0056.2 '"git -C " with an empty is a no-op': + ( + mkdir -p dir1/subdir && + cd dir1/subdir && + git -C "" rev-parse --show-prefix >actual && + echo subdir/ >expect && + test_cmp expect actual + ) -expecting success of 1001.2 '1, 2, 3 - no carry forward': - rm -f .git/index && - read_tree_twoway $treeH $treeM && - git ls-files --stage >1-3.out && - test_cmp M.out 1-3.out && - check_cache_at bozbar dirty && - check_cache_at frotz dirty && - check_cache_at nitfol dirty +ok 2 - "git -C " with an empty is a no-op -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -bozbar: dirty -frotz: dirty -nitfol: dirty -ok 2 - 1, 2, 3 - no carry forward +expecting success of 0056.3 'Multiple -C options: "-C dir1 -C dir2" is equivalent to "-C dir1/dir2"': + test_create_repo dir1/dir2 && + echo 1 >dir1/dir2/b.txt && + git -C dir1/dir2 add b.txt && + msg="initial in dir1/dir2" && + echo "$msg" >expected && + git -C dir1/dir2 commit -m "$msg" && + git -C dir1 -C dir2 log --format=%s >actual && + test_cmp expected actual -expecting success of 1001.3 '4 - carry forward local addition.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - git update-index --add yomin && - read_tree_twoway $treeH $treeM && - git ls-files --stage >4.out && - test_must_fail git diff --no-index M.out 4.out >4diff.out && - compare_change 4diff.out expected && - check_cache_at yomin clean +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/dir1/dir2/.git/ +[master (root-commit) ea3acc3] initial in dir1/dir2 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 b.txt +ok 3 - Multiple -C options: "-C dir1 -C dir2" is equivalent to "-C dir1/dir2" -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -100644 0a41e115ab61be0328a19b29f18cdcb49338d516 0 yomin -yomin: clean -ok 3 - 4 - carry forward local addition. +expecting success of 0056.4 'Effect on --git-dir option: "-C c --git-dir=a.git" is equivalent to "--git-dir c/a.git"': + mkdir c && + mkdir c/a && + mkdir c/a.git && + (cd c/a.git && git init --bare) && + echo 1 >c/a/a.txt && + git --git-dir c/a.git --work-tree=c/a add a.txt && + git --git-dir c/a.git --work-tree=c/a commit -m "initial" && + git --git-dir=c/a.git log -1 --format=%s >expected && + git -C c --git-dir=a.git log -1 --format=%s >actual && + test_cmp expected actual -expecting success of 1001.4 '5 - carry forward local addition.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo yomin >yomin && - git update-index --add yomin && - echo yomin yomin >yomin && - read_tree_twoway $treeH $treeM && - git ls-files --stage >5.out && - test_must_fail git diff --no-index M.out 5.out >5diff.out && - compare_change 5diff.out expected && - check_cache_at yomin dirty +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0056-git-C/c/a.git/ +[master (root-commit) cac529a] initial + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 a.txt +ok 4 - Effect on --git-dir option: "-C c --git-dir=a.git" is equivalent to "--git-dir c/a.git" -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -100644 0a41e115ab61be0328a19b29f18cdcb49338d516 0 yomin -yomin: dirty -ok 4 - 5 - carry forward local addition. +expecting success of 0056.5 'Order should not matter: "--git-dir=a.git -C c" is equivalent to "-C c --git-dir=a.git"': + git -C c --git-dir=a.git log -1 --format=%s >expected && + git --git-dir=a.git -C c log -1 --format=%s >actual && + test_cmp expected actual -expecting success of 1001.5 '6 - local addition already has the same.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - git update-index --add frotz && - read_tree_twoway $treeH $treeM && - git ls-files --stage >6.out && - test_cmp M.out 6.out && - check_cache_at frotz clean +ok 5 - Order should not matter: "--git-dir=a.git -C c" is equivalent to "-C c --git-dir=a.git" -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -frotz: clean -ok 5 - 6 - local addition already has the same. +expecting success of 0056.6 'Effect on --work-tree option: "-C c/a.git --work-tree=../a" is equivalent to "--work-tree=c/a --git-dir=c/a.git"': + rm c/a/a.txt && + git --git-dir=c/a.git --work-tree=c/a status >expected && + git -C c/a.git --work-tree=../a status >actual && + test_cmp expected actual -expecting success of 1001.6 '7 - local addition already has the same.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo frotz >frotz && - git update-index --add frotz && - echo frotz frotz >frotz && - read_tree_twoway $treeH $treeM && - git ls-files --stage >7.out && - test_cmp M.out 7.out && - check_cache_at frotz dirty +ok 6 - Effect on --work-tree option: "-C c/a.git --work-tree=../a" is equivalent to "--work-tree=c/a --git-dir=c/a.git" -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -frotz: dirty -ok 6 - 7 - local addition already has the same. +expecting success of 0056.7 'Order should not matter: "--work-tree=../a -C c/a.git" is equivalent to "-C c/a.git --work-tree=../a"': + git -C c/a.git --work-tree=../a status >expected && + git --work-tree=../a -C c/a.git status >actual && + test_cmp expected actual -expecting success of 1001.7 '8 - conflicting addition.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo frotz frotz >frotz && - git update-index --add frotz && - if read_tree_twoway $treeH $treeM; then false; else :; fi +ok 7 - Order should not matter: "--work-tree=../a -C c/a.git" is equivalent to "-C c/a.git --work-tree=../a" -error: Entry 'frotz' would be overwritten by merge. Cannot merge. -ok 7 - 8 - conflicting addition. +expecting success of 0056.8 'Effect on --git-dir and --work-tree options - "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=c/a.git --work-tree=c/a"': + git --git-dir=c/a.git --work-tree=c/a status >expected && + git -C c --git-dir=a.git --work-tree=a status >actual && + test_cmp expected actual -expecting success of 1001.8 '9 - conflicting addition.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo frotz frotz >frotz && - git update-index --add frotz && - echo frotz >frotz && - if read_tree_twoway $treeH $treeM; then false; else :; fi +ok 8 - Effect on --git-dir and --work-tree options - "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=c/a.git --work-tree=c/a" -error: Entry 'frotz' would be overwritten by merge. Cannot merge. -ok 8 - 9 - conflicting addition. +expecting success of 0056.9 'Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git -C c --work-tree=a"': + git -C c --git-dir=a.git --work-tree=a status >expected && + git --git-dir=a.git -C c --work-tree=a status >actual && + test_cmp expected actual -expecting success of 1001.9 '10 - path removed.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo rezrov >rezrov && - git update-index --add rezrov && - read_tree_twoway $treeH $treeM && - git ls-files --stage >10.out && - test_cmp M.out 10.out +ok 9 - Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git -C c --work-tree=a" -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -ok 9 - 10 - path removed. +expecting success of 0056.10 'Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git --work-tree=a -C c"': + git -C c --git-dir=a.git --work-tree=a status >expected && + git --git-dir=a.git --work-tree=a -C c status >actual && + test_cmp expected actual -expecting success of 1001.10 '11 - dirty path removed.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo rezrov >rezrov && - git update-index --add rezrov && - echo rezrov rezrov >rezrov && - if read_tree_twoway $treeH $treeM; then false; else :; fi +ok 10 - Order should not matter: "-C c --git-dir=a.git --work-tree=a" is equivalent to "--git-dir=a.git --work-tree=a -C c" -error: Entry 'rezrov' not uptodate. Cannot merge. -ok 10 - 11 - dirty path removed. +expecting success of 0056.11 'Relative followed by fullpath: "-C ./here -C /there" is equivalent to "-C /there"': + echo "initial in dir1/dir2" >expected && + git -C dir1 -C "$(pwd)/dir1/dir2" log --format=%s >actual && + test_cmp expected actual -expecting success of 1001.11 '12 - unmatching local changes being removed.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo rezrov rezrov >rezrov && - git update-index --add rezrov && - if read_tree_twoway $treeH $treeM; then false; else :; fi +ok 11 - Relative followed by fullpath: "-C ./here -C /there" is equivalent to "-C /there" -error: Entry 'rezrov' would be overwritten by merge. Cannot merge. -ok 11 - 12 - unmatching local changes being removed. +# passed all 11 test(s) +1..11 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0061-run-command.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0061-run-command/.git/ +ok 1 # skip subprocess inherits only std handles (missing MINGW) -expecting success of 1001.12 '13 - unmatching local changes being removed.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo rezrov rezrov >rezrov && - git update-index --add rezrov && - echo rezrov >rezrov && - if read_tree_twoway $treeH $treeM; then false; else :; fi +expecting success of 0061.2 'start_command reports ENOENT (slash)': + test-tool run-command start-command-ENOENT ./does-not-exist 2>err && + test_i18ngrep "\./does-not-exist" err -error: Entry 'rezrov' would be overwritten by merge. Cannot merge. -ok 12 - 13 - unmatching local changes being removed. +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1001.13 '14 - unchanged in two heads.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo nitfol nitfol >nitfol && - git update-index --add nitfol && - read_tree_twoway $treeH $treeM && - git ls-files --stage >14.out && - test_must_fail git diff --no-index M.out 14.out >14diff.out && - compare_change 14diff.out expected && - check_cache_at nitfol clean +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 7e1bf714fb103c778a21dd67411666901222425a 0 nitfol -nitfol: clean -ok 13 - 14 - unchanged in two heads. +) +prerequisite C_LOCALE_OUTPUT ok +fatal: cannot run ./does-not-exist: No such file or directory +ok 2 - start_command reports ENOENT (slash) -expecting success of 1001.14 '15 - unchanged in two heads.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo nitfol nitfol >nitfol && - git update-index --add nitfol && - echo nitfol nitfol nitfol >nitfol && - read_tree_twoway $treeH $treeM && - git ls-files --stage >15.out && - test_must_fail git diff --no-index M.out 15.out >15diff.out && - compare_change 15diff.out expected && - check_cache_at nitfol dirty +expecting success of 0061.3 'start_command reports ENOENT (no slash)': + test-tool run-command start-command-ENOENT does-not-exist 2>err && + test_i18ngrep "does-not-exist" err -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 7e1bf714fb103c778a21dd67411666901222425a 0 nitfol -nitfol: dirty -ok 14 - 15 - unchanged in two heads. +error: cannot run does-not-exist: No such file or directory +ok 3 - start_command reports ENOENT (no slash) -expecting success of 1001.15 '16 - conflicting local change.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo bozbar bozbar >bozbar && - git update-index --add bozbar && - if read_tree_twoway $treeH $treeM; then false; else :; fi +expecting success of 0061.4 'run_command can run a command': + cat hello-script >hello.sh && + chmod +x hello.sh && + test-tool run-command run-command ./hello.sh >actual 2>err && -error: Entry 'bozbar' would be overwritten by merge. Cannot merge. -ok 15 - 16 - conflicting local change. + test_cmp hello-script actual && + test_must_be_empty err -expecting success of 1001.16 '17 - conflicting local change.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - echo bozbar bozbar >bozbar && - git update-index --add bozbar && - echo bozbar bozbar bozbar >bozbar && - if read_tree_twoway $treeH $treeM; then false; else :; fi +ok 4 - run_command can run a command -error: Entry 'bozbar' would be overwritten by merge. Cannot merge. -ok 16 - 17 - conflicting local change. +checking prerequisite: RUNS_COMMANDS_FROM_PWD -expecting success of 1001.17 '18 - local change already having a good result.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - cat bozbar-new >bozbar && - git update-index --add bozbar && - read_tree_twoway $treeH $treeM && - git ls-files --stage >18.out && - test_cmp M.out 18.out && - check_cache_at bozbar clean +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-RUNS_COMMANDS_FROM_PWD" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-RUNS_COMMANDS_FROM_PWD" && + write_script runs-commands-from-pwd <<-\EOF && + true + EOF + runs-commands-from-pwd >/dev/null 2>&1 -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -bozbar: clean -ok 17 - 18 - local change already having a good result. +) +prerequisite RUNS_COMMANDS_FROM_PWD not satisfied +expecting success of 0061.5 'run_command is restricted to PATH': + write_script should-not-run <<-\EOF && + echo yikes + EOF + test_must_fail test-tool run-command run-command should-not-run 2>err && + test_i18ngrep "should-not-run" err -expecting success of 1001.18 '19 - local change already having a good result, further modified.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - cat bozbar-new >bozbar && - git update-index --add bozbar && - echo gnusto gnusto >bozbar && - read_tree_twoway $treeH $treeM && - git ls-files --stage >19.out && - test_cmp M.out 19.out && - check_cache_at bozbar dirty +error: cannot run should-not-run: No such file or directory +ok 5 - run_command is restricted to PATH -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -bozbar: dirty -ok 18 - 19 - local change already having a good result, further modified. +expecting success of 0061.6 'run_command can run a script without a #! line': + cat >hello <<-\EOF && + cat hello-script + EOF + chmod +x hello && + test-tool run-command run-command ./hello >actual 2>err && -expecting success of 1001.19 '20 - no local change, use new tree.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - cat bozbar-old >bozbar && - git update-index --add bozbar && - read_tree_twoway $treeH $treeM && - git ls-files --stage >20.out && - test_cmp M.out 20.out && - check_cache_at bozbar dirty + test_cmp hello-script actual && + test_must_be_empty err -100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar -100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz -100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol -bozbar: dirty -ok 19 - 20 - no local change, use new tree. +ok 6 - run_command can run a script without a #! line -expecting success of 1001.20 '21 - no local change, dirty cache.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - cat bozbar-old >bozbar && - git update-index --add bozbar && - echo gnusto gnusto >bozbar && - if read_tree_twoway $treeH $treeM; then false; else :; fi +expecting success of 0061.7 'run_command does not try to execute a directory': + test_when_finished "rm -rf bin1 bin2" && + mkdir -p bin1/greet bin2 && + write_script bin2/greet <<-\EOF && + cat bin2/greet + EOF -error: Entry 'bozbar' not uptodate. Cannot merge. -ok 20 - 21 - no local change, dirty cache. + PATH=$PWD/bin1:$PWD/bin2:$PATH \ + test-tool run-command run-command greet >actual 2>err && + test_cmp bin2/greet actual && + test_must_be_empty err -expecting success of 1001.21 '22 - local change cache updated.': - rm -f .git/index && - read_tree_must_succeed $treeH && - git checkout-index -u -f -q -a && - sed -e "s/such as/SUCH AS/" bozbar-old >bozbar && - git update-index --add bozbar && - if read_tree_twoway $treeH $treeM; then false; else :; fi +ok 7 - run_command does not try to execute a directory -error: Entry 'bozbar' would be overwritten by merge. Cannot merge. -ok 21 - 22 - local change cache updated. +expecting success of 0061.8 'run_command passes over non-executable file': + test_when_finished "rm -rf bin1 bin2" && + mkdir -p bin1 bin2 && + write_script bin1/greet <<-\EOF && + cat bin1/greet + EOF + chmod -x bin1/greet && + write_script bin2/greet <<-\EOF && + cat bin2/greet + EOF -expecting success of 1001.22 'DF vs DF/DF case setup.': - rm -f .git/index && - echo DF >DF && - git update-index --add DF && - treeDF=$(git write-tree) && - echo treeDF $treeDF && - git ls-tree $treeDF && + PATH=$PWD/bin1:$PWD/bin2:$PATH \ + test-tool run-command run-command greet >actual 2>err && + test_cmp bin2/greet actual && + test_must_be_empty err - rm -f DF && - mkdir DF && - echo DF/DF >DF/DF && - git update-index --add --remove DF DF/DF && - treeDFDF=$(git write-tree) && - echo treeDFDF $treeDFDF && - git ls-tree $treeDFDF && - git ls-files --stage >DFDF.out +ok 8 - run_command passes over non-executable file -treeDF 6bf22db9043f2b5821c019d0ce0f2605421affcb -100644 blob 052efc3abbc31348f7abd34535b1953d38273257 DF -treeDFDF c38e296263d024b0f48c4a728d293232ac6c5443 -040000 tree 90bbead36f4d6a7c325fd450e6cfbcc7479d421a DF -ok 22 - DF vs DF/DF case setup. +expecting success of 0061.9 'run_command reports EACCES': + cat hello-script >hello.sh && + chmod -x hello.sh && + test_must_fail test-tool run-command run-command ./hello.sh 2>err && -expecting success of 1001.23 'DF vs DF/DF case test.': - rm -f .git/index && - rm -fr DF && - echo DF >DF && - git update-index --add DF && - read_tree_twoway $treeDF $treeDFDF && - git ls-files --stage >DFDFcheck.out && - test_cmp DFDF.out DFDFcheck.out && - check_cache_at DF/DF dirty && - : + grep "fatal: cannot exec.*hello.sh" err -100644 b90ea14b2dd74b6f377c10870b3757344bbe077c 0 DF/DF -DF/DF: dirty -ok 23 - DF vs DF/DF case test. +fatal: cannot exec './hello.sh': Permission denied +ok 9 - run_command reports EACCES -expecting success of 1001.24 'a/b (untracked) vs a case setup.': - rm -f .git/index && - : >a && - git update-index --add a && - treeM=$(git write-tree) && - echo treeM $treeM && - git ls-tree $treeM && - git ls-files --stage >treeM.out && +checking prerequisite: SANITY - rm -f a && - git update-index --remove a && - mkdir a && - : >a/b && - treeH=$(git write-tree) && - echo treeH $treeH && - git ls-tree $treeH +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && -treeM 496d6428b9cf92981dc9495211e6e1120fb6f2ba -100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 a -treeH 4b825dc642cb6eb9a060e54bf8d69288fbee4904 -ok 24 - a/b (untracked) vs a case setup. + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" -expecting success of 1001.25 'a/b (untracked) vs a, plus c/d case test.': - read_tree_u_must_fail -u -m "$treeH" "$treeM" && - git ls-files --stage && - test -f a/b + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? -error: Updating 'a' would lose untracked files in it -error: Updating 'a' would lose untracked files in it -ok 25 - a/b (untracked) vs a, plus c/d case test. + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status -expecting success of 1001.26 'read-tree supports the super-prefix': - cat <<-EOF >expect && - error: Updating 'fictional/a' would lose untracked files in it - EOF - test_must_fail git --super-prefix fictional/ read-tree -u -m "$treeH" "$treeM" 2>actual && +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 0061.10 'unreadable directory in PATH': + mkdir local-command && + test_when_finished "chmod u+rwx local-command && rm -fr local-command" && + git config alias.nitfol "!echo frotz" && + chmod a-rx local-command && + ( + PATH=./local-command:$PATH && + git nitfol >actual + ) && + echo frotz >expect && test_cmp expect actual -ok 26 - read-tree supports the super-prefix +ok 10 - unreadable directory in PATH -expecting success of 1001.27 'a/b vs a, plus c/d case setup.': - rm -f .git/index && - rm -fr a && - : >a && - mkdir c && - : >c/d && - git update-index --add a c/d && - treeM=$(git write-tree) && - echo treeM $treeM && - git ls-tree $treeM && - git ls-files --stage >treeM.out && +expecting success of 0061.11 'run_command runs in parallel with more jobs available than tasks': + test-tool run-command run-command-parallel 5 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && + test_cmp expect actual - rm -f a && - mkdir a && - : >a/b && - git update-index --add --remove a a/b && - treeH=$(git write-tree) && - echo treeH $treeH && - git ls-tree $treeH +ok 11 - run_command runs in parallel with more jobs available than tasks -treeM 3e82e8b9894d6c7982dcd25a6dad66400d52735f -100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 a -040000 tree 2a26db49a6962700da5bd4084ae0e5a22d6583ee c -treeH 02c6f058fb950781e5b773c21e4c237db1ff4d5a -040000 tree 4277b6e69d25e5efa77c455340557b384a4c018a a -040000 tree 2a26db49a6962700da5bd4084ae0e5a22d6583ee c -ok 27 - a/b vs a, plus c/d case setup. +expecting success of 0061.12 'run_command runs in parallel with as many jobs as tasks': + test-tool run-command run-command-parallel 4 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && + test_cmp expect actual -expecting success of 1001.28 'a/b vs a, plus c/d case test.': - read_tree_u_must_succeed -u -m "$treeH" "$treeM" && - git ls-files --stage | tee >treeMcheck.out && - test_cmp treeM.out treeMcheck.out +ok 12 - run_command runs in parallel with as many jobs as tasks -ok 28 - a/b vs a, plus c/d case test. +expecting success of 0061.13 'run_command runs in parallel with more tasks than jobs available': + test-tool run-command run-command-parallel 3 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && + test_cmp expect actual -expecting success of 1001.29 '-m references the correct modified tree': - echo >file-a && - echo >file-b && - git add file-a file-b && - git commit -a -m "test for correct modified tree" && - git branch initial-mod && - echo b >file-b && - git commit -a -m "B" && - echo a >file-a && - git add file-a && - git ls-tree $(git write-tree) file-a >expect && - read_tree_must_succeed -m HEAD initial-mod && - git ls-tree $(git write-tree) file-a >actual && +ok 13 - run_command runs in parallel with more tasks than jobs available + +expecting success of 0061.14 'run_command is asked to abort gracefully': + test-tool run-command run-command-abort 3 false 2>actual && test_cmp expect actual -[master (root-commit) 0d16b8a] test for correct modified tree - Author: A U Thor - 4 files changed, 2 insertions(+) - create mode 100644 a - create mode 100644 c/d - create mode 100644 file-a - create mode 100644 file-b -[master 9f64e7b] B - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 29 - -m references the correct modified tree +ok 14 - run_command is asked to abort gracefully -# passed all 29 test(s) -1..29 +expecting success of 0061.15 'run_command outputs ': + test-tool run-command run-command-no-jobs 3 sh -c "printf \"%s\n%s\n\" Hello World" 2>actual && + test_cmp expect actual + +ok 15 - run_command outputs + +expecting success of 0061.16 'GIT_TRACE with environment variables': + test_trace "abc=1 def=2" env abc=1 env def=2 && + test_trace "abc=2" env abc env abc=1 env abc=2 && + test_trace "abc=2" env abc env abc=2 && + ( + abc=1 && export abc && + test_trace "def=1" env abc=1 env def=1 + ) && + ( + abc=1 && export abc && + test_trace "def=1" env abc env abc=1 env def=1 + ) && + test_trace "def=1" env non-exist env def=1 && + test_trace "abc=2" env abc=1 env abc env abc=2 && + ( + abc=1 def=2 && export abc def && + test_trace "unset abc def;" env abc env def + ) && + ( + abc=1 def=2 && export abc def && + test_trace "unset def; abc=3" env abc env def env abc=3 + ) && + ( + abc=1 && export abc && + test_trace "unset abc;" env abc=2 env abc + ) + +ok 16 - GIT_TRACE with environment variables + +ok 17 # skip verify curlies are quoted properly (missing MINGW) + +ok 18 # skip can spawn .bat with argv[0] containing spaces (missing MINGW) + +# passed all 18 test(s) +1..18 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1009-read-tree-new-index.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1009-read-tree-new-index/.git/ -expecting success of 1009.1 'setup': - echo one >a && +*** t0062-revision-walking.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0062-revision-walking/.git/ +expecting success of 0062.1 'setup': + echo a > a && git add a && - git commit -m initial + git commit -m "add a" && + echo b > b && + git add b && + git commit -m "add b" -[master (root-commit) 4d54ff5] initial +[master (root-commit) 925677c] add a Author: A U Thor 1 file changed, 1 insertion(+) create mode 100644 a +[master 4505e02] add b + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 b ok 1 - setup -expecting success of 1009.2 'non-existent index file': - rm -f new-index && - GIT_INDEX_FILE=new-index git read-tree master - -ok 2 - non-existent index file - -expecting success of 1009.3 'empty index file': - rm -f new-index && - > new-index && - GIT_INDEX_FILE=new-index git read-tree master +expecting success of 0062.2 'revision walking can be done twice': + test-tool revision-walking run-twice >run_twice_actual && + test_cmp run_twice_expected run_twice_actual -ok 3 - empty index file +ok 2 - revision walking can be done twice -# passed all 3 test(s) -1..3 +# passed all 2 test(s) +1..2 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0060-path-utils.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0060-path-utils/.git/ -expecting success of 0060.1 'basename': test-tool path-utils basename -ok 1 - basename +*** t0021-conversion.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/.git/ +expecting success of 0021.1 'setup': + git config filter.rot13.smudge ./rot13.sh && + git config filter.rot13.clean ./rot13.sh && -expecting success of 0060.2 'dirname': test-tool path-utils dirname -ok 2 - dirname + { + echo "*.t filter=rot13" + echo "*.i ident" + } >.gitattributes && -expecting success of 0060.3 'normalize path: => ': test "$(test-tool path-utils normalize_path_copy '')" = '' -ok 3 - normalize path: => + { + echo a b c d e f g h i j k l m + echo n o p q r s t u v w x y z + echo '$Id$' + } >test && + cat test >test.t && + cat test >test.o && + cat test >test.i && + git add test test.t test.i && + rm -f test test.t test.i && + git checkout -- test test.t test.i && -expecting success of 0060.4 'normalize path: . => ': test "$(test-tool path-utils normalize_path_copy '.')" = '' -ok 4 - normalize path: . => + echo "content-test2" >test2.o && + echo "content-test3 - filename with special characters" >"test3 'sq',\$x=.o" -expecting success of 0060.5 'normalize path: ./ => ': test "$(test-tool path-utils normalize_path_copy './')" = '' -ok 5 - normalize path: ./ => +ok 1 - setup -expecting success of 0060.6 'normalize path: ./. => ': test "$(test-tool path-utils normalize_path_copy './.')" = '' -ok 6 - normalize path: ./. => +expecting success of 0021.2 'check': -expecting success of 0060.7 'normalize path: ./.. => ++failed++': test "$(test-tool path-utils normalize_path_copy './..')" = '++failed++' -ok 7 - normalize path: ./.. => ++failed++ + test_cmp test.o test && + test_cmp test.o test.t && -expecting success of 0060.8 'normalize path: ../. => ++failed++': test "$(test-tool path-utils normalize_path_copy '../.')" = '++failed++' -ok 8 - normalize path: ../. => ++failed++ + # ident should be stripped in the repository + git diff --raw --exit-code :test :test.i && + id=$(git rev-parse --verify :test) && + embedded=$(sed -ne "$script" test.i) && + test "z$id" = "z$embedded" && -expecting success of 0060.9 'normalize path: ./../.// => ++failed++': test "$(test-tool path-utils normalize_path_copy './.././/')" = '++failed++' -ok 9 - normalize path: ./../.// => ++failed++ + git cat-file blob :test.t >test.r && -expecting success of 0060.10 'normalize path: dir/.. => ': test "$(test-tool path-utils normalize_path_copy 'dir/..')" = '' -ok 10 - normalize path: dir/.. => + ./rot13.sh test.t && + test_cmp test.r test.t -expecting success of 0060.11 'normalize path: dir/sub/../.. => ': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../..')" = '' -ok 11 - normalize path: dir/sub/../.. => +ok 2 - check -expecting success of 0060.12 'normalize path: dir/sub/../../.. => ++failed++': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../../..')" = '++failed++' -ok 12 - normalize path: dir/sub/../../.. => ++failed++ +expecting success of 0021.3 'expanded_in_repo': + { + echo "File with expanded keywords" + echo "\$Id\$" + echo "\$Id:\$" + echo "\$Id: 0000000000000000000000000000000000000000 \$" + echo "\$Id: NoSpaceAtEnd\$" + echo "\$Id:NoSpaceAtFront \$" + echo "\$Id:NoSpaceAtEitherEnd\$" + echo "\$Id: NoTerminatingSymbol" + echo "\$Id: Foreign Commit With Spaces \$" + } >expanded-keywords.0 && -expecting success of 0060.13 'normalize path: dir => dir': test "$(test-tool path-utils normalize_path_copy 'dir')" = 'dir' -ok 13 - normalize path: dir => dir + { + cat expanded-keywords.0 && + printf "\$Id: NoTerminatingSymbolAtEOF" + } >expanded-keywords && + cat expanded-keywords >expanded-keywords-crlf && + git add expanded-keywords expanded-keywords-crlf && + git commit -m "File with keywords expanded" && + id=$(git rev-parse --verify :expanded-keywords) && -expecting success of 0060.14 'normalize path: dir// => dir/': test "$(test-tool path-utils normalize_path_copy 'dir//')" = 'dir/' -ok 14 - normalize path: dir// => dir/ + { + echo "File with expanded keywords" + echo "\$Id: $id \$" + echo "\$Id: $id \$" + echo "\$Id: $id \$" + echo "\$Id: $id \$" + echo "\$Id: $id \$" + echo "\$Id: $id \$" + echo "\$Id: NoTerminatingSymbol" + echo "\$Id: Foreign Commit With Spaces \$" + } >expected-output.0 && + { + cat expected-output.0 && + printf "\$Id: NoTerminatingSymbolAtEOF" + } >expected-output && + { + append_cr expected-output-crlf && + { + echo "expanded-keywords ident" + echo "expanded-keywords-crlf ident text eol=crlf" + } >>.gitattributes && -expecting success of 0060.15 'normalize path: ./dir => dir': test "$(test-tool path-utils normalize_path_copy './dir')" = 'dir' -ok 15 - normalize path: ./dir => dir + rm -f expanded-keywords expanded-keywords-crlf && -expecting success of 0060.16 'normalize path: dir/. => dir/': test "$(test-tool path-utils normalize_path_copy 'dir/.')" = 'dir/' -ok 16 - normalize path: dir/. => dir/ + git checkout -- expanded-keywords && + test_cmp expected-output expanded-keywords && -expecting success of 0060.17 'normalize path: dir///./ => dir/': test "$(test-tool path-utils normalize_path_copy 'dir///./')" = 'dir/' -ok 17 - normalize path: dir///./ => dir/ + git checkout -- expanded-keywords-crlf && + test_cmp expected-output-crlf expanded-keywords-crlf -expecting success of 0060.18 'normalize path: dir//sub/.. => dir/': test "$(test-tool path-utils normalize_path_copy 'dir//sub/..')" = 'dir/' -ok 18 - normalize path: dir//sub/.. => dir/ +[master (root-commit) bf31399] File with keywords expanded + Author: A U Thor + 5 files changed, 29 insertions(+) + create mode 100644 expanded-keywords + create mode 100644 expanded-keywords-crlf + create mode 100644 test + create mode 100644 test.i + create mode 100644 test.t +ok 3 - expanded_in_repo -expecting success of 0060.19 'normalize path: dir/sub/../ => dir/': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../')" = 'dir/' -ok 19 - normalize path: dir/sub/../ => dir/ +expecting success of 0021.4 'filter shell-escaped filenames': + cat >argc.sh <<-EOF && + #!$SHELL_PATH + cat >/dev/null + echo argc: \$# "\$@" + EOF + normal=name-no-magic && + special="name with 'sq' and \$x" && + echo some test text >"$normal" && + echo some test text >"$special" && + git add "$normal" "$special" && + git commit -q -m "add files" && + echo "name* filter=argc" >.gitattributes && -expecting success of 0060.20 'normalize path: dir/sub/../. => dir/': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../.')" = 'dir/' -ok 20 - normalize path: dir/sub/../. => dir/ + # delete the files and check them out again, using a smudge filter + # that will count the args and echo the command-line back to us + test_config filter.argc.smudge "sh ./argc.sh %f" && + rm "$normal" "$special" && + git checkout -- "$normal" "$special" && -expecting success of 0060.21 'normalize path: dir/s1/../s2/ => dir/s2/': test "$(test-tool path-utils normalize_path_copy 'dir/s1/../s2/')" = 'dir/s2/' -ok 21 - normalize path: dir/s1/../s2/ => dir/s2/ + # make sure argc.sh counted the right number of args + echo "argc: 1 $normal" >expect && + test_cmp expect "$normal" && + echo "argc: 1 $special" >expect && + test_cmp expect "$special" && -expecting success of 0060.22 'normalize path: d1/s1///s2/..//../s3/ => d1/s3/': test "$(test-tool path-utils normalize_path_copy 'd1/s1///s2/..//../s3/')" = 'd1/s3/' -ok 22 - normalize path: d1/s1///s2/..//../s3/ => d1/s3/ + # do the same thing, but with more args in the filter expression + test_config filter.argc.smudge "sh ./argc.sh %f --my-extra-arg" && + rm "$normal" "$special" && + git checkout -- "$normal" "$special" && -expecting success of 0060.23 'normalize path: d1/s1//../s2/../../d2 => d2': test "$(test-tool path-utils normalize_path_copy 'd1/s1//../s2/../../d2')" = 'd2' -ok 23 - normalize path: d1/s1//../s2/../../d2 => d2 + # make sure argc.sh counted the right number of args + echo "argc: 2 $normal --my-extra-arg" >expect && + test_cmp expect "$normal" && + echo "argc: 2 $special --my-extra-arg" >expect && + test_cmp expect "$special" && + : -expecting success of 0060.24 'normalize path: d1/.../d2 => d1/.../d2': test "$(test-tool path-utils normalize_path_copy 'd1/.../d2')" = 'd1/.../d2' -ok 24 - normalize path: d1/.../d2 => d1/.../d2 +ok 4 - filter shell-escaped filenames -expecting success of 0060.25 'normalize path: d1/..././../d2 => d1/d2': test "$(test-tool path-utils normalize_path_copy 'd1/..././../d2')" = 'd1/d2' -ok 25 - normalize path: d1/..././../d2 => d1/d2 +expecting success of 0021.5 'required filter should filter data': + test_config filter.required.smudge ./rot13.sh && + test_config filter.required.clean ./rot13.sh && + test_config filter.required.required true && -expecting success of 0060.26 'normalize path: / => /': test "$(test-tool path-utils normalize_path_copy '/')" = '/' -ok 26 - normalize path: / => / + echo "*.r filter=required" >.gitattributes && -expecting success of 0060.27 'normalize path: // => /': test "$(test-tool path-utils normalize_path_copy '//')" = '/' -ok 27 - normalize path: // => / + cat test.o >test.r && + git add test.r && -expecting success of 0060.28 'normalize path: /// => /': test "$(test-tool path-utils normalize_path_copy '///')" = '/' -ok 28 - normalize path: /// => / + rm -f test.r && + git checkout -- test.r && + test_cmp test.o test.r && -expecting success of 0060.29 'normalize path: /. => /': test "$(test-tool path-utils normalize_path_copy '/.')" = '/' -ok 29 - normalize path: /. => / + ./rot13.sh expected && + git cat-file blob :test.r >actual && + test_cmp expected actual -expecting success of 0060.30 'normalize path: /./ => /': test "$(test-tool path-utils normalize_path_copy '/./')" = '/' -ok 30 - normalize path: /./ => / +ok 5 - required filter should filter data -expecting success of 0060.31 'normalize path: /./.. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/./..')" = '++failed++' -ok 31 - normalize path: /./.. => ++failed++ +expecting success of 0021.6 'required filter smudge failure': + test_config filter.failsmudge.smudge false && + test_config filter.failsmudge.clean cat && + test_config filter.failsmudge.required true && -expecting success of 0060.32 'normalize path: /../. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/../.')" = '++failed++' -ok 32 - normalize path: /../. => ++failed++ + echo "*.fs filter=failsmudge" >.gitattributes && -expecting success of 0060.33 'normalize path: /./../.// => ++failed++': test "$(test-tool path-utils normalize_path_copy '/./.././/')" = '++failed++' -ok 33 - normalize path: /./../.// => ++failed++ + echo test >test.fs && + git add test.fs && + rm -f test.fs && + test_must_fail git checkout -- test.fs -expecting success of 0060.34 'normalize path: /dir/.. => /': test "$(test-tool path-utils normalize_path_copy '/dir/..')" = '/' -ok 34 - normalize path: /dir/.. => / +error: external filter 'false' failed 1 +error: external filter 'false' failed +fatal: test.fs: smudge filter failsmudge failed +ok 6 - required filter smudge failure -expecting success of 0060.35 'normalize path: /dir/sub/../.. => /': test "$(test-tool path-utils normalize_path_copy '/dir/sub/../..')" = '/' -ok 35 - normalize path: /dir/sub/../.. => / +expecting success of 0021.7 'required filter clean failure': + test_config filter.failclean.smudge cat && + test_config filter.failclean.clean false && + test_config filter.failclean.required true && -expecting success of 0060.36 'normalize path: /dir/sub/../../.. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/dir/sub/../../..')" = '++failed++' -ok 36 - normalize path: /dir/sub/../../.. => ++failed++ + echo "*.fc filter=failclean" >.gitattributes && -expecting success of 0060.37 'normalize path: /dir => /dir': test "$(test-tool path-utils normalize_path_copy '/dir')" = '/dir' -ok 37 - normalize path: /dir => /dir + echo test >test.fc && + test_must_fail git add test.fc -expecting success of 0060.38 'normalize path: /dir// => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir//')" = '/dir/' -ok 38 - normalize path: /dir// => /dir/ +error: external filter 'false' failed 1 +error: external filter 'false' failed +fatal: test.fc: clean filter 'failclean' failed +ok 7 - required filter clean failure -expecting success of 0060.39 'normalize path: /./dir => /dir': test "$(test-tool path-utils normalize_path_copy '/./dir')" = '/dir' -ok 39 - normalize path: /./dir => /dir +expecting success of 0021.8 'filtering large input to small output should use little memory': + test_config filter.devnull.clean "cat >/dev/null" && + test_config filter.devnull.required true && + for i in $(test_seq 1 30); do printf "%1048576d" 1; done >30MB && + echo "30MB filter=devnull" >.gitattributes && + GIT_MMAP_LIMIT=1m GIT_ALLOC_LIMIT=1m git add 30MB -expecting success of 0060.40 'normalize path: /dir/. => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir/.')" = '/dir/' -ok 40 - normalize path: /dir/. => /dir/ +ok 8 - filtering large input to small output should use little memory -expecting success of 0060.41 'normalize path: /dir///./ => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir///./')" = '/dir/' -ok 41 - normalize path: /dir///./ => /dir/ +expecting success of 0021.9 'filter that does not read is fine': + test-tool genrandom foo $((128 * 1024 + 1)) >big && + echo "big filter=epipe" >.gitattributes && + test_config filter.epipe.clean "echo xyzzy" && + git add big && + git cat-file blob :big >actual && + echo xyzzy >expect && + test_cmp expect actual -expecting success of 0060.42 'normalize path: /dir//sub/.. => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir//sub/..')" = '/dir/' -ok 42 - normalize path: /dir//sub/.. => /dir/ +ok 9 - filter that does not read is fine -expecting success of 0060.43 'normalize path: /dir/sub/../ => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir/sub/../')" = '/dir/' -ok 43 - normalize path: /dir/sub/../ => /dir/ +checking prerequisite: EXPENSIVE -expecting success of 0060.44 'normalize path: //dir/sub/../. => /dir/': test "$(test-tool path-utils normalize_path_copy '//dir/sub/../.')" = '/dir/' -ok 44 - normalize path: //dir/sub/../. => /dir/ +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && + test -n "$GIT_TEST_LONG" -expecting success of 0060.45 'normalize path: /dir/s1/../s2/ => /dir/s2/': test "$(test-tool path-utils normalize_path_copy '/dir/s1/../s2/')" = '/dir/s2/' -ok 45 - normalize path: /dir/s1/../s2/ => /dir/s2/ +) +prerequisite EXPENSIVE not satisfied +ok 10 # skip filter large file (missing EXPENSIVE) -expecting success of 0060.46 'normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/': test "$(test-tool path-utils normalize_path_copy '/d1/s1///s2/..//../s3/')" = '/d1/s3/' -ok 46 - normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/ +expecting success of 0021.11 'filter: clean empty file': + test_config filter.in-repo-header.clean "echo cleaned && cat" && + test_config filter.in-repo-header.smudge "sed 1d" && -expecting success of 0060.47 'normalize path: /d1/s1//../s2/../../d2 => /d2': test "$(test-tool path-utils normalize_path_copy '/d1/s1//../s2/../../d2')" = '/d2' -ok 47 - normalize path: /d1/s1//../s2/../../d2 => /d2 + echo "empty-in-worktree filter=in-repo-header" >>.gitattributes && + >empty-in-worktree && -expecting success of 0060.48 'normalize path: /d1/.../d2 => /d1/.../d2': test "$(test-tool path-utils normalize_path_copy '/d1/.../d2')" = '/d1/.../d2' -ok 48 - normalize path: /d1/.../d2 => /d1/.../d2 + echo cleaned >expected && + git add empty-in-worktree && + git show :empty-in-worktree >actual && + test_cmp expected actual -expecting success of 0060.49 'normalize path: /d1/..././../d2 => /d1/d2': test "$(test-tool path-utils normalize_path_copy '/d1/..././../d2')" = '/d1/d2' -ok 49 - normalize path: /d1/..././../d2 => /d1/d2 +ok 11 - filter: clean empty file -expecting success of 0060.50 'longest ancestor: / / => -1': actual=$(test-tool path-utils longest_ancestor_length '/' '/') && - test "$actual" = '-1' -ok 50 - longest ancestor: / / => -1 +expecting success of 0021.12 'filter: smudge empty file': + test_config filter.empty-in-repo.clean "cat >/dev/null" && + test_config filter.empty-in-repo.smudge "echo smudged && cat" && -expecting success of 0060.51 'longest ancestor: /foo / => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/') && - test "$actual" = '0' -ok 51 - longest ancestor: /foo / => 0 + echo "empty-in-repo filter=empty-in-repo" >>.gitattributes && + echo dead data walking >empty-in-repo && + git add empty-in-repo && -expecting success of 0060.52 'longest ancestor: /foo /fo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/fo') && - test "$actual" = '-1' -ok 52 - longest ancestor: /foo /fo => -1 + echo smudged >expected && + git checkout-index --prefix=filtered- empty-in-repo && + test_cmp expected filtered-empty-in-repo -expecting success of 0060.53 'longest ancestor: /foo /foo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo') && - test "$actual" = '-1' -ok 53 - longest ancestor: /foo /foo => -1 +ok 12 - filter: smudge empty file -expecting success of 0060.54 'longest ancestor: /foo /bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/bar') && - test "$actual" = '-1' -ok 54 - longest ancestor: /foo /bar => -1 +expecting success of 0021.13 'disable filter with empty override': + test_config_global filter.disable.smudge false && + test_config_global filter.disable.clean false && + test_config filter.disable.smudge false && + test_config filter.disable.clean false && -expecting success of 0060.55 'longest ancestor: /foo /foo/bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo/bar') && - test "$actual" = '-1' -ok 55 - longest ancestor: /foo /foo/bar => -1 + echo "*.disable filter=disable" >.gitattributes && -expecting success of 0060.56 'longest ancestor: /foo /foo:/bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo:/bar') && - test "$actual" = '-1' -ok 56 - longest ancestor: /foo /foo:/bar => -1 + echo test >test.disable && + git -c filter.disable.clean= add test.disable 2>err && + test_must_be_empty err && + rm -f test.disable && + git -c filter.disable.smudge= checkout -- test.disable 2>err && + test_must_be_empty err -expecting success of 0060.57 'longest ancestor: /foo /:/foo:/bar => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/:/foo:/bar') && - test "$actual" = '0' -ok 57 - longest ancestor: /foo /:/foo:/bar => 0 +ok 13 - disable filter with empty override -expecting success of 0060.58 'longest ancestor: /foo /foo:/:/bar => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo:/:/bar') && - test "$actual" = '0' -ok 58 - longest ancestor: /foo /foo:/:/bar => 0 +expecting success of 0021.14 'diff does not reuse worktree files that need cleaning': + test_config filter.counter.clean "echo . >>count; sed s/^/clean:/" && + echo "file filter=counter" >.gitattributes && + test_commit one file && + test_commit two file && -expecting success of 0060.59 'longest ancestor: /foo /:/bar:/foo => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/:/bar:/foo') && - test "$actual" = '0' -ok 59 - longest ancestor: /foo /:/bar:/foo => 0 + >count && + git diff-tree -p HEAD && + test_line_count = 0 count -expecting success of 0060.60 'longest ancestor: /foo/bar / => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/') && - test "$actual" = '0' -ok 60 - longest ancestor: /foo/bar / => 0 +[master 77379c5] one + Author: A U Thor + 8 files changed, 9 insertions(+) + create mode 100644 30MB + create mode 100644 big + create mode 100644 empty-in-repo + create mode 100644 empty-in-worktree + create mode 100644 file + create mode 100644 test.disable + create mode 100644 test.fs + create mode 100644 test.r +[master 8868b52] two + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +8868b52c33dfc55cb5d031950895ef4d451f9f03 +diff --git a/file b/file +index e4a1655..0c54b7b 100644 +--- a/file ++++ b/file +@@ -1 +1 @@ +-clean:one ++clean:two +ok 14 - diff does not reuse worktree files that need cleaning -expecting success of 0060.61 'longest ancestor: /foo/bar /fo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/fo') && - test "$actual" = '-1' -ok 61 - longest ancestor: /foo/bar /fo => -1 +expecting success of 0021.15 'required process filter should filter data': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + test_config_global filter.protocol.required true && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -expecting success of 0060.62 'longest ancestor: /foo/bar /foo => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo') && - test "$actual" = '4' -ok 62 - longest ancestor: /foo/bar /foo => 4 + echo "*.r filter=protocol" >.gitattributes && + git add . && + git commit -m "test commit 1" && + git branch empty-branch && -expecting success of 0060.63 'longest ancestor: /foo/bar /foo/ba => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo/ba') && - test "$actual" = '-1' -ok 63 - longest ancestor: /foo/bar /foo/ba => -1 + cp "$TEST_ROOT/test.o" test.r && + cp "$TEST_ROOT/test2.o" test2.r && + mkdir testsubdir && + cp "$TEST_ROOT/test3 'sq',\$x=.o" "testsubdir/test3 'sq',\$x=.r" && + >test4-empty.r && -expecting success of 0060.64 'longest ancestor: /foo/bar /:/fo => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/fo') && - test "$actual" = '0' -ok 64 - longest ancestor: /foo/bar /:/fo => 0 + S=$(test_file_size test.r) && + S2=$(test_file_size test2.r) && + S3=$(test_file_size "testsubdir/test3 'sq',\$x=.r") && + M=$(git hash-object test.r) && + M2=$(git hash-object test2.r) && + M3=$(git hash-object "testsubdir/test3 'sq',\$x=.r") && + EMPTY=$(git hash-object /dev/null) && -expecting success of 0060.65 'longest ancestor: /foo/bar /foo:/foo/ba => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/foo/ba') && - test "$actual" = '4' -ok 65 - longest ancestor: /foo/bar /foo:/foo/ba => 4 + filter_git add . && + cat >expected.log <<-EOF && + START + init handshake complete + IN: clean test.r $S [OK] -- OUT: $S . [OK] + IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK] + IN: clean test4-empty.r 0 [OK] -- OUT: 0 [OK] + IN: clean testsubdir/test3 'sq',\$x=.r $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_count expected.log debug.log && -expecting success of 0060.66 'longest ancestor: /foo/bar /bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/bar') && - test "$actual" = '-1' -ok 66 - longest ancestor: /foo/bar /bar => -1 + git commit -m "test commit 2" && + MASTER=$(git rev-parse --verify master) && + META="ref=refs/heads/master treeish=$MASTER" && + rm -f test2.r "testsubdir/test3 'sq',\$x=.r" && -expecting success of 0060.67 'longest ancestor: /foo/bar /fo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/fo') && - test "$actual" = '-1' -ok 67 - longest ancestor: /foo/bar /fo => -1 + filter_git checkout --quiet --no-progress . && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test2.r blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.68 'longest ancestor: /foo/bar /foo:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/bar') && - test "$actual" = '4' -ok 68 - longest ancestor: /foo/bar /foo:/bar => 4 + # Make sure that the file appears dirty, so checkout below has to + # run the configured filter. + touch test.r && + filter_git checkout --quiet --no-progress empty-branch && + cat >expected.log <<-EOF && + START + init handshake complete + IN: clean test.r $S [OK] -- OUT: $S . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.69 'longest ancestor: /foo/bar /:/foo:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/foo:/bar') && - test "$actual" = '4' -ok 69 - longest ancestor: /foo/bar /:/foo:/bar => 4 + filter_git checkout --quiet --no-progress master && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.70 'longest ancestor: /foo/bar /foo:/:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/:/bar') && - test "$actual" = '4' -ok 70 - longest ancestor: /foo/bar /foo:/:/bar => 4 + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r && + test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r && + test_cmp_committed_rot13 "$TEST_ROOT/test3 'sq',\$x=.o" "testsubdir/test3 'sq',\$x=.r" + ) -expecting success of 0060.71 'longest ancestor: /foo/bar /:/bar:/fo => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/bar:/fo') && - test "$actual" = '0' -ok 71 - longest ancestor: /foo/bar /:/bar:/fo => 0 +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +[master (root-commit) 56d459b] test commit 1 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 .gitattributes +[master 9ea74df] test commit 2 + Author: A U Thor + 4 files changed, 5 insertions(+) + create mode 100644 test.r + create mode 100644 test2.r + create mode 100644 test4-empty.r + create mode 100644 testsubdir/test3 'sq',$x=.r +ok 15 - required process filter should filter data -expecting success of 0060.72 'longest ancestor: /foo/bar /:/bar => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/bar') && - test "$actual" = '0' -ok 72 - longest ancestor: /foo/bar /:/bar => 0 +expecting success of 0021.16 'required process filter should filter data for various subcommands': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + test_config_global filter.protocol.required true && + ( + cd repo && -expecting success of 0060.73 'longest ancestor: /foo/bar /foo => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo') && - test "$actual" = '4' -ok 73 - longest ancestor: /foo/bar /foo => 4 + S=$(test_file_size test.r) && + S2=$(test_file_size test2.r) && + S3=$(test_file_size "testsubdir/test3 'sq',\$x=.r") && + M=$(git hash-object test.r) && + M2=$(git hash-object test2.r) && + M3=$(git hash-object "testsubdir/test3 'sq',\$x=.r") && + EMPTY=$(git hash-object /dev/null) && -expecting success of 0060.74 'longest ancestor: /foo/bar /foo:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/bar') && - test "$actual" = '4' -ok 74 - longest ancestor: /foo/bar /foo:/bar => 4 + MASTER=$(git rev-parse --verify master) && -expecting success of 0060.75 'longest ancestor: /foo/bar /bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/bar') && - test "$actual" = '-1' -ok 75 - longest ancestor: /foo/bar /bar => -1 + cp "$TEST_ROOT/test.o" test5.r && + git add test5.r && + git commit -m "test commit 3" && + git checkout empty-branch && + filter_git rebase --onto empty-branch master^^ master && + MASTER2=$(git rev-parse --verify master) && + META="ref=refs/heads/master treeish=$MASTER2" && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -ok 76 # skip longest ancestor: C:/Users/me C:/ => 2 (missing MINGW) + git reset --hard empty-branch && + filter_git reset --hard $MASTER && + META="treeish=$MASTER" && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -ok 77 # skip longest ancestor: D:/Users/me C:/ => -1 (missing MINGW) + git branch old-master $MASTER && + git reset --hard empty-branch && + filter_git reset --hard old-master && + META="ref=refs/heads/old-master treeish=$MASTER" && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -ok 78 # skip longest ancestor: //server/share/my-directory //server/share/ => 14 (missing MINGW) + git checkout -b merge empty-branch && + git branch -f master $MASTER2 && + filter_git merge master && + META="treeish=$MASTER2" && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.79 'strip_path_suffix': - test c:/msysgit = $(test-tool path-utils strip_path_suffix \ - c:/msysgit/libexec//git-core libexec/git-core) + filter_git archive master >/dev/null && + META="ref=refs/heads/master treeish=$MASTER2" && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -ok 79 - strip_path_suffix + TREE="$(git rev-parse $MASTER2^{tree})" && + filter_git archive $TREE >/dev/null && + META="treeish=$TREE" && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] + IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log + ) -expecting success of 0060.80 'absolute path rejects the empty string': - test_must_fail test-tool path-utils absolute_path "" +[master 07631f7] test commit 3 + Author: A U Thor + 1 file changed, 3 insertions(+) + create mode 100644 test5.r +Switched to branch 'empty-branch' +Current branch master is up to date. +HEAD is now at 56d459b test commit 1 +HEAD is now at 9ea74df test commit 2 +HEAD is now at 56d459b test commit 1 +HEAD is now at 9ea74df test commit 2 +Switched to a new branch 'merge' +Updating 56d459b..07631f7 +Fast-forward + test.r | 3 +++ + test2.r | 1 + + test4-empty.r | 0 + test5.r | 3 +++ + testsubdir/test3 'sq',$x=.r | 1 + + 5 files changed, 8 insertions(+) + create mode 100644 test.r + create mode 100644 test2.r + create mode 100644 test4-empty.r + create mode 100644 test5.r + create mode 100644 testsubdir/test3 'sq',$x=.r +ok 16 - required process filter should filter data for various subcommands -fatal: The empty string is not a valid path -ok 80 - absolute path rejects the empty string +expecting success of 0021.17 'required process filter takes precedence': + test_config_global filter.protocol.clean false && + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean" && + test_config_global filter.protocol.required true && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -ok 81 # skip :\\abc is an absolute path (missing MINGW) + echo "*.r filter=protocol" >.gitattributes && + cp "$TEST_ROOT/test.o" test.r && + S=$(test_file_size test.r) && -expecting success of 0060.82 'real path rejects the empty string': - test_must_fail test-tool path-utils real_path "" + # Check that the process filter is invoked here + filter_git add . && + cat >expected.log <<-EOF && + START + init handshake complete + IN: clean test.r $S [OK] -- OUT: $S . [OK] + STOP + EOF + test_cmp_count expected.log debug.log + ) -fatal: The empty string is not a valid path -ok 82 - real path rejects the empty string +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +ok 17 - required process filter takes precedence -expecting success of 0060.83 'real path works on absolute paths 1': - nopath="hopefully-absent-path" && - test "/" = "$(test-tool path-utils real_path "/")" && - test "/$nopath" = "$(test-tool path-utils real_path "/$nopath")" +expecting success of 0021.18 'required process filter should be used only for "clean" operation only': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean" && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -ok 83 - real path works on absolute paths 1 + echo "*.r filter=protocol" >.gitattributes && + cp "$TEST_ROOT/test.o" test.r && + S=$(test_file_size test.r) && -expecting success of 0060.84 'real path works on absolute paths 2': - nopath="hopefully-absent-path" && - # Find an existing top-level directory for the remaining tests: - d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") && - test "$d" = "$(test-tool path-utils real_path "$d")" && - test "$d/$nopath" = "$(test-tool path-utils real_path "$d/$nopath")" + filter_git add . && + cat >expected.log <<-EOF && + START + init handshake complete + IN: clean test.r $S [OK] -- OUT: $S . [OK] + STOP + EOF + test_cmp_count expected.log debug.log && -ok 84 - real path works on absolute paths 2 + rm test.r && -expecting success of 0060.85 'real path removes extra leading slashes': - nopath="hopefully-absent-path" && - test "/" = "$(test-tool path-utils real_path "///")" && - test "/$nopath" = "$(test-tool path-utils real_path "///$nopath")" && - # Find an existing top-level directory for the remaining tests: - d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") && - test "$d" = "$(test-tool path-utils real_path "//$d")" && - test "$d/$nopath" = "$(test-tool path-utils real_path "//$d/$nopath")" + filter_git checkout --quiet --no-progress . && + # If the filter would be used for "smudge", too, we would see + # "IN: smudge test.r 57 [OK] -- OUT: 57 . [OK]" here + cat >expected.log <<-EOF && + START + init handshake complete + STOP + EOF + test_cmp_exclude_clean expected.log debug.log + ) -ok 85 - real path removes extra leading slashes +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +ok 18 - required process filter should be used only for "clean" operation only -expecting success of 0060.86 'real path removes other extra slashes': - nopath="hopefully-absent-path" && - # Find an existing top-level directory for the remaining tests: - d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") && - test "$d" = "$(test-tool path-utils real_path "$d///")" && - test "$d/$nopath" = "$(test-tool path-utils real_path "$d///$nopath")" +expecting success of 0021.19 'required process filter should process multiple packets': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + test_config_global filter.protocol.required true && -ok 86 - real path removes other extra slashes + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -checking prerequisite: SYMLINKS + # Generate data requiring 1, 2, 3 packets + S=65516 && # PKTLINE_DATA_MAXLEN -> Maximal size of a packet + generate_random_characters $(($S )) 1pkt_1__.file && + generate_random_characters $(($S +1)) 2pkt_1+1.file && + generate_random_characters $(($S*2-1)) 2pkt_2-1.file && + generate_random_characters $(($S*2 )) 2pkt_2__.file && + generate_random_characters $(($S*2+1)) 3pkt_2+1.file && -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y + for FILE in "$TEST_ROOT"/*.file + do + cp "$FILE" . && + rot13.sh <"$FILE" >"$FILE.rot13" + done && -) -prerequisite SYMLINKS ok -expecting success of 0060.87 'real path works on symlinks': - mkdir first && - ln -s ../.git first/.git && - mkdir second && - ln -s ../first second/other && - mkdir third && - dir="$(cd .git; pwd -P)" && - dir2=third/../second/other/.git && - test "$dir" = "$(test-tool path-utils real_path $dir2)" && - file="$dir"/index && - test "$file" = "$(test-tool path-utils real_path $dir2/index)" && - basename=blub && - test "$dir/$basename" = "$(cd .git && test-tool path-utils real_path "$basename")" && - ln -s ../first/file .git/syml && - sym="$(cd first; pwd -P)"/file && - test "$sym" = "$(test-tool path-utils real_path "$dir2/syml")" + echo "*.file filter=protocol" >.gitattributes && + filter_git add *.file .gitattributes && + cat >expected.log <<-EOF && + START + init handshake complete + IN: clean 1pkt_1__.file $(($S )) [OK] -- OUT: $(($S )) . [OK] + IN: clean 2pkt_1+1.file $(($S +1)) [OK] -- OUT: $(($S +1)) .. [OK] + IN: clean 2pkt_2-1.file $(($S*2-1)) [OK] -- OUT: $(($S*2-1)) .. [OK] + IN: clean 2pkt_2__.file $(($S*2 )) [OK] -- OUT: $(($S*2 )) .. [OK] + IN: clean 3pkt_2+1.file $(($S*2+1)) [OK] -- OUT: $(($S*2+1)) ... [OK] + STOP + EOF + test_cmp_count expected.log debug.log && -ok 87 - real path works on symlinks + M1="blob=$(git hash-object 1pkt_1__.file)" && + M2="blob=$(git hash-object 2pkt_1+1.file)" && + M3="blob=$(git hash-object 2pkt_2-1.file)" && + M4="blob=$(git hash-object 2pkt_2__.file)" && + M5="blob=$(git hash-object 3pkt_2+1.file)" && + rm -f *.file debug.log && -expecting success of 0060.88 'prefix_path works with absolute paths to work tree symlinks': - ln -s target symlink && - test "$(test-tool path-utils prefix_path prefix "$(pwd)/symlink")" = "symlink" + filter_git checkout --quiet --no-progress -- *.file && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge 1pkt_1__.file $M1 $(($S )) [OK] -- OUT: $(($S )) . [OK] + IN: smudge 2pkt_1+1.file $M2 $(($S +1)) [OK] -- OUT: $(($S +1)) .. [OK] + IN: smudge 2pkt_2-1.file $M3 $(($S*2-1)) [OK] -- OUT: $(($S*2-1)) .. [OK] + IN: smudge 2pkt_2__.file $M4 $(($S*2 )) [OK] -- OUT: $(($S*2 )) .. [OK] + IN: smudge 3pkt_2+1.file $M5 $(($S*2+1)) [OK] -- OUT: $(($S*2+1)) ... [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -ok 88 - prefix_path works with absolute paths to work tree symlinks + for FILE in *.file + do + test_cmp_committed_rot13 "$TEST_ROOT/$FILE" $FILE + done + ) -expecting success of 0060.89 'prefix_path works with only absolute path to work tree': - echo "" >expected && - test-tool path-utils prefix_path prefix "$(pwd)" >actual && - test_cmp expected actual +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +ok 19 - required process filter should process multiple packets -ok 89 - prefix_path works with only absolute path to work tree +expecting success of 0021.20 'required process filter with clean error should fail': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + test_config_global filter.protocol.required true && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -expecting success of 0060.90 'prefix_path rejects absolute path to dir with same beginning as work tree': - test_must_fail test-tool path-utils prefix_path prefix "$(pwd)a" + echo "*.r filter=protocol" >.gitattributes && -fatal: '/build/git-2.30.2/t/trash directory.t0060-path-utilsa' is outside repository at '/build/git-2.30.2/t/trash directory.t0060-path-utils' -ok 90 - prefix_path rejects absolute path to dir with same beginning as work tree + cp "$TEST_ROOT/test.o" test.r && + echo "this is going to fail" >clean-write-fail.r && + echo "content-test3-subdir" >test3.r && -expecting success of 0060.91 'prefix_path works with absolute path to a symlink to work tree having same beginning as work tree': - git init repo && - ln -s repo repolink && - test "a" = "$(cd repo && test-tool path-utils prefix_path prefix "$(pwd)/../repolink/a")" + test_must_fail git add . + ) hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all @@ -22132,170 +15740,354 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0060-path-utils/repo/.git/ -ok 91 - prefix_path works with absolute path to a symlink to work tree having same beginning as work tree +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +clean write error at /build/git-2.30.2/t/trash directory.t0021-conversion/rot13-filter.pl line 225. +error: external filter 'rot13-filter.pl debug.log clean smudge' failed +fatal: clean-write-fail.r: clean filter 'protocol' failed +ok 20 - required process filter with clean error should fail -expecting success of 0060.92 'relative path: /foo/a/b/c/ /foo/a/b/ => c/': test "$(test-tool path-utils relative_path '/foo/a/b/c/' '/foo/a/b/')" = 'c/' -ok 92 - relative path: /foo/a/b/c/ /foo/a/b/ => c/ +expecting success of 0021.21 'process filter should restart after unexpected write failure': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -expecting success of 0060.93 'relative path: /foo/a/b/c/ /foo/a/b => c/': test "$(test-tool path-utils relative_path '/foo/a/b/c/' '/foo/a/b')" = 'c/' -ok 93 - relative path: /foo/a/b/c/ /foo/a/b => c/ + echo "*.r filter=protocol" >.gitattributes && -expecting success of 0060.94 'relative path: /foo/a//b//c/ ///foo/a/b// => c/': test "$(test-tool path-utils relative_path '/foo/a//b//c/' '///foo/a/b//')" = 'c/' -ok 94 - relative path: /foo/a//b//c/ ///foo/a/b// => c/ + cp "$TEST_ROOT/test.o" test.r && + cp "$TEST_ROOT/test2.o" test2.r && + echo "this is going to fail" >smudge-write-fail.o && + cp smudge-write-fail.o smudge-write-fail.r && -expecting success of 0060.95 'relative path: /foo/a/b /foo/a/b => ./': test "$(test-tool path-utils relative_path '/foo/a/b' '/foo/a/b')" = './' -ok 95 - relative path: /foo/a/b /foo/a/b => ./ + S=$(test_file_size test.r) && + S2=$(test_file_size test2.r) && + SF=$(test_file_size smudge-write-fail.r) && + M=$(git hash-object test.r) && + M2=$(git hash-object test2.r) && + MF=$(git hash-object smudge-write-fail.r) && + rm -f debug.log && -expecting success of 0060.96 'relative path: /foo/a/b/ /foo/a/b => ./': test "$(test-tool path-utils relative_path '/foo/a/b/' '/foo/a/b')" = './' -ok 96 - relative path: /foo/a/b/ /foo/a/b => ./ + git add . && + rm -f *.r && -expecting success of 0060.97 'relative path: /foo/a /foo/a/b => ../': test "$(test-tool path-utils relative_path '/foo/a' '/foo/a/b')" = '../' -ok 97 - relative path: /foo/a /foo/a/b => ../ + rm -f debug.log && + git checkout --quiet --no-progress . 2>git-stderr.log && -expecting success of 0060.98 'relative path: / /foo/a/b/ => ../../../': test "$(test-tool path-utils relative_path '/' '/foo/a/b/')" = '../../../' -ok 98 - relative path: / /foo/a/b/ => ../../../ + grep "smudge write error at" git-stderr.log && + test_i18ngrep "error: external filter" git-stderr.log && -expecting success of 0060.99 'relative path: /foo/a/c /foo/a/b/ => ../c': test "$(test-tool path-utils relative_path '/foo/a/c' '/foo/a/b/')" = '../c' -ok 99 - relative path: /foo/a/c /foo/a/b/ => ../c + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge smudge-write-fail.r blob=$MF $SF [OK] -- [WRITE FAIL] + START + init handshake complete + IN: smudge test.r blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.100 'relative path: /foo/a/c /foo/a/b => ../c': test "$(test-tool path-utils relative_path '/foo/a/c' '/foo/a/b')" = '../c' -ok 100 - relative path: /foo/a/c /foo/a/b => ../c + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r && + test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r && -expecting success of 0060.101 'relative path: /foo/x/y /foo/a/b/ => ../../x/y': test "$(test-tool path-utils relative_path '/foo/x/y' '/foo/a/b/')" = '../../x/y' -ok 101 - relative path: /foo/x/y /foo/a/b/ => ../../x/y + # Smudge failed + ! test_cmp smudge-write-fail.o smudge-write-fail.r && + rot13.sh expected && + git cat-file blob :smudge-write-fail.r >actual && + test_cmp expected actual + ) -expecting success of 0060.102 'relative path: /foo/a/b => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' '')" = '/foo/a/b' -ok 102 - relative path: /foo/a/b => /foo/a/b +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +smudge write error at /build/git-2.30.2/t/trash directory.t0021-conversion/rot13-filter.pl line 225. +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 0060.103 'relative path: /foo/a/b => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' '')" = '/foo/a/b' -ok 103 - relative path: /foo/a/b => /foo/a/b +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 0060.104 'relative path: foo/a/b/c/ foo/a/b/ => c/': test "$(test-tool path-utils relative_path 'foo/a/b/c/' 'foo/a/b/')" = 'c/' -ok 104 - relative path: foo/a/b/c/ foo/a/b/ => c/ +) +prerequisite C_LOCALE_OUTPUT ok +error: external filter 'rot13-filter.pl debug.log clean smudge' failed +--- smudge-write-fail.o 2023-04-29 16:16:07.164148399 +0000 ++++ smudge-write-fail.r 2023-04-29 16:16:07.744128607 +0000 +@@ -1 +1 @@ +-this is going to fail ++guvf vf tbvat gb snvy +ok 21 - process filter should restart after unexpected write failure -expecting success of 0060.105 'relative path: foo/a/b/c/ foo/a/b => c/': test "$(test-tool path-utils relative_path 'foo/a/b/c/' 'foo/a/b')" = 'c/' -ok 105 - relative path: foo/a/b/c/ foo/a/b => c/ +expecting success of 0021.22 'process filter should not be restarted if it signals an error': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -expecting success of 0060.106 'relative path: foo/a/b//c foo/a//b => c': test "$(test-tool path-utils relative_path 'foo/a/b//c' 'foo/a//b')" = 'c' -ok 106 - relative path: foo/a/b//c foo/a//b => c + echo "*.r filter=protocol" >.gitattributes && -expecting success of 0060.107 'relative path: foo/a/b/ foo/a/b/ => ./': test "$(test-tool path-utils relative_path 'foo/a/b/' 'foo/a/b/')" = './' -ok 107 - relative path: foo/a/b/ foo/a/b/ => ./ + cp "$TEST_ROOT/test.o" test.r && + cp "$TEST_ROOT/test2.o" test2.r && + echo "this will cause an error" >error.o && + cp error.o error.r && -expecting success of 0060.108 'relative path: foo/a/b/ foo/a/b => ./': test "$(test-tool path-utils relative_path 'foo/a/b/' 'foo/a/b')" = './' -ok 108 - relative path: foo/a/b/ foo/a/b => ./ + S=$(test_file_size test.r) && + S2=$(test_file_size test2.r) && + SE=$(test_file_size error.r) && + M=$(git hash-object test.r) && + M2=$(git hash-object test2.r) && + ME=$(git hash-object error.r) && + rm -f debug.log && -expecting success of 0060.109 'relative path: foo/a foo/a/b => ../': test "$(test-tool path-utils relative_path 'foo/a' 'foo/a/b')" = '../' -ok 109 - relative path: foo/a foo/a/b => ../ + git add . && + rm -f *.r && -expecting success of 0060.110 'relative path: foo/x/y foo/a/b => ../../x/y': test "$(test-tool path-utils relative_path 'foo/x/y' 'foo/a/b')" = '../../x/y' -ok 110 - relative path: foo/x/y foo/a/b => ../../x/y + filter_git checkout --quiet --no-progress . && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge error.r blob=$ME $SE [OK] -- [ERROR] + IN: smudge test.r blob=$M $S [OK] -- OUT: $S . [OK] + IN: smudge test2.r blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.111 'relative path: foo/a/c foo/a/b => ../c': test "$(test-tool path-utils relative_path 'foo/a/c' 'foo/a/b')" = '../c' -ok 111 - relative path: foo/a/c foo/a/b => ../c + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r && + test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r && + test_cmp error.o error.r + ) -expecting success of 0060.112 'relative path: foo/a/b /foo/x/y => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '/foo/x/y')" = 'foo/a/b' -ok 112 - relative path: foo/a/b /foo/x/y => foo/a/b +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +ok 22 - process filter should not be restarted if it signals an error -expecting success of 0060.113 'relative path: /foo/a/b foo/x/y => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' 'foo/x/y')" = '/foo/a/b' -ok 113 - relative path: /foo/a/b foo/x/y => /foo/a/b +expecting success of 0021.23 'process filter abort stops processing of all further files': + test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -ok 114 # skip relative path: d:/a/b D:/a/c => ../b (missing MINGW) + echo "*.r filter=protocol" >.gitattributes && -ok 115 # skip relative path: C:/a/b D:/a/c => C:/a/b (missing MINGW) + cp "$TEST_ROOT/test.o" test.r && + cp "$TEST_ROOT/test2.o" test2.r && + echo "error this blob and all future blobs" >abort.o && + cp abort.o abort.r && -expecting success of 0060.116 'relative path: foo/a/b => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '')" = 'foo/a/b' -ok 116 - relative path: foo/a/b => foo/a/b + M="blob=$(git hash-object abort.r)" && + rm -f debug.log && + SA=$(test_file_size abort.r) && -expecting success of 0060.117 'relative path: foo/a/b => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '')" = 'foo/a/b' -ok 117 - relative path: foo/a/b => foo/a/b + git add . && + rm -f *.r && -expecting success of 0060.118 'relative path: /foo/a/b => ./': test "$(test-tool path-utils relative_path '' '/foo/a/b')" = './' -ok 118 - relative path: /foo/a/b => ./ -expecting success of 0060.119 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' -ok 119 - relative path: => ./ + # Note: This test assumes that Git filters files in alphabetical + # order ("abort.r" before "test.r"). + filter_git checkout --quiet --no-progress . && + cat >expected.log <<-EOF && + START + init handshake complete + IN: smudge abort.r $M $SA [OK] -- [ABORT] + STOP + EOF + test_cmp_exclude_clean expected.log debug.log && -expecting success of 0060.120 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' -ok 120 - relative path: => ./ + test_cmp "$TEST_ROOT/test.o" test.r && + test_cmp "$TEST_ROOT/test2.o" test2.r && + test_cmp abort.o abort.r + ) -expecting success of 0060.121 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' -ok 121 - relative path: => ./ +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +ok 23 - process filter abort stops processing of all further files -expecting success of 0060.122 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' -ok 122 - relative path: => ./ +expecting success of 0021.24 'invalid process filter must fail (and not hang!)': + test_config_global filter.protocol.process cat && + test_config_global filter.protocol.required true && + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && -expecting success of 0060.123 'relative path: /foo/a/b => ./': test "$(test-tool path-utils relative_path '' '/foo/a/b')" = './' -ok 123 - relative path: /foo/a/b => ./ + echo "*.r filter=protocol" >.gitattributes && -expecting success of 0060.124 'git-path A=B info/grafts => .git/info/grafts': - A=B git rev-parse --git-path info/grafts >actual && - echo .git/info/grafts >expect && - test_cmp expect actual - -ok 124 - git-path A=B info/grafts => .git/info/grafts + cp "$TEST_ROOT/test.o" test.r && + test_must_fail git add . 2>git-stderr.log && + grep "expected git-filter-server" git-stderr.log + ) -expecting success of 0060.125 'git-path GIT_GRAFT_FILE=foo info/grafts => foo': - GIT_GRAFT_FILE=foo git rev-parse --git-path info/grafts >actual && - echo foo >expect && - test_cmp expect actual - -ok 125 - git-path GIT_GRAFT_FILE=foo info/grafts => foo +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +error: Unexpected line 'git-filter-client', expected git-filter-server +ok 24 - invalid process filter must fail (and not hang!) -expecting success of 0060.126 'git-path GIT_GRAFT_FILE=foo info/////grafts => foo': - GIT_GRAFT_FILE=foo git rev-parse --git-path info/////grafts >actual && - echo foo >expect && - test_cmp expect actual - -ok 126 - git-path GIT_GRAFT_FILE=foo info/////grafts => foo +expecting success of 0021.25 'delayed checkout in process filter': + test_config_global filter.a.process "rot13-filter.pl a.log clean smudge delay" && + test_config_global filter.a.required true && + test_config_global filter.b.process "rot13-filter.pl b.log clean smudge delay" && + test_config_global filter.b.required true && -expecting success of 0060.127 'git-path GIT_INDEX_FILE=foo index => foo': - GIT_INDEX_FILE=foo git rev-parse --git-path index >actual && - echo foo >expect && - test_cmp expect actual - -ok 127 - git-path GIT_INDEX_FILE=foo index => foo + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && + echo "*.a filter=a" >.gitattributes && + echo "*.b filter=b" >>.gitattributes && + cp "$TEST_ROOT/test.o" test.a && + cp "$TEST_ROOT/test.o" test-delay10.a && + cp "$TEST_ROOT/test.o" test-delay11.a && + cp "$TEST_ROOT/test.o" test-delay20.a && + cp "$TEST_ROOT/test.o" test-delay10.b && + git add . && + git commit -m "test commit" + ) && -expecting success of 0060.128 'git-path GIT_INDEX_FILE=foo index/foo => .git/index/foo': - GIT_INDEX_FILE=foo git rev-parse --git-path index/foo >actual && - echo .git/index/foo >expect && - test_cmp expect actual - -ok 128 - git-path GIT_INDEX_FILE=foo index/foo => .git/index/foo + S=$(test_file_size "$TEST_ROOT/test.o") && + PM="ref=refs/heads/master treeish=$(git -C repo rev-parse --verify master) " && + M="${PM}blob=$(git -C repo rev-parse --verify master:test.a)" && + cat >a.exp <<-EOF && + START + init handshake complete + IN: smudge test.a $M $S [OK] -- OUT: $S . [OK] + IN: smudge test-delay10.a $M $S [OK] -- [DELAYED] + IN: smudge test-delay11.a $M $S [OK] -- [DELAYED] + IN: smudge test-delay20.a $M $S [OK] -- [DELAYED] + IN: list_available_blobs test-delay10.a test-delay11.a [OK] + IN: smudge test-delay10.a $M 0 [OK] -- OUT: $S . [OK] + IN: smudge test-delay11.a $M 0 [OK] -- OUT: $S . [OK] + IN: list_available_blobs test-delay20.a [OK] + IN: smudge test-delay20.a $M 0 [OK] -- OUT: $S . [OK] + IN: list_available_blobs [OK] + STOP + EOF + cat >b.exp <<-EOF && + START + init handshake complete + IN: smudge test-delay10.b $M $S [OK] -- [DELAYED] + IN: list_available_blobs test-delay10.b [OK] + IN: smudge test-delay10.b $M 0 [OK] -- OUT: $S . [OK] + IN: list_available_blobs [OK] + STOP + EOF -expecting success of 0060.129 'git-path GIT_INDEX_FILE=foo index2 => .git/index2': - GIT_INDEX_FILE=foo git rev-parse --git-path index2 >actual && - echo .git/index2 >expect && - test_cmp expect actual - -ok 129 - git-path GIT_INDEX_FILE=foo index2 => .git/index2 + rm -rf repo-cloned && + filter_git clone repo repo-cloned && + test_cmp_count a.exp repo-cloned/a.log && + test_cmp_count b.exp repo-cloned/b.log && -expecting success of 0060.130 'setup fake objects directory foo': mkdir foo -ok 130 - setup fake objects directory foo + ( + cd repo-cloned && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay11.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay20.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.b && -expecting success of 0060.131 'git-path GIT_OBJECT_DIRECTORY=foo objects => foo': - GIT_OBJECT_DIRECTORY=foo git rev-parse --git-path objects >actual && - echo foo >expect && - test_cmp expect actual - -ok 131 - git-path GIT_OBJECT_DIRECTORY=foo objects => foo + rm *.a *.b && + filter_git checkout . && + # We are not checking out a ref here, so filter out ref metadata. + sed -e "s!$PM!!" ../a.exp >a.exp.filtered && + sed -e "s!$PM!!" ../b.exp >b.exp.filtered && + test_cmp_count a.exp.filtered a.log && + test_cmp_count b.exp.filtered b.log && -expecting success of 0060.132 'git-path GIT_OBJECT_DIRECTORY=foo objects/foo => foo/foo': - GIT_OBJECT_DIRECTORY=foo git rev-parse --git-path objects/foo >actual && - echo foo/foo >expect && - test_cmp expect actual - -ok 132 - git-path GIT_OBJECT_DIRECTORY=foo objects/foo => foo/foo + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay11.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay20.a && + test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.b + ) -expecting success of 0060.133 'git-path GIT_OBJECT_DIRECTORY=foo objects2 => .git/objects2': - GIT_OBJECT_DIRECTORY=foo git rev-parse --git-path objects2 >actual && - echo .git/objects2 >expect && - test_cmp expect actual - -ok 133 - git-path GIT_OBJECT_DIRECTORY=foo objects2 => .git/objects2 +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +[master (root-commit) 27d7fe8] test commit + Author: A U Thor + 6 files changed, 17 insertions(+) + create mode 100644 .gitattributes + create mode 100644 test-delay10.a + create mode 100644 test-delay10.b + create mode 100644 test-delay11.a + create mode 100644 test-delay20.a + create mode 100644 test.a +Cloning into 'repo-cloned'... +done. +Updated 9 paths from the index +ok 25 - delayed checkout in process filter + +expecting success of 0021.26 'missing file in delayed checkout': + test_config_global filter.bug.process "rot13-filter.pl bug.log clean smudge delay" && + test_config_global filter.bug.required true && + + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && + echo "*.a filter=bug" >.gitattributes && + cp "$TEST_ROOT/test.o" missing-delay.a && + git add . && + git commit -m "test commit" + ) && + + rm -rf repo-cloned && + test_must_fail git clone repo repo-cloned 2>git-stderr.log && + grep "error: .missing-delay\.a. was not filtered properly" git-stderr.log -expecting success of 0060.134 'setup common repository': git --git-dir=bar init hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -22306,1348 +16098,910 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0060-path-utils/bar/ -ok 134 - setup common repository +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +[master (root-commit) 5567259] test commit + Author: A U Thor + 2 files changed, 4 insertions(+) + create mode 100644 .gitattributes + create mode 100644 missing-delay.a +error: 'missing-delay.a' was not filtered properly +ok 26 - missing file in delayed checkout -expecting success of 0060.135 'git-path GIT_COMMON_DIR=bar index => .git/index': - GIT_COMMON_DIR=bar git rev-parse --git-path index >actual && - echo .git/index >expect && - test_cmp expect actual - -ok 135 - git-path GIT_COMMON_DIR=bar index => .git/index +expecting success of 0021.27 'invalid file in delayed checkout': + test_config_global filter.bug.process "rot13-filter.pl bug.log clean smudge delay" && + test_config_global filter.bug.required true && -expecting success of 0060.136 'git-path GIT_COMMON_DIR=bar index.lock => .git/index.lock': - GIT_COMMON_DIR=bar git rev-parse --git-path index.lock >actual && - echo .git/index.lock >expect && - test_cmp expect actual - -ok 136 - git-path GIT_COMMON_DIR=bar index.lock => .git/index.lock + rm -rf repo && + mkdir repo && + ( + cd repo && + git init && + echo "*.a filter=bug" >.gitattributes && + cp "$TEST_ROOT/test.o" invalid-delay.a && + cp "$TEST_ROOT/test.o" unfiltered && + git add . && + git commit -m "test commit" + ) && -expecting success of 0060.137 'git-path GIT_COMMON_DIR=bar HEAD => .git/HEAD': - GIT_COMMON_DIR=bar git rev-parse --git-path HEAD >actual && - echo .git/HEAD >expect && - test_cmp expect actual - -ok 137 - git-path GIT_COMMON_DIR=bar HEAD => .git/HEAD + rm -rf repo-cloned && + test_must_fail git clone repo repo-cloned 2>git-stderr.log && + grep "error: external filter .* signaled that .unfiltered. is now available although it has not been delayed earlier" git-stderr.log -expecting success of 0060.138 'git-path GIT_COMMON_DIR=bar logs/HEAD => .git/logs/HEAD': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/HEAD >actual && - echo .git/logs/HEAD >expect && - test_cmp expect actual - -ok 138 - git-path GIT_COMMON_DIR=bar logs/HEAD => .git/logs/HEAD +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ +[master (root-commit) 636012f] test commit + Author: A U Thor + 3 files changed, 7 insertions(+) + create mode 100644 .gitattributes + create mode 100644 invalid-delay.a + create mode 100644 unfiltered +error: external filter 'rot13-filter.pl bug.log clean smudge delay' signaled that 'unfiltered' is now available although it has not been delayed earlier +ok 27 - invalid file in delayed checkout -expecting success of 0060.139 'git-path GIT_COMMON_DIR=bar logs/HEAD.lock => .git/logs/HEAD.lock': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/HEAD.lock >actual && - echo .git/logs/HEAD.lock >expect && - test_cmp expect actual - -ok 139 - git-path GIT_COMMON_DIR=bar logs/HEAD.lock => .git/logs/HEAD.lock +checking prerequisite: SYMLINKS -expecting success of 0060.140 'git-path GIT_COMMON_DIR=bar logs/refs/bisect/foo => .git/logs/refs/bisect/foo': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisect/foo >actual && - echo .git/logs/refs/bisect/foo >expect && - test_cmp expect actual - -ok 140 - git-path GIT_COMMON_DIR=bar logs/refs/bisect/foo => .git/logs/refs/bisect/foo +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -expecting success of 0060.141 'git-path GIT_COMMON_DIR=bar logs/refs => bar/logs/refs': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs >actual && - echo bar/logs/refs >expect && - test_cmp expect actual - -ok 141 - git-path GIT_COMMON_DIR=bar logs/refs => bar/logs/refs +) +prerequisite SYMLINKS ok +checking prerequisite: CASE_INSENSITIVE_FS -expecting success of 0060.142 'git-path GIT_COMMON_DIR=bar logs/refs/ => bar/logs/refs/': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/ >actual && - echo bar/logs/refs/ >expect && - test_cmp expect actual - -ok 142 - git-path GIT_COMMON_DIR=bar logs/refs/ => bar/logs/refs/ +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && + echo good >CamelCase && + echo bad >camelcase && + test "$(cat CamelCase)" != good -expecting success of 0060.143 'git-path GIT_COMMON_DIR=bar logs/refs/bisec/foo => bar/logs/refs/bisec/foo': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisec/foo >actual && - echo bar/logs/refs/bisec/foo >expect && - test_cmp expect actual - -ok 143 - git-path GIT_COMMON_DIR=bar logs/refs/bisec/foo => bar/logs/refs/bisec/foo +) +prerequisite CASE_INSENSITIVE_FS not satisfied +ok 28 # skip delayed checkout with case-collision don't write to the wrong place (missing CASE_INSENSITIVE_FS of PERL,SYMLINKS,CASE_INSENSITIVE_FS) -expecting success of 0060.144 'git-path GIT_COMMON_DIR=bar logs/refs/bisec => bar/logs/refs/bisec': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisec >actual && - echo bar/logs/refs/bisec >expect && - test_cmp expect actual - -ok 144 - git-path GIT_COMMON_DIR=bar logs/refs/bisec => bar/logs/refs/bisec +checking prerequisite: UTF8_NFD_TO_NFC -expecting success of 0060.145 'git-path GIT_COMMON_DIR=bar logs/refs/bisectfoo => bar/logs/refs/bisectfoo': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisectfoo >actual && - echo bar/logs/refs/bisectfoo >expect && - test_cmp expect actual - -ok 145 - git-path GIT_COMMON_DIR=bar logs/refs/bisectfoo => bar/logs/refs/bisectfoo +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && + # check whether FS converts nfd unicode to nfc + auml=$(printf "\303\244") + aumlcdiar=$(printf "\141\314\210") + >"$auml" && + test -f "$aumlcdiar" -expecting success of 0060.146 'git-path GIT_COMMON_DIR=bar objects => bar/objects': - GIT_COMMON_DIR=bar git rev-parse --git-path objects >actual && - echo bar/objects >expect && - test_cmp expect actual - -ok 146 - git-path GIT_COMMON_DIR=bar objects => bar/objects +) +prerequisite UTF8_NFD_TO_NFC not satisfied +ok 29 # skip delayed checkout with utf-8-collision don't write to the wrong place (missing UTF8_NFD_TO_NFC of PERL,SYMLINKS,UTF8_NFD_TO_NFC) -expecting success of 0060.147 'git-path GIT_COMMON_DIR=bar objects/bar => bar/objects/bar': - GIT_COMMON_DIR=bar git rev-parse --git-path objects/bar >actual && - echo bar/objects/bar >expect && - test_cmp expect actual - -ok 147 - git-path GIT_COMMON_DIR=bar objects/bar => bar/objects/bar +ok 30 # skip delayed checkout with submodule collision don't write to the wrong place (missing CASE_INSENSITIVE_FS of PERL,SYMLINKS,CASE_INSENSITIVE_FS) -expecting success of 0060.148 'git-path GIT_COMMON_DIR=bar info/exclude => bar/info/exclude': - GIT_COMMON_DIR=bar git rev-parse --git-path info/exclude >actual && - echo bar/info/exclude >expect && - test_cmp expect actual +# passed all 30 test(s) +1..30 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0063-string-list.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0063-string-list/.git/ +expecting success of 0063.1 'split foo:bar:baz at :, max -1': + test-tool string-list split 'foo:bar:baz' ':' '-1' >actual && + test_cmp expected actual && + test-tool string-list split_in_place 'foo:bar:baz' ':' '-1' >actual && + test_cmp expected actual -ok 148 - git-path GIT_COMMON_DIR=bar info/exclude => bar/info/exclude +ok 1 - split foo:bar:baz at :, max -1 -expecting success of 0060.149 'git-path GIT_COMMON_DIR=bar info/grafts => bar/info/grafts': - GIT_COMMON_DIR=bar git rev-parse --git-path info/grafts >actual && - echo bar/info/grafts >expect && - test_cmp expect actual +expecting success of 0063.2 'split foo:bar:baz at :, max 0': + test-tool string-list split 'foo:bar:baz' ':' '0' >actual && + test_cmp expected actual && + test-tool string-list split_in_place 'foo:bar:baz' ':' '0' >actual && + test_cmp expected actual -ok 149 - git-path GIT_COMMON_DIR=bar info/grafts => bar/info/grafts +ok 2 - split foo:bar:baz at :, max 0 -expecting success of 0060.150 'git-path GIT_COMMON_DIR=bar info/sparse-checkout => .git/info/sparse-checkout': - GIT_COMMON_DIR=bar git rev-parse --git-path info/sparse-checkout >actual && - echo .git/info/sparse-checkout >expect && - test_cmp expect actual +expecting success of 0063.3 'split foo:bar:baz at :, max 1': + test-tool string-list split 'foo:bar:baz' ':' '1' >actual && + test_cmp expected actual && + test-tool string-list split_in_place 'foo:bar:baz' ':' '1' >actual && + test_cmp expected actual -ok 150 - git-path GIT_COMMON_DIR=bar info/sparse-checkout => .git/info/sparse-checkout +ok 3 - split foo:bar:baz at :, max 1 -expecting success of 0060.151 'git-path GIT_COMMON_DIR=bar info//sparse-checkout => .git/info//sparse-checkout': - GIT_COMMON_DIR=bar git rev-parse --git-path info//sparse-checkout >actual && - echo .git/info//sparse-checkout >expect && - test_cmp expect actual +expecting success of 0063.4 'split foo:bar:baz at :, max 2': + test-tool string-list split 'foo:bar:baz' ':' '2' >actual && + test_cmp expected actual && + test-tool string-list split_in_place 'foo:bar:baz' ':' '2' >actual && + test_cmp expected actual -ok 151 - git-path GIT_COMMON_DIR=bar info//sparse-checkout => .git/info//sparse-checkout +ok 4 - split foo:bar:baz at :, max 2 -expecting success of 0060.152 'git-path GIT_COMMON_DIR=bar remotes/bar => bar/remotes/bar': - GIT_COMMON_DIR=bar git rev-parse --git-path remotes/bar >actual && - echo bar/remotes/bar >expect && - test_cmp expect actual +expecting success of 0063.5 'split foo:bar: at :, max -1': + test-tool string-list split 'foo:bar:' ':' '-1' >actual && + test_cmp expected actual && + test-tool string-list split_in_place 'foo:bar:' ':' '-1' >actual && + test_cmp expected actual -ok 152 - git-path GIT_COMMON_DIR=bar remotes/bar => bar/remotes/bar +ok 5 - split foo:bar: at :, max -1 -expecting success of 0060.153 'git-path GIT_COMMON_DIR=bar branches/bar => bar/branches/bar': - GIT_COMMON_DIR=bar git rev-parse --git-path branches/bar >actual && - echo bar/branches/bar >expect && - test_cmp expect actual +expecting success of 0063.6 'split at :, max -1': + test-tool string-list split '' ':' '-1' >actual && + test_cmp expected actual && + test-tool string-list split_in_place '' ':' '-1' >actual && + test_cmp expected actual -ok 153 - git-path GIT_COMMON_DIR=bar branches/bar => bar/branches/bar +ok 6 - split at :, max -1 -expecting success of 0060.154 'git-path GIT_COMMON_DIR=bar logs/refs/heads/master => bar/logs/refs/heads/master': - GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/heads/master >actual && - echo bar/logs/refs/heads/master >expect && - test_cmp expect actual +expecting success of 0063.7 'split : at :, max -1': + test-tool string-list split ':' ':' '-1' >actual && + test_cmp expected actual && + test-tool string-list split_in_place ':' ':' '-1' >actual && + test_cmp expected actual -ok 154 - git-path GIT_COMMON_DIR=bar logs/refs/heads/master => bar/logs/refs/heads/master +ok 7 - split : at :, max -1 -expecting success of 0060.155 'git-path GIT_COMMON_DIR=bar refs/heads/master => bar/refs/heads/master': - GIT_COMMON_DIR=bar git rev-parse --git-path refs/heads/master >actual && - echo bar/refs/heads/master >expect && - test_cmp expect actual - -ok 155 - git-path GIT_COMMON_DIR=bar refs/heads/master => bar/refs/heads/master +expecting success of 0063.8 'test filter_string_list': + test "x-" = "x$(test-tool string-list filter - y)" && + test "x-" = "x$(test-tool string-list filter no y)" && + test yes = "$(test-tool string-list filter yes y)" && + test yes = "$(test-tool string-list filter no:yes y)" && + test yes = "$(test-tool string-list filter yes:no y)" && + test y1:y2 = "$(test-tool string-list filter y1:y2 y)" && + test y2:y1 = "$(test-tool string-list filter y2:y1 y)" && + test "x-" = "x$(test-tool string-list filter x1:x2 y)" -expecting success of 0060.156 'git-path GIT_COMMON_DIR=bar refs/bisect/foo => .git/refs/bisect/foo': - GIT_COMMON_DIR=bar git rev-parse --git-path refs/bisect/foo >actual && - echo .git/refs/bisect/foo >expect && - test_cmp expect actual - -ok 156 - git-path GIT_COMMON_DIR=bar refs/bisect/foo => .git/refs/bisect/foo +ok 8 - test filter_string_list -expecting success of 0060.157 'git-path GIT_COMMON_DIR=bar hooks/me => bar/hooks/me': - GIT_COMMON_DIR=bar git rev-parse --git-path hooks/me >actual && - echo bar/hooks/me >expect && - test_cmp expect actual - -ok 157 - git-path GIT_COMMON_DIR=bar hooks/me => bar/hooks/me +expecting success of 0063.9 'test remove_duplicates': + test "x-" = "x$(test-tool string-list remove_duplicates -)" && + test "x" = "x$(test-tool string-list remove_duplicates "")" && + test a = "$(test-tool string-list remove_duplicates a)" && + test a = "$(test-tool string-list remove_duplicates a:a)" && + test a = "$(test-tool string-list remove_duplicates a:a:a:a:a)" && + test a:b = "$(test-tool string-list remove_duplicates a:b)" && + test a:b = "$(test-tool string-list remove_duplicates a:a:b)" && + test a:b = "$(test-tool string-list remove_duplicates a:b:b)" && + test a:b:c = "$(test-tool string-list remove_duplicates a:b:c)" && + test a:b:c = "$(test-tool string-list remove_duplicates a:a:b:c)" && + test a:b:c = "$(test-tool string-list remove_duplicates a:b:b:c)" && + test a:b:c = "$(test-tool string-list remove_duplicates a:b:c:c)" && + test a:b:c = "$(test-tool string-list remove_duplicates a:a:b:b:c:c)" && + test a:b:c = "$(test-tool string-list remove_duplicates a:a:a:b:b:b:c:c:c)" -expecting success of 0060.158 'git-path GIT_COMMON_DIR=bar config => bar/config': - GIT_COMMON_DIR=bar git rev-parse --git-path config >actual && - echo bar/config >expect && - test_cmp expect actual - -ok 158 - git-path GIT_COMMON_DIR=bar config => bar/config +ok 9 - test remove_duplicates -expecting success of 0060.159 'git-path GIT_COMMON_DIR=bar packed-refs => bar/packed-refs': - GIT_COMMON_DIR=bar git rev-parse --git-path packed-refs >actual && - echo bar/packed-refs >expect && - test_cmp expect actual - -ok 159 - git-path GIT_COMMON_DIR=bar packed-refs => bar/packed-refs +# passed all 9 test(s) +1..9 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0064-oid-array.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0064-oid-array/.git/ +expecting success of 0064.1 'ordered enumeration': + echoid "" 44 55 88 aa >expect && + { + echoid append 88 44 aa 55 && + echo for_each_unique + } | test-tool oid-array >actual && + test_cmp expect actual -expecting success of 0060.160 'git-path GIT_COMMON_DIR=bar shallow => bar/shallow': - GIT_COMMON_DIR=bar git rev-parse --git-path shallow >actual && - echo bar/shallow >expect && - test_cmp expect actual - -ok 160 - git-path GIT_COMMON_DIR=bar shallow => bar/shallow +ok 1 - ordered enumeration -expecting success of 0060.161 'git-path GIT_COMMON_DIR=bar common => bar/common': - GIT_COMMON_DIR=bar git rev-parse --git-path common >actual && - echo bar/common >expect && - test_cmp expect actual - -ok 161 - git-path GIT_COMMON_DIR=bar common => bar/common +expecting success of 0064.2 'ordered enumeration with duplicate suppression': + echoid "" 44 55 88 aa >expect && + { + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echo for_each_unique + } | test-tool oid-array >actual && + test_cmp expect actual -expecting success of 0060.162 'git-path GIT_COMMON_DIR=bar common/file => bar/common/file': - GIT_COMMON_DIR=bar git rev-parse --git-path common/file >actual && - echo bar/common/file >expect && - test_cmp expect actual - -ok 162 - git-path GIT_COMMON_DIR=bar common/file => bar/common/file +ok 2 - ordered enumeration with duplicate suppression -expecting success of 0060.163 'test_submodule_relative_url: ../ ../foo ../submodule => ../../submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' '../foo' '../submodule') && - test "$actual" = '../../submodule' - -ok 163 - test_submodule_relative_url: ../ ../foo ../submodule => ../../submodule +expecting success of 0064.3 'lookup': + { + echoid append 88 44 aa 55 && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -eq 1 -expecting success of 0060.164 'test_submodule_relative_url: ../ ../foo/bar ../submodule => ../../foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' '../foo/bar' '../submodule') && - test "$actual" = '../../foo/submodule' - -ok 164 - test_submodule_relative_url: ../ ../foo/bar ../submodule => ../../foo/submodule +ok 3 - lookup -expecting success of 0060.165 'test_submodule_relative_url: ../ ../foo/submodule ../submodule => ../../foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' '../foo/submodule' '../submodule') && - test "$actual" = '../../foo/submodule' - -ok 165 - test_submodule_relative_url: ../ ../foo/submodule ../submodule => ../../foo/submodule +expecting success of 0064.4 'lookup non-existing entry': + { + echoid append 88 44 aa 55 && + echoid lookup 33 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -lt 0 -expecting success of 0060.166 'test_submodule_relative_url: ../ ./foo ../submodule => ../submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' './foo' '../submodule') && - test "$actual" = '../submodule' - -ok 166 - test_submodule_relative_url: ../ ./foo ../submodule => ../submodule +ok 4 - lookup non-existing entry -expecting success of 0060.167 'test_submodule_relative_url: ../ ./foo/bar ../submodule => ../foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' './foo/bar' '../submodule') && - test "$actual" = '../foo/submodule' - -ok 167 - test_submodule_relative_url: ../ ./foo/bar ../submodule => ../foo/submodule +expecting success of 0064.5 'lookup with duplicates': + { + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -ge 3 && + test "$n" -le 5 -expecting success of 0060.168 'test_submodule_relative_url: ../../../ ../foo/bar ../sub/a/b/c => ../../../../foo/sub/a/b/c': - actual=$(git submodule--helper resolve-relative-url-test '../../../' '../foo/bar' '../sub/a/b/c') && - test "$actual" = '../../../../foo/sub/a/b/c' - -ok 168 - test_submodule_relative_url: ../../../ ../foo/bar ../sub/a/b/c => ../../../../foo/sub/a/b/c +ok 5 - lookup with duplicates -expecting success of 0060.169 'test_submodule_relative_url: ../ /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo': - actual=$(git submodule--helper resolve-relative-url-test '../' '/build/git-2.30.2/t/trash directory.t0060-path-utils/addtest' '../repo') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/repo' - -ok 169 - test_submodule_relative_url: ../ /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo +expecting success of 0064.6 'lookup non-existing entry with duplicates': + { + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid append 88 44 aa 55 && + echoid lookup 66 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -lt 0 -expecting success of 0060.170 'test_submodule_relative_url: ../ foo/bar ../submodule => ../foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' 'foo/bar' '../submodule') && - test "$actual" = '../foo/submodule' - -ok 170 - test_submodule_relative_url: ../ foo/bar ../submodule => ../foo/submodule +ok 6 - lookup non-existing entry with duplicates -expecting success of 0060.171 'test_submodule_relative_url: ../ foo ../submodule => ../submodule': - actual=$(git submodule--helper resolve-relative-url-test '../' 'foo' '../submodule') && - test "$actual" = '../submodule' - -ok 171 - test_submodule_relative_url: ../ foo ../submodule => ../submodule +expecting success of 0064.7 'lookup with almost duplicate values': + # n-1 5s + root=$(echoid "" 55) && + root=${root%5} && + { + id1="${root}5" && + id2="${root}f" && + echo "append $id1" && + echo "append $id2" && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -eq 0 -expecting success of 0060.172 'test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c => ../foo/sub/a/b/c': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar' '../sub/a/b/c') && - test "$actual" = '../foo/sub/a/b/c' - -ok 172 - test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c => ../foo/sub/a/b/c +ok 7 - lookup with almost duplicate values -expecting success of 0060.173 'test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c/ => ../foo/sub/a/b/c': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar' '../sub/a/b/c/') && - test "$actual" = '../foo/sub/a/b/c' - -ok 173 - test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c/ => ../foo/sub/a/b/c +expecting success of 0064.8 'lookup with single duplicate value': + { + echoid append 55 55 && + echoid lookup 55 + } | test-tool oid-array >actual && + n=$(cat actual) && + test "$n" -ge 0 && + test "$n" -le 1 -expecting success of 0060.174 'test_submodule_relative_url: (null) ../foo/bar/ ../sub/a/b/c => ../foo/sub/a/b/c': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar/' '../sub/a/b/c') && - test "$actual" = '../foo/sub/a/b/c' - -ok 174 - test_submodule_relative_url: (null) ../foo/bar/ ../sub/a/b/c => ../foo/sub/a/b/c +ok 8 - lookup with single duplicate value -expecting success of 0060.175 'test_submodule_relative_url: (null) ../foo/bar ../submodule => ../foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar' '../submodule') && - test "$actual" = '../foo/submodule' +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0065-strcmp-offset.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0065-strcmp-offset/.git/ +expecting success of 0065.1 'strcmp_offset(abc, abc)': + echo "$expect" >expect && + test-tool strcmp-offset "$s1" "$s2" >actual && + test_cmp expect actual -ok 175 - test_submodule_relative_url: (null) ../foo/bar ../submodule => ../foo/submodule +ok 1 - strcmp_offset(abc, abc) -expecting success of 0060.176 'test_submodule_relative_url: (null) ../foo/submodule ../submodule => ../foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/submodule' '../submodule') && - test "$actual" = '../foo/submodule' +expecting success of 0065.2 'strcmp_offset(abc, def)': + echo "$expect" >expect && + test-tool strcmp-offset "$s1" "$s2" >actual && + test_cmp expect actual -ok 176 - test_submodule_relative_url: (null) ../foo/submodule ../submodule => ../foo/submodule +ok 2 - strcmp_offset(abc, def) -expecting success of 0060.177 'test_submodule_relative_url: (null) ../foo ../submodule => ../submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo' '../submodule') && - test "$actual" = '../submodule' +expecting success of 0065.3 'strcmp_offset(abc, abz)': + echo "$expect" >expect && + test-tool strcmp-offset "$s1" "$s2" >actual && + test_cmp expect actual -ok 177 - test_submodule_relative_url: (null) ../foo ../submodule => ../submodule +ok 3 - strcmp_offset(abc, abz) -expecting success of 0060.178 'test_submodule_relative_url: (null) ./foo/bar ../submodule => foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' './foo/bar' '../submodule') && - test "$actual" = 'foo/submodule' +expecting success of 0065.4 'strcmp_offset(abc, abcdef)': + echo "$expect" >expect && + test-tool strcmp-offset "$s1" "$s2" >actual && + test_cmp expect actual -ok 178 - test_submodule_relative_url: (null) ./foo/bar ../submodule => foo/submodule +ok 4 - strcmp_offset(abc, abcdef) -expecting success of 0060.179 'test_submodule_relative_url: (null) ./foo ../submodule => submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' './foo' '../submodule') && - test "$actual" = 'submodule' - -ok 179 - test_submodule_relative_url: (null) ./foo ../submodule => submodule +# passed all 4 test(s) +1..4 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0067-parse_pathspec_file.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0067-parse_pathspec_file/.git/ +expecting success of 0067.1 'one item from stdin': + cat >expect <<-\EOF && + fileA.t + EOF -expecting success of 0060.180 'test_submodule_relative_url: (null) //somewhere else/repo ../subrepo => //somewhere else/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../subrepo') && - test "$actual" = '//somewhere else/subrepo' - -ok 180 - test_submodule_relative_url: (null) //somewhere else/repo ../subrepo => //somewhere else/subrepo + echo fileA.t | + test-tool parse-pathspec-file --pathspec-from-file=- >actual && -expecting success of 0060.181 'test_submodule_relative_url: (null) //somewhere else/repo ../../subrepo => //subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../../subrepo') && - test "$actual" = '//subrepo' - -ok 181 - test_submodule_relative_url: (null) //somewhere else/repo ../../subrepo => //subrepo + test_cmp expect actual -expecting success of 0060.182 'test_submodule_relative_url: (null) //somewhere else/repo ../../../subrepo => /subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../../../subrepo') && - test "$actual" = '/subrepo' - -ok 182 - test_submodule_relative_url: (null) //somewhere else/repo ../../../subrepo => /subrepo +ok 1 - one item from stdin -expecting success of 0060.183 'test_submodule_relative_url: (null) //somewhere else/repo ../../../../subrepo => subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../../../../subrepo') && - test "$actual" = 'subrepo' - -ok 183 - test_submodule_relative_url: (null) //somewhere else/repo ../../../../subrepo => subrepo +expecting success of 0067.2 'one item from file': + cat >expect <<-\EOF && + fileA.t + EOF -expecting success of 0060.184 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r ../subsubsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsubsuper_update_r': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r' '../subsubsuper_update_r') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/subsubsuper_update_r' - -ok 184 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r ../subsubsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsubsuper_update_r + echo fileA.t >list && + test-tool parse-pathspec-file --pathspec-from-file=list >actual && -expecting success of 0060.185 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/super_update_r2 ../subsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/super_update_r2' '../subsuper_update_r') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r' - -ok 185 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/super_update_r2 ../subsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r + test_cmp expect actual -expecting success of 0060.186 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../. => /build/git-2.30.2/t/trash directory.t0060-path-utils/.': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' '../.') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' - -ok 186 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../. => /build/git-2.30.2/t/trash directory.t0060-path-utils/. +ok 2 - one item from file -expecting success of 0060.187 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/.': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils' './.') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' - -ok 187 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/. +expecting success of 0067.3 'NUL delimiters': + cat >expect <<-\EOF && + fileA.t + fileB.t + EOF -expecting success of 0060.188 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/addtest' '../repo') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/repo' - -ok 188 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo + printf "fileA.t\0fileB.t\0" | + test-tool parse-pathspec-file --pathspec-from-file=- --pathspec-file-nul >actual && -expecting success of 0060.189 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./Ã¥ äö => /build/git-2.30.2/t/trash directory.t0060-path-utils/Ã¥ äö': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils' './Ã¥ äö') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/Ã¥ äö' - -ok 189 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./Ã¥ äö => /build/git-2.30.2/t/trash directory.t0060-path-utils/Ã¥ äö + test_cmp expect actual -expecting success of 0060.190 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' '../submodule') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule' - -ok 190 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule +ok 3 - NUL delimiters -expecting success of 0060.191 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule' '../submodule') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule' - -ok 191 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule +expecting success of 0067.4 'LF delimiters': + cat >expect <<-\EOF && + fileA.t + fileB.t + EOF -expecting success of 0060.192 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../remote ../bundle1 => /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../bundle1': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../remote' '../bundle1') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../bundle1' - -ok 192 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../remote ../bundle1 => /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../bundle1 + printf "fileA.t\nfileB.t\n" | + test-tool parse-pathspec-file --pathspec-from-file=- >actual && -expecting success of 0060.193 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo/.': - actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo' './.') && - test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo/.' - -ok 193 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo/. + test_cmp expect actual -expecting success of 0060.194 'test_submodule_relative_url: (null) file:///tmp/repo ../subrepo => file:///tmp/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'file:///tmp/repo' '../subrepo') && - test "$actual" = 'file:///tmp/subrepo' - -ok 194 - test_submodule_relative_url: (null) file:///tmp/repo ../subrepo => file:///tmp/subrepo +ok 4 - LF delimiters -expecting success of 0060.195 'test_submodule_relative_url: (null) foo/bar ../submodule => foo/submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'foo/bar' '../submodule') && - test "$actual" = 'foo/submodule' - -ok 195 - test_submodule_relative_url: (null) foo/bar ../submodule => foo/submodule +expecting success of 0067.5 'no trailing delimiter': + cat >expect <<-\EOF && + fileA.t + fileB.t + EOF -expecting success of 0060.196 'test_submodule_relative_url: (null) foo ../submodule => submodule': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'foo' '../submodule') && - test "$actual" = 'submodule' - -ok 196 - test_submodule_relative_url: (null) foo ../submodule => submodule + printf "fileA.t\nfileB.t" | + test-tool parse-pathspec-file --pathspec-from-file=- >actual && -expecting success of 0060.197 'test_submodule_relative_url: (null) helper:://hostname/repo ../subrepo => helper:://hostname/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../subrepo') && - test "$actual" = 'helper:://hostname/subrepo' - -ok 197 - test_submodule_relative_url: (null) helper:://hostname/repo ../subrepo => helper:://hostname/subrepo + test_cmp expect actual -expecting success of 0060.198 'test_submodule_relative_url: (null) helper:://hostname/repo ../../subrepo => helper:://subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../subrepo') && - test "$actual" = 'helper:://subrepo' - -ok 198 - test_submodule_relative_url: (null) helper:://hostname/repo ../../subrepo => helper:://subrepo +ok 5 - no trailing delimiter -expecting success of 0060.199 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../subrepo => helper::/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../subrepo') && - test "$actual" = 'helper::/subrepo' - -ok 199 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../subrepo => helper::/subrepo +expecting success of 0067.6 'CRLF delimiters': + cat >expect <<-\EOF && + fileA.t + fileB.t + EOF -expecting success of 0060.200 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../../subrepo => helper::subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../../subrepo') && - test "$actual" = 'helper::subrepo' - -ok 200 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../subrepo => helper::subrepo + printf "fileA.t\r\nfileB.t\r\n" | + test-tool parse-pathspec-file --pathspec-from-file=- >actual && -expecting success of 0060.201 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../subrepo => helper:subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../../../subrepo') && - test "$actual" = 'helper:subrepo' - -ok 201 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../subrepo => helper:subrepo + test_cmp expect actual -expecting success of 0060.202 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../../subrepo => .:subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../../../../subrepo') && - test "$actual" = '.:subrepo' - -ok 202 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../../subrepo => .:subrepo +ok 6 - CRLF delimiters -expecting success of 0060.203 'test_submodule_relative_url: (null) ssh://hostname/repo ../subrepo => ssh://hostname/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../subrepo') && - test "$actual" = 'ssh://hostname/subrepo' - -ok 203 - test_submodule_relative_url: (null) ssh://hostname/repo ../subrepo => ssh://hostname/subrepo +expecting success of 0067.7 'quotes': + cat >expect <<-\EOF && + fileA.t + EOF -expecting success of 0060.204 'test_submodule_relative_url: (null) ssh://hostname/repo ../../subrepo => ssh://subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../subrepo') && - test "$actual" = 'ssh://subrepo' - -ok 204 - test_submodule_relative_url: (null) ssh://hostname/repo ../../subrepo => ssh://subrepo + cat >list <<-\EOF && + "file\101.t" + EOF -expecting success of 0060.205 'test_submodule_relative_url: (null) ssh://hostname/repo ../../../subrepo => ssh:/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../../subrepo') && - test "$actual" = 'ssh:/subrepo' - -ok 205 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../subrepo => ssh:/subrepo + test-tool parse-pathspec-file --pathspec-from-file=list >actual && -expecting success of 0060.206 'test_submodule_relative_url: (null) ssh://hostname/repo ../../../../subrepo => ssh:subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../../../subrepo') && - test "$actual" = 'ssh:subrepo' - -ok 206 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../../subrepo => ssh:subrepo + test_cmp expect actual -expecting success of 0060.207 'test_submodule_relative_url: (null) ssh://hostname/repo ../../../../../subrepo => .:subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../../../../subrepo') && - test "$actual" = '.:subrepo' - -ok 207 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../../../subrepo => .:subrepo +ok 7 - quotes -expecting success of 0060.208 'test_submodule_relative_url: (null) ssh://hostname:22/repo ../subrepo => ssh://hostname:22/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname:22/repo' '../subrepo') && - test "$actual" = 'ssh://hostname:22/subrepo' - -ok 208 - test_submodule_relative_url: (null) ssh://hostname:22/repo ../subrepo => ssh://hostname:22/subrepo +expecting success of 0067.8 '--pathspec-file-nul takes quotes literally': + # Note: there is an extra newline because --pathspec-file-nul takes + # input \n literally, too + cat >expect <<-\EOF && + "file\101.t" -expecting success of 0060.209 'test_submodule_relative_url: (null) user@host:path/to/repo ../subrepo => user@host:path/to/subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'user@host:path/to/repo' '../subrepo') && - test "$actual" = 'user@host:path/to/subrepo' - -ok 209 - test_submodule_relative_url: (null) user@host:path/to/repo ../subrepo => user@host:path/to/subrepo + EOF -expecting success of 0060.210 'test_submodule_relative_url: (null) user@host:repo ../subrepo => user@host:subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'user@host:repo' '../subrepo') && - test "$actual" = 'user@host:subrepo' - -ok 210 - test_submodule_relative_url: (null) user@host:repo ../subrepo => user@host:subrepo + cat >list <<-\EOF && + "file\101.t" + EOF -expecting success of 0060.211 'test_submodule_relative_url: (null) user@host:repo ../../subrepo => .:subrepo': - actual=$(git submodule--helper resolve-relative-url-test '(null)' 'user@host:repo' '../../subrepo') && - test "$actual" = '.:subrepo' - -ok 211 - test_submodule_relative_url: (null) user@host:repo ../../subrepo => .:subrepo + test-tool parse-pathspec-file --pathspec-from-file=list --pathspec-file-nul >actual && -expecting success of 0060.212 'match .gitmodules': - test-tool path-utils is_dotgitmodules \ - .gitmodules \ - \ - .git${u200c}modules \ - \ - .Gitmodules \ - .gitmoduleS \ - \ - ".gitmodules " \ - ".gitmodules." \ - ".gitmodules " \ - ".gitmodules. " \ - ".gitmodules ." \ - ".gitmodules.." \ - ".gitmodules " \ - ".gitmodules. " \ - ".gitmodules . " \ - ".gitmodules ." \ - \ - ".Gitmodules " \ - ".Gitmodules." \ - ".Gitmodules " \ - ".Gitmodules. " \ - ".Gitmodules ." \ - ".Gitmodules.." \ - ".Gitmodules " \ - ".Gitmodules. " \ - ".Gitmodules . " \ - ".Gitmodules ." \ - \ - GITMOD~1 \ - gitmod~1 \ - GITMOD~2 \ - gitmod~3 \ - GITMOD~4 \ - \ - "GITMOD~1 " \ - "gitmod~2." \ - "GITMOD~3 " \ - "gitmod~4. " \ - "GITMOD~1 ." \ - "gitmod~2 " \ - "GITMOD~3. " \ - "gitmod~4 . " \ - \ - GI7EBA~1 \ - gi7eba~9 \ - \ - GI7EB~10 \ - GI7EB~11 \ - GI7EB~99 \ - GI7EB~10 \ - GI7E~100 \ - GI7E~101 \ - GI7E~999 \ - ~1000000 \ - ~9999999 \ - \ - .gitmodules:\$DATA \ - "gitmod~4 . :\$DATA" \ - \ - --not \ - ".gitmodules x" \ - ".gitmodules .x" \ - \ - " .gitmodules" \ - \ - ..gitmodules \ - \ - gitmodules \ - \ - .gitmodule \ - \ - ".gitmodules x " \ - ".gitmodules .x" \ - \ - GI7EBA~ \ - GI7EBA~0 \ - GI7EBA~~1 \ - GI7EBA~X \ - Gx7EBA~1 \ - GI7EBX~1 \ - \ - GI7EB~1 \ - GI7EB~01 \ - GI7EB~1X \ - \ - .gitmodules,:\$DATA + test_cmp expect actual -ok: '.gitmodules' is .gitmodules -ok: '.git‌modules' is .gitmodules -ok: '.Gitmodules' is .gitmodules -ok: '.gitmoduleS' is .gitmodules -ok: '.gitmodules ' is .gitmodules -ok: '.gitmodules.' is .gitmodules -ok: '.gitmodules ' is .gitmodules -ok: '.gitmodules. ' is .gitmodules -ok: '.gitmodules .' is .gitmodules -ok: '.gitmodules..' is .gitmodules -ok: '.gitmodules ' is .gitmodules -ok: '.gitmodules. ' is .gitmodules -ok: '.gitmodules . ' is .gitmodules -ok: '.gitmodules .' is .gitmodules -ok: '.Gitmodules ' is .gitmodules -ok: '.Gitmodules.' is .gitmodules -ok: '.Gitmodules ' is .gitmodules -ok: '.Gitmodules. ' is .gitmodules -ok: '.Gitmodules .' is .gitmodules -ok: '.Gitmodules..' is .gitmodules -ok: '.Gitmodules ' is .gitmodules -ok: '.Gitmodules. ' is .gitmodules -ok: '.Gitmodules . ' is .gitmodules -ok: '.Gitmodules .' is .gitmodules -ok: 'GITMOD~1' is .gitmodules -ok: 'gitmod~1' is .gitmodules -ok: 'GITMOD~2' is .gitmodules -ok: 'gitmod~3' is .gitmodules -ok: 'GITMOD~4' is .gitmodules -ok: 'GITMOD~1 ' is .gitmodules -ok: 'gitmod~2.' is .gitmodules -ok: 'GITMOD~3 ' is .gitmodules -ok: 'gitmod~4. ' is .gitmodules -ok: 'GITMOD~1 .' is .gitmodules -ok: 'gitmod~2 ' is .gitmodules -ok: 'GITMOD~3. ' is .gitmodules -ok: 'gitmod~4 . ' is .gitmodules -ok: 'GI7EBA~1' is .gitmodules -ok: 'gi7eba~9' is .gitmodules -ok: 'GI7EB~10' is .gitmodules -ok: 'GI7EB~11' is .gitmodules -ok: 'GI7EB~99' is .gitmodules -ok: 'GI7EB~10' is .gitmodules -ok: 'GI7E~100' is .gitmodules -ok: 'GI7E~101' is .gitmodules -ok: 'GI7E~999' is .gitmodules -ok: '~1000000' is .gitmodules -ok: '~9999999' is .gitmodules -ok: '.gitmodules:$DATA' is .gitmodules -ok: 'gitmod~4 . :$DATA' is .gitmodules -ok: '.gitmodules x' is not .gitmodules -ok: '.gitmodules .x' is not .gitmodules -ok: ' .gitmodules' is not .gitmodules -ok: '..gitmodules' is not .gitmodules -ok: 'gitmodules' is not .gitmodules -ok: '.gitmodule' is not .gitmodules -ok: '.gitmodules x ' is not .gitmodules -ok: '.gitmodules .x' is not .gitmodules -ok: 'GI7EBA~' is not .gitmodules -ok: 'GI7EBA~0' is not .gitmodules -ok: 'GI7EBA~~1' is not .gitmodules -ok: 'GI7EBA~X' is not .gitmodules -ok: 'Gx7EBA~1' is not .gitmodules -ok: 'GI7EBX~1' is not .gitmodules -ok: 'GI7EB~1' is not .gitmodules -ok: 'GI7EB~01' is not .gitmodules -ok: 'GI7EB~1X' is not .gitmodules -ok: '.gitmodules,:$DATA' is not .gitmodules -ok 212 - match .gitmodules +ok 8 - --pathspec-file-nul takes quotes literally -ok 213 # skip is_valid_path() on Windows (missing MINGW) +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0068-for-each-repo.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/.git/ +expecting success of 0068.1 'run based on configured value': + git init one && + git init two && + git init three && + git -C two commit --allow-empty -m "DID NOT RUN" && + git config run.key "$TRASH_DIRECTORY/one" && + git config --add run.key "$TRASH_DIRECTORY/three" && + git for-each-repo --config=run.key commit --allow-empty -m "ran" && + git -C one log -1 --pretty=format:%s >message && + grep ran message && + git -C two log -1 --pretty=format:%s >message && + ! grep ran message && + git -C three log -1 --pretty=format:%s >message && + grep ran message && + git for-each-repo --config=run.key -- commit --allow-empty -m "ran again" && + git -C one log -1 --pretty=format:%s >message && + grep again message && + git -C two log -1 --pretty=format:%s >message && + ! grep again message && + git -C three log -1 --pretty=format:%s >message && + grep again message -# passed all 213 test(s) -1..213 +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/one/.git/ +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/two/.git/ +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0068-for-each-repo/three/.git/ +[master (root-commit) 20fd2df] DID NOT RUN + Author: A U Thor +[master (root-commit) 3c2529d] ran + Author: A U Thor +[master (root-commit) 3c2529d] ran + Author: A U Thor +ran +ran +[master 3fc5dd1] ran again + Author: A U Thor +[master 3fc5dd1] ran again + Author: A U Thor +ran again +ran again +ok 1 - run based on configured value + +expecting success of 0068.2 'do nothing on empty config': + # the whole thing would fail if for-each-ref iterated even + # once, because "git help --no-such-option" would fail + git for-each-repo --config=bogus.config -- help --no-such-option + +ok 2 - do nothing on empty config + +# passed all 2 test(s) +1..2 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1002-read-tree-m-u-2way.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1002-read-tree-m-u-2way/.git/ -expecting success of 1002.1 'setup': echo frotz >frotz && - echo nitfol >nitfol && - echo bozbar >bozbar && - echo rezrov >rezrov && - git update-index --add nitfol bozbar rezrov && - treeH=$(git write-tree) && - echo treeH $treeH && - git ls-tree $treeH && +*** t0066-dir-iterator.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0066-dir-iterator/.git/ +expecting success of 0066.1 'setup': + mkdir -p dir && + mkdir -p dir/a/b/c/ && + >dir/b && + >dir/c && + mkdir -p dir/d/e/d/ && + >dir/a/b/c/d && + >dir/a/e && + >dir/d/e/d/a && + + mkdir -p dir2/a/b/c/ && + >dir2/a/b/c/d - echo gnusto >bozbar && - git update-index --add frotz bozbar --force-remove rezrov && - git ls-files --stage >M.out && - treeM=$(git write-tree) && - echo treeM $treeM && - git ls-tree $treeM && - cp bozbar bozbar.M && - cp frotz frotz.M && - cp nitfol nitfol.M && - git diff-tree $treeH $treeM -treeH 661afa9096b7e2d4b9a28a6e43736cd0b06d1308 -100644 blob 78d812a2124ff980a1a70f8cca493698d643d242 bozbar -100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol -100644 blob 766498d93a4b06057a8e49d23f4068f1170ff38f rezrov -treeM 05bf9652e9b06473d6ca2f32ff60e2401e59bfa6 -100644 blob bb3b2cd2e136e1e4e7ecdf10068e246196dd8294 bozbar -100644 blob 8e4020bb5a8d8c873b25de15933e75cc0fc275df frotz -100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol -:100644 100644 78d812a2124ff980a1a70f8cca493698d643d242 bb3b2cd2e136e1e4e7ecdf10068e246196dd8294 M bozbar -:000000 100644 0000000000000000000000000000000000000000 8e4020bb5a8d8c873b25de15933e75cc0fc275df A frotz -:100644 000000 766498d93a4b06057a8e49d23f4068f1170ff38f 0000000000000000000000000000000000000000 D rezrov ok 1 - setup -expecting success of 1002.2 '1, 2, 3 - no carry forward': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >1-3.out && - cmp M.out 1-3.out && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol && - check_cache_at bozbar clean && - check_cache_at frotz clean && - check_cache_at nitfol clean -bozbar: clean -frotz: clean -nitfol: clean -ok 2 - 1, 2, 3 - no carry forward +expecting success of 0066.2 'dir-iterator should iterate through all files': + cat >expected-iteration-sorted-output <<-EOF && + [d] (a) [a] ./dir/a + [d] (a/b) [b] ./dir/a/b + [d] (a/b/c) [c] ./dir/a/b/c + [d] (d) [d] ./dir/d + [d] (d/e) [e] ./dir/d/e + [d] (d/e/d) [d] ./dir/d/e/d + [f] (a/b/c/d) [d] ./dir/a/b/c/d + [f] (a/e) [e] ./dir/a/e + [f] (b) [b] ./dir/b + [f] (c) [c] ./dir/c + [f] (d/e/d/a) [a] ./dir/d/e/d/a + EOF -expecting success of 1002.3 '4 - carry forward local addition.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo "+100644 X 0 yomin" >expected && - echo yomin >yomin && - git update-index --add yomin && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >4.out && - test_might_fail git diff -U0 --no-index M.out 4.out >4diff.out && - compare_change 4diff.out expected && - check_cache_at yomin clean && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol && - echo yomin >yomin1 && - diff yomin yomin1 && - rm -f yomin1 -yomin: clean -ok 3 - 4 - carry forward local addition. + test-tool dir-iterator ./dir >out && + sort out >./actual-iteration-sorted-output && -expecting success of 1002.4 '5 - carry forward local addition.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - read_tree_u_must_succeed -m -u $treeH && - echo yomin >yomin && - git update-index --add yomin && - echo yomin yomin >yomin && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >5.out && - test_might_fail git diff -U0 --no-index M.out 5.out >5diff.out && - compare_change 5diff.out expected && - check_cache_at yomin dirty && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol && - : dirty index should have prevented -u from checking it out. && - echo yomin yomin >yomin1 && - diff yomin yomin1 && - rm -f yomin1 -yomin: dirty -ok 4 - 5 - carry forward local addition. + test_cmp expected-iteration-sorted-output actual-iteration-sorted-output -expecting success of 1002.5 '6 - local addition already has the same.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo frotz >frotz && - git update-index --add frotz && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >6.out && - test_cmp M.out 6.out && - check_cache_at frotz clean && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol && - echo frotz >frotz1 && - diff frotz frotz1 && - rm -f frotz1 -frotz: clean -ok 5 - 6 - local addition already has the same. +ok 2 - dir-iterator should iterate through all files -expecting success of 1002.6 '7 - local addition already has the same.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo frotz >frotz && - git update-index --add frotz && - echo frotz frotz >frotz && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >7.out && - test_cmp M.out 7.out && - check_cache_at frotz dirty && - test_cmp bozbar.M bozbar && - test_cmp nitfol.M nitfol && - : dirty index should have prevented -u from checking it out. && - echo frotz frotz >frotz1 && - diff frotz frotz1 && - rm -f frotz1 -frotz: dirty -ok 6 - 7 - local addition already has the same. +expecting success of 0066.3 'dir-iterator should list files in the correct order': + cat >expected-pre-order-output <<-EOF && + [d] (a) [a] ./dir2/a + [d] (a/b) [b] ./dir2/a/b + [d] (a/b/c) [c] ./dir2/a/b/c + [f] (a/b/c/d) [d] ./dir2/a/b/c/d + EOF -expecting success of 1002.7 '8 - conflicting addition.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo frotz frotz >frotz && - git update-index --add frotz && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'frotz' would be overwritten by merge. Cannot merge. -ok 7 - 8 - conflicting addition. + test-tool dir-iterator ./dir2 >actual-pre-order-output && -expecting success of 1002.8 '9 - conflicting addition.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo frotz frotz >frotz && - git update-index --add frotz && - echo frotz >frotz && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'frotz' would be overwritten by merge. Cannot merge. -ok 8 - 9 - conflicting addition. + test_cmp expected-pre-order-output actual-pre-order-output -expecting success of 1002.9 '10 - path removed.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo rezrov >rezrov && - git update-index --add rezrov && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >10.out && - cmp M.out 10.out && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol +ok 3 - dir-iterator should list files in the correct order -ok 9 - 10 - path removed. +expecting success of 0066.4 'begin should fail upon inexistent paths': + test_must_fail test-tool dir-iterator ./inexistent-path \ + >actual-inexistent-path-output && + echo "dir_iterator_begin failure: ENOENT" >expected-inexistent-path-output && + test_cmp expected-inexistent-path-output actual-inexistent-path-output -expecting success of 1002.10 '11 - dirty path removed.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo rezrov >rezrov && - git update-index --add rezrov && - echo rezrov rezrov >rezrov && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'rezrov' not uptodate. Cannot merge. -ok 10 - 11 - dirty path removed. +ok 4 - begin should fail upon inexistent paths -expecting success of 1002.11 '12 - unmatching local changes being removed.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo rezrov rezrov >rezrov && - git update-index --add rezrov && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'rezrov' would be overwritten by merge. Cannot merge. -ok 11 - 12 - unmatching local changes being removed. +expecting success of 0066.5 'begin should fail upon non directory paths': + test_must_fail test-tool dir-iterator ./dir/b >actual-non-dir-output && + echo "dir_iterator_begin failure: ENOTDIR" >expected-non-dir-output && + test_cmp expected-non-dir-output actual-non-dir-output -expecting success of 1002.12 '13 - unmatching local changes being removed.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo rezrov rezrov >rezrov && - git update-index --add rezrov && - echo rezrov >rezrov && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'rezrov' would be overwritten by merge. Cannot merge. -ok 12 - 13 - unmatching local changes being removed. +ok 5 - begin should fail upon non directory paths -expecting success of 1002.13 '14 - unchanged in two heads.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo nitfol nitfol >nitfol && - git update-index --add nitfol && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >14.out && - test_must_fail git diff -U0 --no-index M.out 14.out >14diff.out && - compare_change 14diff.out expected && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - check_cache_at nitfol clean && - echo nitfol nitfol >nitfol1 && - diff nitfol nitfol1 && - rm -f nitfol1 -nitfol: clean -ok 13 - 14 - unchanged in two heads. +checking prerequisite: SANITY -expecting success of 1002.14 '15 - unchanged in two heads.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo nitfol nitfol >nitfol && - git update-index --add nitfol && - echo nitfol nitfol nitfol >nitfol && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >15.out && - test_must_fail git diff -U0 --no-index M.out 15.out >15diff.out && - compare_change 15diff.out expected && - check_cache_at nitfol dirty && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - echo nitfol nitfol nitfol >nitfol1 && - diff nitfol nitfol1 && - rm -f nitfol1 -nitfol: dirty -ok 14 - 15 - unchanged in two heads. +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && -expecting success of 1002.15 '16 - conflicting local change.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo bozbar bozbar >bozbar && - git update-index --add bozbar && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'bozbar' would be overwritten by merge. Cannot merge. -ok 15 - 16 - conflicting local change. + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" -expecting success of 1002.16 '17 - conflicting local change.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo bozbar bozbar >bozbar && - git update-index --add bozbar && - echo bozbar bozbar bozbar >bozbar && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'bozbar' would be overwritten by merge. Cannot merge. -ok 16 - 17 - conflicting local change. + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? -expecting success of 1002.17 '18 - local change already having a good result.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo gnusto >bozbar && - git update-index --add bozbar && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >18.out && - test_cmp M.out 18.out && - check_cache_at bozbar clean && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status -bozbar: clean -ok 17 - 18 - local change already having a good result. +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 0066.6 'advance should not fail on errors by default': + cat >expected-no-permissions-output <<-EOF && + [d] (a) [a] ./dir3/a + EOF -expecting success of 1002.18 '19 - local change already having a good result, further modified.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo gnusto >bozbar && - git update-index --add bozbar && - echo gnusto gnusto >bozbar && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >19.out && - test_cmp M.out 19.out && - check_cache_at bozbar dirty && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol && - echo gnusto gnusto >bozbar1 && - diff bozbar bozbar1 && - rm -f bozbar1 -bozbar: dirty -ok 18 - 19 - local change already having a good result, further modified. + mkdir -p dir3/a && + >dir3/a/b && + chmod 0 dir3/a && -expecting success of 1002.19 '20 - no local change, use new tree.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo bozbar >bozbar && - git update-index --add bozbar && - read_tree_u_must_succeed -m -u $treeH $treeM && - git ls-files --stage >20.out && - test_cmp M.out 20.out && - check_cache_at bozbar clean && - test_cmp bozbar.M bozbar && - test_cmp frotz.M frotz && - test_cmp nitfol.M nitfol + test-tool dir-iterator ./dir3 >actual-no-permissions-output && + test_cmp expected-no-permissions-output actual-no-permissions-output && + chmod 755 dir3/a && + rm -rf dir3 -bozbar: clean -ok 19 - 20 - no local change, use new tree. +warning: error opening directory './dir3/a/': Permission denied +ok 6 - advance should not fail on errors by default -expecting success of 1002.20 '21 - no local change, dirty cache.': rm -f .git/index nitfol bozbar rezrov frotz && - read_tree_u_must_succeed --reset -u $treeH && - echo bozbar >bozbar && - git update-index --add bozbar && - echo gnusto gnusto >bozbar && - if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi -error: Entry 'bozbar' not uptodate. Cannot merge. -ok 20 - 21 - no local change, dirty cache. +expecting success of 0066.7 'advance should fail on errors, w/ pedantic flag': + cat >expected-no-permissions-pedantic-output <<-EOF && + [d] (a) [a] ./dir3/a + dir_iterator_advance failure + EOF -expecting success of 1002.21 'DF vs DF/DF case setup.': rm -f .git/index && - echo DF >DF && - git update-index --add DF && - treeDF=$(git write-tree) && - echo treeDF $treeDF && - git ls-tree $treeDF && + mkdir -p dir3/a && + >dir3/a/b && + chmod 0 dir3/a && - rm -f DF && - mkdir DF && - echo DF/DF >DF/DF && - git update-index --add --remove DF DF/DF && - treeDFDF=$(git write-tree) && - echo treeDFDF $treeDFDF && - git ls-tree $treeDFDF && - git ls-files --stage >DFDF.out -treeDF 6bf22db9043f2b5821c019d0ce0f2605421affcb -100644 blob 052efc3abbc31348f7abd34535b1953d38273257 DF -treeDFDF c38e296263d024b0f48c4a728d293232ac6c5443 -040000 tree 90bbead36f4d6a7c325fd450e6cfbcc7479d421a DF -ok 21 - DF vs DF/DF case setup. - -expecting success of 1002.22 'DF vs DF/DF case test.': rm -f .git/index && - rm -fr DF && - echo DF >DF && - git update-index --add DF && - read_tree_u_must_succeed -m -u $treeDF $treeDFDF && - git ls-files --stage >DFDFcheck.out && - test_cmp DFDF.out DFDFcheck.out && - check_cache_at DF/DF clean -DF/DF: clean -ok 22 - DF vs DF/DF case test. - -# passed all 22 test(s) -1..22 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1010-mktree.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1010-mktree/.git/ -expecting success of 1010.1 'setup': - for d in a a. a0 - do - mkdir "$d" && echo "$d/one" >"$d/one" && - git add "$d" - done && - echo zero >one && - git update-index --add --info-only one && - git write-tree --missing-ok >tree.missing && - git ls-tree $(cat tree.missing) >top.missing && - git ls-tree -r $(cat tree.missing) >all.missing && - echo one >one && - git add one && - git write-tree >tree && - git ls-tree $(cat tree) >top && - git ls-tree -r $(cat tree) >all && - test_tick && - git commit -q -m one && - H=$(git rev-parse HEAD) && - git update-index --add --cacheinfo 160000 $H sub && - test_tick && - git commit -q -m two && - git rev-parse HEAD^{tree} >tree.withsub && - git ls-tree HEAD >top.withsub && - git ls-tree -r HEAD >all.withsub - -ok 1 - setup - -expecting success of 1010.2 'ls-tree piped to mktree (1)': - git mktree actual && - test_cmp tree actual - -ok 2 - ls-tree piped to mktree (1) - -expecting success of 1010.3 'ls-tree piped to mktree (2)': - git mktree actual && - test_cmp tree.withsub actual - -ok 3 - ls-tree piped to mktree (2) - -expecting success of 1010.4 'ls-tree output in wrong order given to mktree (1)': - perl -e "print reverse <>" actual && - test_cmp tree actual - -ok 4 - ls-tree output in wrong order given to mktree (1) - -expecting success of 1010.5 'ls-tree output in wrong order given to mktree (2)': - perl -e "print reverse <>" actual && - test_cmp tree.withsub actual - -ok 5 - ls-tree output in wrong order given to mktree (2) + test_must_fail test-tool dir-iterator --pedantic ./dir3 \ + >actual-no-permissions-pedantic-output && + test_cmp expected-no-permissions-pedantic-output \ + actual-no-permissions-pedantic-output && + chmod 755 dir3/a && + rm -rf dir3 -expecting success of 1010.6 'allow missing object with --missing': - git mktree --missing actual && - test_cmp tree.missing actual +warning: error opening directory './dir3/a/': Permission denied +ok 7 - advance should fail on errors, w/ pedantic flag -ok 6 - allow missing object with --missing +checking prerequisite: SYMLINKS -expecting success of 1010.7 'mktree refuses to read ls-tree -r output (1)': - test_must_fail git mktree actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -fatal: path a./one contains slash -ok 7 - mktree refuses to read ls-tree -r output (1) +) +prerequisite SYMLINKS ok +expecting success of 0066.8 'setup dirs with symlinks': + mkdir -p dir4/a && + mkdir -p dir4/b/c && + >dir4/a/d && + ln -s d dir4/a/e && + ln -s ../b dir4/a/f && -expecting success of 1010.8 'mktree refuses to read ls-tree -r output (2)': - test_must_fail git mktree actual + mkdir -p dir5/a/b && + mkdir -p dir5/a/c && + ln -s ../c dir5/a/b/d && + ln -s ../ dir5/a/b/e && + ln -s ../../ dir5/a/b/f && -fatal: path a./one contains slash -ok 8 - mktree refuses to read ls-tree -r output (2) + ln -s dir4 dir6 -# passed all 8 test(s) -1..8 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1007-hash-object.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/.git/ -expecting success of 1007.1 'setup': - setup_repo && - test_oid_cache <<-EOF - hello sha1:5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 - hello sha256:1e3b6c04d2eeb2b3e45c8a330445404c0b7cc7b257e2b097167d26f5230090c4 +ok 8 - setup dirs with symlinks - example sha1:ddd3f836d3e3fbb7ae289aa9ae83536f76956399 - example sha256:b44fe1fe65589848253737db859bd490453510719d7424daab03daf0767b85ae +expecting success of 0066.9 'dir-iterator should not follow symlinks by default': + cat >expected-no-follow-sorted-output <<-EOF && + [d] (a) [a] ./dir4/a + [d] (b) [b] ./dir4/b + [d] (b/c) [c] ./dir4/b/c + [f] (a/d) [d] ./dir4/a/d + [s] (a/e) [e] ./dir4/a/e + [s] (a/f) [f] ./dir4/a/f EOF -ok 1 - setup - -expecting success of 1007.2 'multiple '--stdin's are rejected': - echo example | test_must_fail git hash-object --stdin --stdin - -error: Multiple --stdin arguments are not supported -usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... - or: git hash-object --stdin-paths - - -t object type - -w write the object into the object database - --stdin read the object from stdin - --stdin-paths read file names from stdin - --no-filters store file as is without filters - --literally just hash any random garbage to create corrupt objects for debugging Git - --path process file as it were from this path - -ok 2 - multiple '--stdin's are rejected - -expecting success of 1007.3 'Can't use --stdin and --stdin-paths together': - echo example | test_must_fail git hash-object --stdin --stdin-paths && - echo example | test_must_fail git hash-object --stdin-paths --stdin - -error: Can't use --stdin-paths with --stdin -usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... - or: git hash-object --stdin-paths - - -t object type - -w write the object into the object database - --stdin read the object from stdin - --stdin-paths read file names from stdin - --no-filters store file as is without filters - --literally just hash any random garbage to create corrupt objects for debugging Git - --path process file as it were from this path - -error: Can't use --stdin-paths with --stdin -usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... - or: git hash-object --stdin-paths - - -t object type - -w write the object into the object database - --stdin read the object from stdin - --stdin-paths read file names from stdin - --no-filters store file as is without filters - --literally just hash any random garbage to create corrupt objects for debugging Git - --path process file as it were from this path - -ok 3 - Can't use --stdin and --stdin-paths together - -expecting success of 1007.4 'Can't pass filenames as arguments with --stdin-paths': - echo example | test_must_fail git hash-object --stdin-paths hello - -error: Can't specify files with --stdin-paths -usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... - or: git hash-object --stdin-paths - - -t object type - -w write the object into the object database - --stdin read the object from stdin - --stdin-paths read file names from stdin - --no-filters store file as is without filters - --literally just hash any random garbage to create corrupt objects for debugging Git - --path process file as it were from this path - -ok 4 - Can't pass filenames as arguments with --stdin-paths - -expecting success of 1007.5 'Can't use --path with --stdin-paths': - echo example | test_must_fail git hash-object --stdin-paths --path=foo + test-tool dir-iterator ./dir4 >out && + sort out >actual-no-follow-sorted-output && -error: Can't use --stdin-paths with --path -usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... - or: git hash-object --stdin-paths + test_cmp expected-no-follow-sorted-output actual-no-follow-sorted-output - -t object type - -w write the object into the object database - --stdin read the object from stdin - --stdin-paths read file names from stdin - --no-filters store file as is without filters - --literally just hash any random garbage to create corrupt objects for debugging Git - --path process file as it were from this path +ok 9 - dir-iterator should not follow symlinks by default -ok 5 - Can't use --path with --stdin-paths +expecting success of 0066.10 'dir-iterator should follow symlinks w/ follow flag': + cat >expected-follow-sorted-output <<-EOF && + [d] (a) [a] ./dir4/a + [d] (a/f) [f] ./dir4/a/f + [d] (a/f/c) [c] ./dir4/a/f/c + [d] (b) [b] ./dir4/b + [d] (b/c) [c] ./dir4/b/c + [f] (a/d) [d] ./dir4/a/d + [f] (a/e) [e] ./dir4/a/e + EOF -expecting success of 1007.6 'Can't use --path with --no-filters': - test_must_fail git hash-object --no-filters --path=foo + test-tool dir-iterator --follow-symlinks ./dir4 >out && + sort out >actual-follow-sorted-output && -error: Can't use --path with --no-filters -usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... - or: git hash-object --stdin-paths + test_cmp expected-follow-sorted-output actual-follow-sorted-output - -t object type - -w write the object into the object database - --stdin read the object from stdin - --stdin-paths read file names from stdin - --no-filters store file as is without filters - --literally just hash any random garbage to create corrupt objects for debugging Git - --path process file as it were from this path +ok 10 - dir-iterator should follow symlinks w/ follow flag -ok 6 - Can't use --path with --no-filters +expecting success of 0066.11 'dir-iterator does not resolve top-level symlinks': + test_must_fail test-tool dir-iterator ./dir6 >out && -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ -expecting success of 1007.7 'hash a file': - test "$(test_oid hello)" = $(git hash-object hello) + grep "ENOTDIR" out -ok 7 - hash a file +dir_iterator_begin failure: ENOTDIR +ok 11 - dir-iterator does not resolve top-level symlinks -expecting success of 1007.8 'blob does not exist in database': - test_must_fail git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 - -fatal: git cat-file 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689: bad file -ok 8 - blob does not exist in database +expecting success of 0066.12 'dir-iterator resolves top-level symlinks w/ follow flag': + cat >expected-follow-sorted-output <<-EOF && + [d] (a) [a] ./dir6/a + [d] (a/f) [f] ./dir6/a/f + [d] (a/f/c) [c] ./dir6/a/f/c + [d] (b) [b] ./dir6/b + [d] (b/c) [c] ./dir6/b/c + [f] (a/d) [d] ./dir6/a/d + [f] (a/e) [e] ./dir6/a/e + EOF -expecting success of 1007.9 'hash from stdin': - test "$(test_oid example)" = $(git hash-object --stdin < example) + test-tool dir-iterator --follow-symlinks ./dir6 >out && + sort out >actual-follow-sorted-output && -ok 9 - hash from stdin + test_cmp expected-follow-sorted-output actual-follow-sorted-output -expecting success of 1007.10 'blob does not exist in database': - test_must_fail git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 - -fatal: git cat-file ddd3f836d3e3fbb7ae289aa9ae83536f76956399: bad file -ok 10 - blob does not exist in database +ok 12 - dir-iterator resolves top-level symlinks w/ follow flag -expecting success of 1007.11 'hash a file and write to database': - test "$(test_oid hello)" = $(git hash-object -w hello) +# passed all 12 test(s) +1..12 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0070-fundamental.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0070-fundamental/.git/ +expecting success of 0070.1 'character classes (isspace, isalpha etc.)': + test-tool ctype -ok 11 - hash a file and write to database +ok 1 - character classes (isspace, isalpha etc.) -expecting success of 1007.12 'blob exists in database': - git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 - -Hello Worldok 12 - blob exists in database +expecting success of 0070.2 'mktemp to nonexistent directory prints filename': + test_must_fail test-tool mktemp doesnotexist/testXXXXXX 2>err && + grep "doesnotexist/test" err -expecting success of 1007.13 'git hash-object --stdin file1 file1 && - obname0=$(echo bar | git hash-object --stdin) && - obname1=$(git hash-object file1) && - obname0new=$(echo bar | git hash-object --stdin file1 | sed -n -e 1p) && - obname1new=$(echo bar | git hash-object --stdin file1 | sed -n -e 2p) && - test "$obname0" = "$obname0new" && - test "$obname1" = "$obname1new" +fatal: Unable to create temporary file '/build/git-2.30.2/t/trash directory.t0070-fundamental/doesnotexist/testpKT3zy': No such file or directory +ok 2 - mktemp to nonexistent directory prints filename -ok 13 - git hash-object --stdin file1 file0 && - cp file0 file1 && - echo "file0 -crlf" >.gitattributes && - echo "file1 crlf" >>.gitattributes && - git config core.autocrlf true && - file0_sha=$(git hash-object file0) && - file1_sha=$(git hash-object file1) && - test "$file0_sha" != "$file1_sha" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && -ok 14 - set up crlf tests + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" -expecting success of 1007.15 'check that appropriate filter is invoke when --path is used': - path1_sha=$(git hash-object --path=file1 file0) && - path0_sha=$(git hash-object --path=file0 file1) && - test "$file0_sha" = "$path0_sha" && - test "$file1_sha" = "$path1_sha" && - path1_sha=$(cat file0 | git hash-object --path=file1 --stdin) && - path0_sha=$(cat file1 | git hash-object --path=file0 --stdin) && - test "$file0_sha" = "$path0_sha" && - test "$file1_sha" = "$path1_sha" + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? -ok 15 - check that appropriate filter is invoke when --path is used + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status -expecting success of 1007.16 'gitattributes also work in a subdirectory': - mkdir subdir && - ( - cd subdir && - subdir_sha0=$(git hash-object ../file0) && - subdir_sha1=$(git hash-object ../file1) && - test "$file0_sha" = "$subdir_sha0" && - test "$file1_sha" = "$subdir_sha1" - ) +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 0070.3 'mktemp to unwritable directory prints filename': + mkdir cannotwrite && + test_when_finished "chmod +w cannotwrite" && + chmod -w cannotwrite && + test_must_fail test-tool mktemp cannotwrite/testXXXXXX 2>err && + grep "cannotwrite/test" err -ok 16 - gitattributes also work in a subdirectory +fatal: Unable to create temporary file '/build/git-2.30.2/t/trash directory.t0070-fundamental/cannotwrite/testUUGFyT': Permission denied +ok 3 - mktemp to unwritable directory prints filename -expecting success of 1007.17 '--path works in a subdirectory': - ( - cd subdir && - path1_sha=$(git hash-object --path=../file1 ../file0) && - path0_sha=$(git hash-object --path=../file0 ../file1) && - test "$file0_sha" = "$path0_sha" && - test "$file1_sha" = "$path1_sha" - ) +expecting success of 0070.4 'git_mkstemps_mode does not fail if fd 0 is not open': + git commit --allow-empty -m message <&- -ok 17 - --path works in a subdirectory +[master (root-commit) b293b08] message + Author: A U Thor +ok 4 - git_mkstemps_mode does not fail if fd 0 is not open -expecting success of 1007.18 'check that --no-filters option works': - nofilters_file1=$(git hash-object --no-filters file1) && - test "$file0_sha" = "$nofilters_file1" && - nofilters_file1=$(cat file1 | git hash-object --stdin) && - test "$file0_sha" = "$nofilters_file1" +expecting success of 0070.5 'check for a bug in the regex routines': + # if this test fails, re-build git with NO_REGEX=1 + test-tool regex --bug -ok 18 - check that --no-filters option works +ok 5 - check for a bug in the regex routines -expecting success of 1007.19 'check that --no-filters option works with --stdin-paths': - nofilters_file1=$(echo "file1" | git hash-object --stdin-paths --no-filters) && - test "$file0_sha" = "$nofilters_file1" +expecting success of 0070.6 'incomplete sideband messages are reassembled': + test-tool pkt-line send-split-sideband >split-sideband && + test-tool pkt-line receive-sideband err && + grep "Hello, world" err -ok 19 - check that --no-filters option works with --stdin-paths +primary: regular output +remote: Hello, world! +ok 6 - incomplete sideband messages are reassembled -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ -expecting success of 1007.20 'hash from stdin and write to database (-w --stdin)': - test "$(test_oid example)" = $(git hash-object $args < example) - -ok 20 - hash from stdin and write to database (-w --stdin) +expecting success of 0070.7 'eof on sideband message is reported': + printf 1234 >input && + test-tool pkt-line receive-sideband err && + test_i18ngrep "unexpected disconnect" err -expecting success of 1007.21 'blob exists in database': - git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 - -This is an exampleok 21 - blob exists in database +checking prerequisite: C_LOCALE_OUTPUT -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ -expecting success of 1007.22 'hash from stdin and write to database (--stdin -w)': - test "$(test_oid example)" = $(git hash-object $args < example) - -ok 22 - hash from stdin and write to database (--stdin -w) +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 1007.23 'blob exists in database': - git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 - -This is an exampleok 23 - blob exists in database +) +prerequisite C_LOCALE_OUTPUT ok +sideband: unexpected disconnect while reading sideband packet +ok 7 - eof on sideband message is reported -expecting success of 1007.24 'hash two files with names on stdin': - test "$oids" = "$(echo_without_newline "$filenames" | git hash-object --stdin-paths)" +expecting success of 0070.8 'missing sideband designator is reported': + printf 0004 >input && + test-tool pkt-line receive-sideband err && + test_i18ngrep "missing sideband" err -ok 24 - hash two files with names on stdin +sideband: protocol error: missing sideband designator +ok 8 - missing sideband designator is reported -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ -expecting success of 1007.25 'hash two files with names on stdin and write to database (-w --stdin-paths)': - test "$oids" = "$(echo_without_newline "$filenames" | git hash-object $args)" - -ok 25 - hash two files with names on stdin and write to database (-w --stdin-paths) +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0091-bugreport.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0091-bugreport/.git/ +expecting success of 0091.1 'creates a report with content in the right places': + test_when_finished rm git-bugreport-check-headers.txt && + git bugreport -s check-headers && + check_all_headers_populated >git-bugreport-duplicate.txt && + test_must_fail git bugreport --suffix duplicate -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ -expecting success of 1007.28 'hash two files with names on stdin and write to database (--stdin-paths -w)': - test "$oids" = "$(echo_without_newline "$filenames" | git hash-object $args)" - -ok 28 - hash two files with names on stdin and write to database (--stdin-paths -w) +fatal: couldn't create a new file at 'git-bugreport-duplicate.txt' +ok 2 - dies if file with same name as report already exists -expecting success of 1007.29 'blob exists in database': - git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 - -Hello Worldok 29 - blob exists in database +expecting success of 0091.3 '--output-directory puts the report in the provided dir': + test_when_finished rm -fr foo/ && + git bugreport -o foo/ && + test_path_is_file foo/git-bugreport-* -expecting success of 1007.30 'blob exists in database': - git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 - -This is an exampleok 30 - blob exists in database +Created new report at 'foo/git-bugreport-2023-04-29-1616.txt'. +ok 3 - --output-directory puts the report in the provided dir -expecting success of 1007.31 'too-short tree': - echo abc >malformed-tree && - test_must_fail git hash-object -t tree malformed-tree 2>err && - test_i18ngrep "too-short tree object" err +expecting success of 0091.4 'incorrect arguments abort with usage': + test_must_fail git bugreport --false 2>output && + test_i18ngrep usage output && + test_path_is_missing git-bugreport-* checking prerequisite: C_LOCALE_OUTPUT @@ -23658,231 +17012,229 @@ ) prerequisite C_LOCALE_OUTPUT ok -fatal: too-short tree object -ok 31 - too-short tree - -expecting success of 1007.32 'malformed mode in tree': - hex_sha1=$(echo foo | git hash-object --stdin -w) && - bin_sha1=$(echo $hex_sha1 | hex2oct) && - printf "9100644 \0$bin_sha1" >tree-with-malformed-mode && - test_must_fail git hash-object -t tree tree-with-malformed-mode 2>err && - test_i18ngrep "malformed mode in tree entry" err +usage: git bugreport [-o|--output-directory ] [-s|--suffix ] +ok 4 - incorrect arguments abort with usage -fatal: malformed mode in tree entry -ok 32 - malformed mode in tree +expecting success of 0091.5 'runs outside of a git dir': + test_when_finished rm non-repo/git-bugreport-* && + nongit git bugreport -expecting success of 1007.33 'empty filename in tree': - hex_sha1=$(echo foo | git hash-object --stdin -w) && - bin_sha1=$(echo $hex_sha1 | hex2oct) && - printf "100644 \0$bin_sha1" >tree-with-empty-filename && - test_must_fail git hash-object -t tree tree-with-empty-filename 2>err && - test_i18ngrep "empty filename in tree entry" err +Created new report at 'git-bugreport-2023-04-29-1616.txt'. +ok 5 - runs outside of a git dir -fatal: empty filename in tree entry -ok 33 - empty filename in tree +expecting success of 0091.6 'can create leading directories outside of a git dir': + test_when_finished rm -fr foo/bar/baz && + nongit git bugreport -o foo/bar/baz -expecting success of 1007.34 'corrupt commit': - test_must_fail git hash-object -t commit --stdin expect <<-\EOF && + Murmur3 Hash with seed=0:0x00000000 + EOF + test-tool bloom get_murmur3 "" >actual && + test_cmp expect actual -expecting success of 1007.36 'hash-object complains about bogus type name': - test_must_fail git hash-object -t bogus --stdin expect <<-\EOF && + Murmur3 Hash with seed=0:0x627b0c2c + EOF + test-tool bloom get_murmur3 "Hello world!" >actual && + test_cmp expect actual -expecting success of 1007.37 'hash-object complains about truncated type name': - test_must_fail git hash-object -t bl --stdin expect <<-\EOF && + Murmur3 Hash with seed=0:0x2e4ff723 + EOF + test-tool bloom get_murmur3 "The quick brown fox jumps over the lazy dog" >actual && + test_cmp expect actual -expecting success of 1007.38 '--literally': - t=1234567890 && - echo example | git hash-object -t $t --literally --stdin +ok 3 - compute unseeded murmur3 hash for test string 2 -f78b23c3f872d473c764d5fcf4fb39af8bbf2123 -ok 38 - --literally +expecting success of 0095.4 'compute bloom key for empty string': + cat >expect <<-\EOF && + Hashes:0x5615800c|0x5b966560|0x61174ab4|0x66983008|0x6c19155c|0x7199fab0|0x771ae004| + Filter_Length:2 + Filter_Data:11|11| + EOF + test-tool bloom generate_filter "" >actual && + test_cmp expect actual -expecting success of 1007.39 '--literally with extra-long type': - t=12345678901234567890123456789012345678901234567890 && - t="$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t$t" && - echo example | git hash-object -t $t --literally --stdin +ok 4 - compute bloom key for empty string -2a881776ee43e849175ee7158075560ca0ae7692 -ok 39 - --literally with extra-long type +expecting success of 0095.5 'compute bloom key for whitespace': + cat >expect <<-\EOF && + Hashes:0xf178874c|0x5f3d6eb6|0xcd025620|0x3ac73d8a|0xa88c24f4|0x16510c5e|0x8415f3c8| + Filter_Length:2 + Filter_Data:51|55| + EOF + test-tool bloom generate_filter " " >actual && + test_cmp expect actual -# passed all 39 test(s) -1..39 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1021-rerere-in-workdir.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1021-rerere-in-workdir/.git/ -checking prerequisite: SYMLINKS +ok 5 - compute bloom key for whitespace -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 0095.6 'compute bloom key for test string 1': + cat >expect <<-\EOF && + Hashes:0xb270de9b|0x1bb6f26e|0x84fd0641|0xee431a14|0x57892de7|0xc0cf41ba|0x2a15558d| + Filter_Length:2 + Filter_Data:92|6c| + EOF + test-tool bloom generate_filter "Hello world!" >actual && + test_cmp expect actual -) -prerequisite SYMLINKS ok -expecting success of 1021.1 'setup': - git config rerere.enabled true && - >world && - git add world && - test_tick && - git commit -m initial && +ok 6 - compute bloom key for test string 1 - echo hello >world && - test_tick && - git commit -a -m hello && +expecting success of 0095.7 'compute bloom key for test string 2': + cat >expect <<-\EOF && + Hashes:0x20ab385b|0xf5237fe2|0xc99bc769|0x9e140ef0|0x728c5677|0x47049dfe|0x1b7ce585| + Filter_Length:2 + Filter_Data:a5|4a| + EOF + test-tool bloom generate_filter "file.txt" >actual && + test_cmp expect actual - git checkout -b side HEAD^ && - echo goodbye >world && - test_tick && - git commit -a -m goodbye && +ok 7 - compute bloom key for test string 2 - git checkout master +expecting success of 0095.8 'get bloom filters for commit with no changes': + git init && + git commit --allow-empty -m "c0" && + cat >expect <<-\EOF && + Filter_Length:1 + Filter_Data:00| + EOF + test-tool bloom get_filter_for_commit "$(git rev-parse HEAD)" >actual && + test_cmp expect actual -[master (root-commit) 21975ff] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 world -[master 02943d2] hello - Author: A U Thor - 1 file changed, 1 insertion(+) -Switched to a new branch 'side' -[side 5611ff9] goodbye +Reinitialized existing Git repository in /build/git-2.30.2/t/trash directory.t0095-bloom/.git/ +[master (root-commit) c7bd1a3] c0 Author: A U Thor - 1 file changed, 1 insertion(+) -Switched to branch 'master' -ok 1 - setup +ok 8 - get bloom filters for commit with no changes -expecting success of 1021.2 'rerere in workdir': - rm -rf .git/rr-cache && - "$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . work && - ( - cd work && - test_must_fail git merge side && - git rerere status >actual && - echo world >expect && - test_cmp expect actual - ) +expecting success of 0095.9 'get bloom filter for commit with 10 changes': + rm actual && + rm expect && + mkdir smallDir && + for i in $(test_seq 0 9) + do + echo $i >smallDir/$i + done && + git add smallDir && + git commit -m "commit with 10 changes" && + cat >expect <<-\EOF && + Filter_Length:14 + Filter_Data:02|b3|c4|a0|34|e7|fe|eb|cb|47|fe|a0|e8|72| + EOF + test-tool bloom get_filter_for_commit "$(git rev-parse HEAD)" >actual && + test_cmp expect actual -Merging: -02943d2 hello -virtual side -found 1 common ancestor: -21975ff initial -Auto-merging world -CONFLICT (content): Merge conflict in world -Recorded preimage for 'world' -Automatic merge failed; fix conflicts and then commit the result. -ok 2 - rerere in workdir +[master 2444bb6] commit with 10 changes + Author: A U Thor + 10 files changed, 10 insertions(+) + create mode 100644 smallDir/0 + create mode 100644 smallDir/1 + create mode 100644 smallDir/2 + create mode 100644 smallDir/3 + create mode 100644 smallDir/4 + create mode 100644 smallDir/5 + create mode 100644 smallDir/6 + create mode 100644 smallDir/7 + create mode 100644 smallDir/8 + create mode 100644 smallDir/9 +ok 9 - get bloom filter for commit with 10 changes -checking known breakage of 1021.3 'rerere in workdir (relative)': - rm -rf .git/rr-cache && - "$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . krow && - ( - cd krow && - rm -f .git/rr-cache && - ln -s ../.git/rr-cache .git/rr-cache && - test_must_fail git merge side && - git rerere status >actual && - echo world >expect && - test_cmp expect actual - ) +checking prerequisite: EXPENSIVE -Merging: -02943d2 hello -virtual side -found 1 common ancestor: -21975ff initial -Auto-merging world -CONFLICT (content): Merge conflict in world -fatal: could not create directory '.git/rr-cache' -fatal: could not create directory '.git/rr-cache' -not ok 3 - rerere in workdir (relative) # TODO known breakage +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && + test -n "$GIT_TEST_LONG" -# still have 1 known breakage(s) -# passed all remaining 2 test(s) -1..3 +) +prerequisite EXPENSIVE not satisfied +ok 10 # skip get bloom filter for commit with 513 changes (missing EXPENSIVE) + +# passed all 10 test(s) +1..10 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1015-read-index-unmerged.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1015-read-index-unmerged/.git/ -expecting success of 1015.1 'setup modify/delete + directory/file conflict': - test_create_repo df_plus_modify_delete && - ( - cd df_plus_modify_delete && - - test_write_lines a b c d e f g h >letters && - git add letters && - git commit -m initial && - - git checkout -b modify && - # Throw in letters.txt for sorting order fun - # ("letters.txt" sorts between "letters" and "letters/file") - echo i >>letters && - echo "version 2" >letters.txt && - git add letters letters.txt && - git commit -m modified && - - git checkout -b delete HEAD^ && - git rm letters && - mkdir letters && - >letters/file && - echo "version 1" >letters.txt && - git add letters letters.txt && - git commit -m deleted - ) +*** t0100-previous.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0100-previous/.git/ +expecting success of 0100.1 'branch -d @{-1}': + test_commit A && + git checkout -b junk && + git checkout - && + test "$(git symbolic-ref HEAD)" = refs/heads/master && + git branch -d @{-1} && + test_must_fail git rev-parse --verify refs/heads/junk -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1015-read-index-unmerged/df_plus_modify_delete/.git/ -[master (root-commit) 461649b] initial - Author: A U Thor - 1 file changed, 8 insertions(+) - create mode 100644 letters -Switched to a new branch 'modify' -[modify 4e26d91] modified - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 letters.txt -Switched to a new branch 'delete' -rm 'letters' -[delete 380ce95] deleted +[master (root-commit) 0ddfaf1] A Author: A U Thor - 3 files changed, 1 insertion(+), 8 deletions(-) - delete mode 100644 letters - create mode 100644 letters.txt - create mode 100644 letters/file -ok 1 - setup modify/delete + directory/file conflict + 1 file changed, 1 insertion(+) + create mode 100644 A.t +Switched to a new branch 'junk' +Switched to branch 'master' +Deleted branch junk (was 0ddfaf1). +fatal: Needed a single revision +ok 1 - branch -d @{-1} -expecting success of 1015.2 'read-tree --reset cleans unmerged entries': - test_when_finished "git -C df_plus_modify_delete clean -f" && - test_when_finished "git -C df_plus_modify_delete reset --hard" && - ( - cd df_plus_modify_delete && +expecting success of 0100.2 'branch -d @{-12} when there is not enough switches yet': + git reflog expire --expire=now && + git checkout -b junk2 && + git checkout - && + test "$(git symbolic-ref HEAD)" = refs/heads/master && + test_must_fail git branch -d @{-12} && + git rev-parse --verify refs/heads/master - git checkout delete^0 && - test_must_fail git merge modify && +Switched to a new branch 'junk2' +Switched to branch 'master' +error: branch '@{-12}' not found. +0ddfaf193ff13d6ab39b7cbd9eed645e3ee2f050 +ok 2 - branch -d @{-12} when there is not enough switches yet - git read-tree --reset HEAD && - git ls-files -u >conflicts && - test_must_be_empty conflicts - ) +expecting success of 0100.3 'merge @{-1}': + git checkout A && + test_commit B && + git checkout A && + test_commit C && + test_commit D && + git branch -f master B && + git branch -f other && + git checkout other && + git checkout master && + git merge @{-1} && + git cat-file commit HEAD | grep "Merge branch 'other'" -Note: switching to 'delete^0'. +Note: switching to 'A'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this @@ -23899,1978 +17251,1608 @@ Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at 380ce95 deleted -Merging: -380ce95 deleted -virtual modify -found 1 common ancestor: -461649b initial -Adding letters/file -CONFLICT (add/add): Merge conflict in letters.txt -Auto-merging letters.txt -CONFLICT (modify/delete): letters deleted in HEAD and modified in modify. Version modify of letters left in tree at letters~modify. -Automatic merge failed; fix conflicts and then commit the result. -HEAD is now at 380ce95 deleted -Removing conflicts -Removing letters~modify -ok 2 - read-tree --reset cleans unmerged entries - -expecting success of 1015.3 'One reset --hard cleans unmerged entries': - test_when_finished "git -C df_plus_modify_delete clean -f" && - test_when_finished "git -C df_plus_modify_delete reset --hard" && - ( - cd df_plus_modify_delete && - - git checkout delete^0 && - test_must_fail git merge modify && - - git reset --hard && - test_path_is_missing .git/MERGE_HEAD && - git ls-files -u >conflicts && - test_must_be_empty conflicts - ) - -HEAD is now at 380ce95 deleted -Merging: -380ce95 deleted -virtual modify -found 1 common ancestor: -461649b initial -Adding letters/file -CONFLICT (add/add): Merge conflict in letters.txt -Auto-merging letters.txt -CONFLICT (modify/delete): letters deleted in HEAD and modified in modify. Version modify of letters left in tree at letters~modify. -Automatic merge failed; fix conflicts and then commit the result. -warning: unable to unlink 'letters': Is a directory -HEAD is now at 380ce95 deleted -HEAD is now at 380ce95 deleted -Removing conflicts -Removing letters~modify -ok 3 - One reset --hard cleans unmerged entries - -expecting success of 1015.4 'setup directory/file conflict + simple edit/edit': - test_create_repo df_plus_edit_edit && - ( - cd df_plus_edit_edit && - - test_seq 1 10 >numbers && - git add numbers && - git commit -m initial && - - git checkout -b d-edit && - mkdir foo && - echo content >foo/bar && - git add foo && - echo 11 >>numbers && - git add numbers && - git commit -m "directory and edit" && - - git checkout -b f-edit d-edit^1 && - echo content >foo && - git add foo && - echo eleven >>numbers && - git add numbers && - git commit -m "file and edit" - ) - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1015-read-index-unmerged/df_plus_edit_edit/.git/ -[master (root-commit) e5e228a] initial +HEAD is now at 0ddfaf1 A +[detached HEAD d9df450] B Author: A U Thor - 1 file changed, 10 insertions(+) - create mode 100644 numbers -Switched to a new branch 'd-edit' -[d-edit 1997ecb] directory and edit + 1 file changed, 1 insertion(+) + create mode 100644 B.t +Previous HEAD position was d9df450 B +HEAD is now at 0ddfaf1 A +[detached HEAD 5dee784] C Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 foo/bar -Switched to a new branch 'f-edit' -[f-edit ea28ef2] file and edit + 1 file changed, 1 insertion(+) + create mode 100644 C.t +[detached HEAD 12bd07b] D Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 D.t +Switched to branch 'other' +Switched to branch 'master' +Merging: +d9df450 B +virtual @{-1} +found 1 common ancestor: +0ddfaf1 A +Merge made by the 'recursive' strategy. + C.t | 1 + + D.t | 1 + 2 files changed, 2 insertions(+) - create mode 100644 foo -ok 4 - setup directory/file conflict + simple edit/edit - -expecting success of 1015.5 'git merge --abort succeeds despite D/F conflict': - test_when_finished "git -C df_plus_edit_edit clean -f" && - test_when_finished "git -C df_plus_edit_edit reset --hard" && - ( - cd df_plus_edit_edit && - - git checkout f-edit^0 && - test_must_fail git merge d-edit^0 && - - git merge --abort && - test_path_is_missing .git/MERGE_HEAD && - git ls-files -u >conflicts && - test_must_be_empty conflicts - ) - -Note: switching to 'f-edit^0'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - + create mode 100644 C.t + create mode 100644 D.t +Merge branch 'other' +ok 3 - merge @{-1} -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 0100.4 'merge @{-1}~1': + git checkout master && + git reset --hard B && + git checkout other && + git checkout master && + git merge @{-1}~1 && + git cat-file commit HEAD >actual && + grep "Merge branch 'other'" actual -HEAD is now at ea28ef2 file and edit +Already on 'master' +HEAD is now at d9df450 B +Switched to branch 'other' +Switched to branch 'master' Merging: -ea28ef2 file and edit -virtual d-edit^0 +d9df450 B +virtual @{-1}~1 found 1 common ancestor: -e5e228a initial -Auto-merging numbers -CONFLICT (content): Merge conflict in numbers -Adding foo/bar -Removing foo to make room for subdirectory - -CONFLICT (file/directory): There is a directory with name foo in d-edit^0. Adding foo as foo~HEAD -Automatic merge failed; fix conflicts and then commit the result. -HEAD is now at ea28ef2 file and edit -Removing conflicts -Removing foo~HEAD -ok 5 - git merge --abort succeeds despite D/F conflict - -expecting success of 1015.6 'git am --skip succeeds despite D/F conflict': - test_when_finished "git -C df_plus_edit_edit clean -f" && - test_when_finished "git -C df_plus_edit_edit reset --hard" && - ( - cd df_plus_edit_edit && +0ddfaf1 A +Merge made by the 'recursive' strategy. + C.t | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 C.t +Merge branch 'other' (early part) +ok 4 - merge @{-1}~1 - git checkout f-edit^0 && - git format-patch -1 d-edit && - test_must_fail git am -3 0001*.patch && +expecting success of 0100.5 'merge @{-100} before checking out that many branches yet': + git reflog expire --expire=now && + git checkout -f master && + git reset --hard B && + git branch -f other C && + git checkout other && + git checkout master && + test_must_fail git merge @{-100} - git am --skip && - test_path_is_missing .git/rebase-apply && - git ls-files -u >conflicts && - test_must_be_empty conflicts - ) +Already on 'master' +HEAD is now at d9df450 B +Switched to branch 'other' +Switched to branch 'master' +merge: @{-100} - not something we can merge +ok 5 - merge @{-100} before checking out that many branches yet -HEAD is now at ea28ef2 file and edit -0001-directory-and-edit.patch -Applying: directory and edit -Using index info to reconstruct a base tree... -M numbers -Falling back to patching base and 3-way merge... -Merging: -ea28ef2 file and edit -virtual directory and edit -found 1 common ancestor: -virtual 75a3e2be4ba4a7062d21fba0206758f5518d6ead -Auto-merging numbers -CONFLICT (content): Merge conflict in numbers -Adding foo/bar -Removing foo to make room for subdirectory +expecting success of 0100.6 'log -g @{-1}': + git checkout -b last_branch && + git checkout -b new_branch && + echo "last_branch@{0}" >expect && + git log -g --format=%gd @{-1} >actual && + test_cmp expect actual -CONFLICT (file/directory): There is a directory with name foo in directory and edit. Adding foo as foo~HEAD -error: Failed to merge in the changes. -hint: Use 'git am --show-current-patch=diff' to see the failed patch -Patch failed at 0001 directory and edit -When you have resolved this problem, run "git am --continue". -If you prefer to skip this patch, run "git am --skip" instead. -To restore the original branch and stop patching, run "git am --abort". -HEAD is now at ea28ef2 file and edit -Removing 0001-directory-and-edit.patch -Removing conflicts -Removing foo~HEAD -ok 6 - git am --skip succeeds despite D/F conflict +Switched to a new branch 'last_branch' +Switched to a new branch 'new_branch' +ok 6 - log -g @{-1} # passed all 6 test(s) 1..6 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1014-read-tree-confusing.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1014-read-tree-confusing/.git/ -expecting success of 1014.1 'create base tree': - echo content >file && - git add file && - git commit -m base && - blob=$(git rev-parse HEAD:file) && - tree=$(git rev-parse HEAD^{tree}) +*** t0101-at-syntax.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0101-at-syntax/.git/ +expecting success of 0101.1 'setup': + test_commit one && + test_commit two -[master (root-commit) 5d770fe] base +[master (root-commit) d79ce16] one Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 file -ok 1 - create base tree - -expecting success of 1014.2 'enable core.protectHFS for rejection tests': - git config core.protectHFS true - -ok 2 - enable core.protectHFS for rejection tests - -expecting success of 1014.3 'enable core.protectNTFS for rejection tests': - git config core.protectNTFS true - -ok 3 - enable core.protectNTFS for rejection tests + create mode 100644 one.t +[master 139b20d] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +ok 1 - setup -expecting success of 1014.4 'reject . at end of path': - printf "100644 blob %s\t%s" "$blob" "$path" >tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree [...] -- [...]' +ok 7 - notice misspelled upstream -expecting success of 1014.16 'reject .GiT{u200c} at end of path': - printf "100644 blob %s\t%s" "$blob" "$path" >tree && - bogus=$(git mktree tree && - bogus=$(git mktree [...] -- [...]' +ok 8 - complain about total nonsense -expecting success of 1014.18 'reject git~1 at end of path': - printf "100644 blob %s\t%s" "$blob" "$path" >tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree tree && - bogus=$(git mktree expect && + grep "TRANSLATORS: This is a test" "$GIT_PO_PATH"/is.po | wc -l >actual && + test_cmp expect actual -expecting success of 1014.27 'reject .git...:alternate-stream as subtree': - printf "040000 tree %s\t%s" "$tree" "$path" >tree && - bogus=$(git mktree tree && - ok=$(git mktree one && - mkdir dir && - for c in x y z $long a b c; do echo $c; done >dir/two && - cp one original.one && - cp dir/two original.two +expecting success of 0200.6 'sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease': + test -d "$TEXTDOMAINDIR" && + test "$TEXTDOMAINDIR" = "$GIT_TEXTDOMAINDIR" -ok 1 - setup +ok 6 - sanity: $TEXTDOMAINDIR exists without NO_GETTEXT=YesPlease -expecting success of 1020.2 'update-index and ls-files': - git update-index --add one && - case "$(git ls-files)" in - one) echo pass one ;; - *) echo bad one; exit 1 ;; - esac && - ( - cd dir && - git update-index --add two && - case "$(git ls-files)" in - two) echo pass two ;; - *) echo bad two; exit 1 ;; - esac - ) && - case "$(git ls-files)" in - dir/two"$LF"one) echo pass both ;; - *) echo bad; exit 1 ;; - esac +expecting success of 0200.7 'sanity: Icelandic locale was compiled': + test -f "$TEXTDOMAINDIR/is/LC_MESSAGES/git.mo" -pass one -pass two -pass both -ok 2 - update-index and ls-files +ok 7 - sanity: Icelandic locale was compiled -expecting success of 1020.3 'cat-file': - two=$(git ls-files -s dir/two) && - two=$(expr "$two" : "[0-7]* \\([0-9a-f]*\\)") && - echo "$two" && - git cat-file -p "$two" >actual && - cmp dir/two actual && - ( - cd dir && - git cat-file -p "$two" >actual && - cmp two actual - ) +expecting success of 0200.8 'sanity: gettext("") metadata is OK': + # Return value may be non-zero + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "" >zero-expect && + grep "Project-Id-Version: Git" zero-expect && + grep "Git Mailing List " zero-expect && + grep "Content-Type: text/plain; charset=UTF-8" zero-expect && + grep "Content-Transfer-Encoding: 8bit" zero-expect -c1144d0671912dd26751c1fbf1eac57a907f82c7 -ok 3 - cat-file +Project-Id-Version: Git +Report-Msgid-Bugs-To: Git Mailing List +Language-Team: Git Mailing List +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +ok 8 - sanity: gettext("") metadata is OK -expecting success of 1020.4 'diff-files': - echo a >>one && - echo d >>dir/two && - case "$(git diff-files --name-only)" in - dir/two"$LF"one) echo pass top ;; - *) echo bad top; exit 1 ;; - esac && - # diff should not omit leading paths - ( - cd dir && - case "$(git diff-files --name-only)" in - dir/two"$LF"one) echo pass subdir ;; - *) echo bad subdir; exit 1 ;; - esac && - case "$(git diff-files --name-only .)" in - dir/two) echo pass subdir limited ;; - *) echo bad subdir limited; exit 1 ;; - esac - ) +expecting success of 0200.9 'sanity: gettext(unknown) is passed through': + printf "This is not a translation string" >expect && + gettext "This is not a translation string" >actual && + eval_gettext "This is not a translation string" >actual && + test_cmp expect actual -pass top -pass subdir -pass subdir limited -ok 4 - diff-files +ok 9 - sanity: gettext(unknown) is passed through -expecting success of 1020.5 'write-tree': - top=$(git write-tree) && - echo $top && - ( - cd dir && - sub=$(git write-tree) && - echo $sub && - test "z$top" = "z$sub" - ) +expecting success of 0200.10 'xgettext: C extraction of _() and N_() strings': + printf "TILRAUN: C tilraunastrengur" >expect && + printf "\n" >>expect && + printf "Sjá 'git help SKIPUN' til að sjá hjálp fyrir tiltekna skipun." >>expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A C test string" >actual && + printf "\n" >>actual && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "See 'git help COMMAND' for more information on a specific command." >>actual && + test_cmp expect actual -cf1e35b43464cccd320d58a813e14e25fa36b1d7 -cf1e35b43464cccd320d58a813e14e25fa36b1d7 -ok 5 - write-tree +ok 10 - xgettext: C extraction of _() and N_() strings -expecting success of 1020.6 'checkout-index': - git checkout-index -f -u one && - cmp one original.one && - ( - cd dir && - git checkout-index -f -u two && - cmp two ../original.two - ) +expecting success of 0200.11 'xgettext: C extraction with %s': + printf "TILRAUN: C tilraunastrengur %%s" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A C test string %s" >actual && + test_cmp expect actual -ok 6 - checkout-index +ok 11 - xgettext: C extraction with %s -expecting success of 1020.7 'read-tree': - rm -f one dir/two && - tree=$(git write-tree) && - read_tree_u_must_succeed --reset -u "$tree" && - cmp one original.one && - cmp dir/two original.two && - ( - cd dir && - rm -f two && - read_tree_u_must_succeed --reset -u "$tree" && - cmp two ../original.two && - cmp ../one ../original.one - ) +expecting success of 0200.12 'xgettext: Shell extraction': + printf "TILRAUN: Skeljartilraunastrengur" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Shell test string" >actual && + test_cmp expect actual -ok 7 - read-tree +ok 12 - xgettext: Shell extraction -expecting success of 1020.8 'alias expansion': - ( - git config alias.test-status-alias status && - cd dir && - git status && - git test-status-alias - ) +expecting success of 0200.13 'xgettext: Shell extraction with $variable': + printf "TILRAUN: Skeljartilraunastrengur með breytunni a var i able" >x-expect && + LANGUAGE=is LC_ALL="$is_IS_locale" variable="a var i able" eval_gettext "TEST: A Shell test \$variable" >x-actual && + test_cmp x-expect x-actual -On branch master +ok 13 - xgettext: Shell extraction with $variable -No commits yet +expecting success of 0200.14 'xgettext: Perl extraction': + printf "TILRAUN: Perl tilraunastrengur" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Perl test string" >actual && + test_cmp expect actual -Changes to be committed: - (use "git rm --cached ..." to unstage) - new file: two - new file: ../one +ok 14 - xgettext: Perl extraction -Untracked files: - (use "git add ..." to include in what will be committed) - post-dry-run - post-dry-run-wt - pre-dry-run - pre-dry-run-wt - ../original.one - ../original.two - ../post-dry-run - ../post-dry-run-wt - ../pre-dry-run - ../pre-dry-run-wt +expecting success of 0200.15 'xgettext: Perl extraction with %s': + printf "TILRAUN: Perl tilraunastrengur með breytunni %%s" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: A Perl test variable %s" >actual && + test_cmp expect actual -On branch master +ok 15 - xgettext: Perl extraction with %s -No commits yet +expecting success of 0200.16 'sanity: Some gettext("") data for real locale': + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "" >real-locale && + test -s real-locale -Changes to be committed: - (use "git rm --cached ..." to unstage) - new file: two - new file: ../one +ok 16 - sanity: Some gettext("") data for real locale -Untracked files: - (use "git add ..." to include in what will be committed) - post-dry-run - post-dry-run-wt - pre-dry-run - pre-dry-run-wt - ../original.one - ../original.two - ../post-dry-run - ../post-dry-run-wt - ../pre-dry-run - ../pre-dry-run-wt +# passed all 16 test(s) +1..16 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0110-urlmatch-normalization.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0110-urlmatch-normalization/.git/ +expecting success of 0110.1 'url scheme': + ! test-tool urlmatch-normalization "" && + ! test-tool urlmatch-normalization "_" && + ! test-tool urlmatch-normalization "scheme" && + ! test-tool urlmatch-normalization "scheme:" && + ! test-tool urlmatch-normalization "scheme:/" && + ! test-tool urlmatch-normalization "scheme://" && + ! test-tool urlmatch-normalization "file" && + ! test-tool urlmatch-normalization "file:" && + ! test-tool urlmatch-normalization "file:/" && + test-tool urlmatch-normalization "file://" && + ! test-tool urlmatch-normalization "://acme.co" && + ! test-tool urlmatch-normalization "x_test://acme.co" && + ! test-tool urlmatch-normalization "-test://acme.co" && + ! test-tool urlmatch-normalization "0test://acme.co" && + ! test-tool urlmatch-normalization "+test://acme.co" && + ! test-tool urlmatch-normalization ".test://acme.co" && + ! test-tool urlmatch-normalization "schem%6e://" && + test-tool urlmatch-normalization "x-Test+v1.0://acme.co" && + test "$(test-tool urlmatch-normalization -p "AbCdeF://x.Y")" = "abcdef://x.y/" -ok 8 - alias expansion +ok 1 - url scheme -expecting success of 1020.9 '!alias expansion': - pwd >expect && - ( - git config alias.test-alias-directory !pwd && - cd dir && - git test-alias-directory >../actual - ) && - test_cmp expect actual +expecting success of 0110.2 'url authority': + ! test-tool urlmatch-normalization "scheme://user:pass@" && + ! test-tool urlmatch-normalization "scheme://?" && + ! test-tool urlmatch-normalization "scheme://#" && + ! test-tool urlmatch-normalization "scheme:///" && + ! test-tool urlmatch-normalization "scheme://:" && + ! test-tool urlmatch-normalization "scheme://:555" && + test-tool urlmatch-normalization "file://user:pass@" && + test-tool urlmatch-normalization "file://?" && + test-tool urlmatch-normalization "file://#" && + test-tool urlmatch-normalization "file:///" && + test-tool urlmatch-normalization "file://:" && + ! test-tool urlmatch-normalization "file://:555" && + test-tool urlmatch-normalization "scheme://user:pass@host" && + test-tool urlmatch-normalization "scheme://@host" && + test-tool urlmatch-normalization "scheme://%00@host" && + ! test-tool urlmatch-normalization "scheme://%%@host" && + ! test-tool urlmatch-normalization "scheme://host_" && + test-tool urlmatch-normalization "scheme://user:pass@host/" && + test-tool urlmatch-normalization "scheme://@host/" && + test-tool urlmatch-normalization "scheme://host/" && + test-tool urlmatch-normalization "scheme://host?x" && + test-tool urlmatch-normalization "scheme://host#x" && + test-tool urlmatch-normalization "scheme://host/@" && + test-tool urlmatch-normalization "scheme://host?@x" && + test-tool urlmatch-normalization "scheme://host#@x" && + test-tool urlmatch-normalization "scheme://[::1]" && + test-tool urlmatch-normalization "scheme://[::1]/" && + ! test-tool urlmatch-normalization "scheme://hos%41/" && + test-tool urlmatch-normalization "scheme://[invalid....:/" && + test-tool urlmatch-normalization "scheme://invalid....:]/" && + ! test-tool urlmatch-normalization "scheme://invalid....:[/" && + ! test-tool urlmatch-normalization "scheme://invalid....:[" -ok 9 - !alias expansion +ok 2 - url authority -expecting success of 1020.10 'GIT_PREFIX for !alias': - printf "dir/" >expect && - ( - git config alias.test-alias-directory "!sh -c \"printf \$GIT_PREFIX\"" && - cd dir && - git test-alias-directory >../actual - ) && - test_cmp expect actual +expecting success of 0110.3 'url port checks': + test-tool urlmatch-normalization "xyz://q@some.host:" && + test-tool urlmatch-normalization "xyz://q@some.host:456/" && + ! test-tool urlmatch-normalization "xyz://q@some.host:0" && + ! test-tool urlmatch-normalization "xyz://q@some.host:0000000" && + test-tool urlmatch-normalization "xyz://q@some.host:0000001?" && + test-tool urlmatch-normalization "xyz://q@some.host:065535#" && + test-tool urlmatch-normalization "xyz://q@some.host:65535" && + ! test-tool urlmatch-normalization "xyz://q@some.host:65536" && + ! test-tool urlmatch-normalization "xyz://q@some.host:99999" && + ! test-tool urlmatch-normalization "xyz://q@some.host:100000" && + ! test-tool urlmatch-normalization "xyz://q@some.host:100001" && + test-tool urlmatch-normalization "http://q@some.host:80" && + test-tool urlmatch-normalization "https://q@some.host:443" && + test-tool urlmatch-normalization "http://q@some.host:80/" && + test-tool urlmatch-normalization "https://q@some.host:443?" && + ! test-tool urlmatch-normalization "http://q@:8008" && + ! test-tool urlmatch-normalization "http://:8080" && + ! test-tool urlmatch-normalization "http://:" && + test-tool urlmatch-normalization "xyz://q@some.host:456/" && + test-tool urlmatch-normalization "xyz://[::1]:456/" && + test-tool urlmatch-normalization "xyz://[::1]:/" && + ! test-tool urlmatch-normalization "xyz://[::1]:000/" && + ! test-tool urlmatch-normalization "xyz://[::1]:0%300/" && + ! test-tool urlmatch-normalization "xyz://[::1]:0x80/" && + ! test-tool urlmatch-normalization "xyz://[::1]:4294967297/" && + ! test-tool urlmatch-normalization "xyz://[::1]:030f/" -ok 10 - GIT_PREFIX for !alias +ok 3 - url port checks -expecting success of 1020.11 'GIT_PREFIX for built-ins': - # Use GIT_EXTERNAL_DIFF to test that the "diff" built-in - # receives the GIT_PREFIX variable. - echo "dir/" >expect && - write_script diff <<-\EOF && - printf "%s\n" "$GIT_PREFIX" - EOF - ( - cd dir && - echo "change" >two && - GIT_EXTERNAL_DIFF=./diff git diff >../actual && - git checkout -- two - ) && - test_cmp expect actual +expecting success of 0110.4 'url port normalization': + test "$(test-tool urlmatch-normalization -p "http://x:800")" = "http://x:800/" && + test "$(test-tool urlmatch-normalization -p "http://x:0800")" = "http://x:800/" && + test "$(test-tool urlmatch-normalization -p "http://x:00000800")" = "http://x:800/" && + test "$(test-tool urlmatch-normalization -p "http://x:065535")" = "http://x:65535/" && + test "$(test-tool urlmatch-normalization -p "http://x:1")" = "http://x:1/" && + test "$(test-tool urlmatch-normalization -p "http://x:80")" = "http://x/" && + test "$(test-tool urlmatch-normalization -p "http://x:080")" = "http://x/" && + test "$(test-tool urlmatch-normalization -p "http://x:000000080")" = "http://x/" && + test "$(test-tool urlmatch-normalization -p "https://x:443")" = "https://x/" && + test "$(test-tool urlmatch-normalization -p "https://x:0443")" = "https://x/" && + test "$(test-tool urlmatch-normalization -p "https://x:000000443")" = "https://x/" -ok 11 - GIT_PREFIX for built-ins +ok 4 - url port normalization -expecting success of 1020.12 'no file/rev ambiguity check inside .git': - git commit -a -m 1 && - ( - cd .git && - git show -s HEAD - ) +expecting success of 0110.5 'url general escapes': + ! test-tool urlmatch-normalization "http://x.y?%fg" && + test "$(test-tool urlmatch-normalization -p "X://W/%7e%41^%3a")" = "x://w/~A%5E%3A" && + test "$(test-tool urlmatch-normalization -p "X://W/:/?#[]@")" = "x://w/:/?#[]@" && + test "$(test-tool urlmatch-normalization -p "X://W/$&()*+,;=")" = "x://w/$&()*+,;=" && + test "$(test-tool urlmatch-normalization -p "X://W/'")" = "x://w/'" && + test "$(test-tool urlmatch-normalization -p "X://W?!")" = "x://w/?!" -[master (root-commit) 63e2ba9] 1 - Author: A U Thor - 2 files changed, 58 insertions(+) - create mode 100644 dir/two - create mode 100644 one -commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c -Author: A U Thor -Date: Fri Apr 1 13:14:15 2005 +0200 +ok 5 - url general escapes - 1 -ok 12 - no file/rev ambiguity check inside .git +expecting success of 0110.6 'url high-bit escapes': + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-1")")" = "x://q/%01%02%03%04%05%06%07%08%0E%0F%10%11%12" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-2")")" = "x://q/%13%14%15%16%17%18%19%1B%1C%1D%1E%1F%7F" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-3")")" = "x://q/%80%81%82%83%84%85%86%87%88%89%8A%8B%8C%8D%8E%8F" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-4")")" = "x://q/%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-5")")" = "x://q/%A0%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-6")")" = "x://q/%B0%B1%B2%B3%B4%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-7")")" = "x://q/%C0%C1%C2%C3%C4%C5%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-8")")" = "x://q/%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-9")")" = "x://q/%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF" && + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-10")")" = "x://q/%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF" -expecting success of 1020.13 'no file/rev ambiguity check inside a bare repo (explicit GIT_DIR)': - test_when_finished "rm -fr foo.git" && - git clone -s --bare .git foo.git && - ( - cd foo.git && - # older Git needed help by exporting GIT_DIR=. - # to realize that it is inside a bare repository. - # We keep this test around for regression testing. - GIT_DIR=. git show -s HEAD - ) +ok 6 - url high-bit escapes -Cloning into bare repository 'foo.git'... -done. -commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c -Author: A U Thor -Date: Fri Apr 1 13:14:15 2005 +0200 +expecting success of 0110.7 'url utf-8 escapes': + test "$(test-tool urlmatch-normalization -p "$(cat "$tu-11")")" = "x://q/%C2%80%DF%BF%E0%A0%80%EF%BF%BD%F0%90%80%80%F0%AF%BF%BD" - 1 -ok 13 - no file/rev ambiguity check inside a bare repo (explicit GIT_DIR) +ok 7 - url utf-8 escapes -expecting success of 1020.14 'no file/rev ambiguity check inside a bare repo': - test_when_finished "rm -fr foo.git" && - git clone -s --bare .git foo.git && - ( - cd foo.git && - git show -s HEAD - ) +expecting success of 0110.8 'url username/password escapes': + test "$(test-tool urlmatch-normalization -p "x://%41%62(^):%70+d@foo")" = "x://Ab(%5E):p+d@foo/" -Cloning into bare repository 'foo.git'... -done. -commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c -Author: A U Thor -Date: Fri Apr 1 13:14:15 2005 +0200 +ok 8 - url username/password escapes - 1 -ok 14 - no file/rev ambiguity check inside a bare repo +expecting success of 0110.9 'url normalized lengths': + test "$(test-tool urlmatch-normalization -l "Http://%4d%65:%4d^%70@The.Host")" = 25 && + test "$(test-tool urlmatch-normalization -l "http://%41:%42@x.y/%61/")" = 17 && + test "$(test-tool urlmatch-normalization -l "http://@x.y/^")" = 15 -checking prerequisite: SYMLINKS +ok 9 - url normalized lengths -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 0110.10 'url . and .. segments': + test "$(test-tool urlmatch-normalization -p "x://y/.")" = "x://y/" && + test "$(test-tool urlmatch-normalization -p "x://y/./")" = "x://y/" && + test "$(test-tool urlmatch-normalization -p "x://y/a/.")" = "x://y/a" && + test "$(test-tool urlmatch-normalization -p "x://y/a/./")" = "x://y/a/" && + test "$(test-tool urlmatch-normalization -p "x://y/.?")" = "x://y/?" && + test "$(test-tool urlmatch-normalization -p "x://y/./?")" = "x://y/?" && + test "$(test-tool urlmatch-normalization -p "x://y/a/.?")" = "x://y/a?" && + test "$(test-tool urlmatch-normalization -p "x://y/a/./?")" = "x://y/a/?" && + test "$(test-tool urlmatch-normalization -p "x://y/a/./b/.././../c")" = "x://y/c" && + test "$(test-tool urlmatch-normalization -p "x://y/a/./b/../.././c/")" = "x://y/c/" && + test "$(test-tool urlmatch-normalization -p "x://y/a/./b/.././../c/././.././.")" = "x://y/" && + ! test-tool urlmatch-normalization "x://y/a/./b/.././../c/././.././.." && + test "$(test-tool urlmatch-normalization -p "x://y/a/./?/././..")" = "x://y/a/?/././.." && + test "$(test-tool urlmatch-normalization -p "x://y/%2e/")" = "x://y/" && + test "$(test-tool urlmatch-normalization -p "x://y/%2E/")" = "x://y/" && + test "$(test-tool urlmatch-normalization -p "x://y/a/%2e./")" = "x://y/" && + test "$(test-tool urlmatch-normalization -p "x://y/b/.%2E/")" = "x://y/" && + test "$(test-tool urlmatch-normalization -p "x://y/c/%2e%2E/")" = "x://y/" -) -prerequisite SYMLINKS ok -expecting success of 1020.15 'detection should not be fooled by a symlink': - git clone -s .git another && - ln -s another yetanother && - ( - cd yetanother/.git && - git show -s HEAD - ) +ok 10 - url . and .. segments -Cloning into 'another'... -done. -commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c -Author: A U Thor -Date: Fri Apr 1 13:14:15 2005 +0200 +expecting success of 0110.11 'url equivalents': + test-tool urlmatch-normalization "httP://x" "Http://X/" && + test-tool urlmatch-normalization "Http://%4d%65:%4d^%70@The.Host" "hTTP://Me:%4D^p@the.HOST:80/" && + ! test-tool urlmatch-normalization "https://@x.y/^" "httpS://x.y:443/^" && + test-tool urlmatch-normalization "https://@x.y/^" "httpS://@x.y:0443/^" && + test-tool urlmatch-normalization "https://@x.y/^/../abc" "httpS://@x.y:0443/abc" && + test-tool urlmatch-normalization "https://@x.y/^/.." "httpS://@x.y:0443/" - 1 -ok 15 - detection should not be fooled by a symlink +ok 11 - url equivalents -# passed all 15 test(s) -1..15 +# passed all 11 test(s) +1..11 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1012-read-tree-df.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1012-read-tree-df/.git/ -expecting success of 1012.1 'setup': - maketree O-000 a/b-2/c/d a/b/c/d a/x && - maketree A-000 a/b-2/c/d a/b/c/d a/x && - maketree A-001 a/b-2/c/d a/b/c/d a/b/c/e a/x && - maketree B-000 a/b-2/c/d a/b a/x && +*** t0090-cache-tree.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0090-cache-tree/.git/ +expecting success of 0090.1 'initial commit has cache-tree': + test_commit foo && + test_cache_tree - maketree O-010 t-0 t/1 t/2 t=3 && - maketree A-010 t-0 t t=3 && - maketree B-010 t/1: t=3: && +[master (root-commit) ddd63c9] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +ok 1 - initial commit has cache-tree - maketree O-020 ds/dma/ioat.c ds/dma/ioat_dca.c && - maketree A-020 ds/dma/ioat/Makefile ds/dma/ioat/registers.h && - : +expecting success of 0090.2 'read-tree HEAD establishes cache-tree': + git read-tree HEAD && + test_cache_tree -ok 1 - setup +ok 2 - read-tree HEAD establishes cache-tree -expecting success of 1012.2 '3-way (1)': - settree A-000 && - read_tree_u_must_succeed -m -u O-000 A-000 B-000 && - checkindex <<-EOF - 3 a/b - 0 a/b-2/c/d - 1 a/b/c/d - 2 a/b/c/d - 0 a/x - EOF +expecting success of 0090.3 'git-add invalidates cache-tree': + test_when_finished "git reset --hard; git read-tree HEAD" && + echo "I changed this file" >foo && + git add foo && + test_invalid_cache_tree -ok 2 - 3-way (1) +HEAD is now at ddd63c9 foo +ok 3 - git-add invalidates cache-tree -expecting success of 1012.3 '3-way (2)': - settree A-001 && - read_tree_u_must_succeed -m -u O-000 A-001 B-000 && - checkindex <<-EOF - 3 a/b - 0 a/b-2/c/d - 1 a/b/c/d - 2 a/b/c/d - 2 a/b/c/e - 0 a/x - EOF +expecting success of 0090.4 'git-add in subdir invalidates cache-tree': + test_when_finished "git reset --hard; git read-tree HEAD" && + mkdir dirx && + echo "I changed this file" >dirx/foo && + git add dirx/foo && + test_invalid_cache_tree -ok 3 - 3-way (2) +error: invalid object 040000 59d259507ddf2acc00997a8b70c61d7bdc240440 for 'dirx' +HEAD is now at ddd63c9 foo +ok 4 - git-add in subdir invalidates cache-tree -expecting success of 1012.4 '3-way (3)': - settree A-010 && - read_tree_u_must_succeed -m -u O-010 A-010 B-010 && - checkindex <<-EOF - 2 t - 1 t-0 - 2 t-0 - 1 t/1 - 3 t/1 - 1 t/2 - 0 t=3 - EOF +expecting success of 0090.5 'git-add in subdir does not invalidate sibling cache-tree': + git tag no-children && + test_when_finished "git reset --hard no-children; git read-tree HEAD" && + mkdir dir1 dir2 && + test_commit dir1/a && + test_commit dir2/b && + echo "I changed this file" >dir1/a && + cmp_cache_tree before && + echo "I changed this file" >dir1/a && + git add dir1/a && + cmp_cache_tree expect -ok 4 - 3-way (3) +[master 365c8fc] dir1/a + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 dir1/a.t +[master 8be4607] dir2/b + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 dir2/b.t +error: invalid object 040000 3b5b859722b671676295bf3795f34b8c6f2393f5 for 'dir1' +HEAD is now at ddd63c9 foo +ok 5 - git-add in subdir does not invalidate sibling cache-tree -expecting success of 1012.5 '2-way (1)': - settree O-020 && - read_tree_u_must_succeed -m -u O-020 A-020 && - checkindex <<-EOF - 0 ds/dma/ioat/Makefile - 0 ds/dma/ioat/registers.h - EOF +expecting success of 0090.6 'update-index invalidates cache-tree': + test_when_finished "git reset --hard; git read-tree HEAD" && + echo "I changed this file" >foo && + git update-index --add foo && + test_invalid_cache_tree -ok 5 - 2-way (1) +HEAD is now at ddd63c9 foo +ok 6 - update-index invalidates cache-tree -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1000-read-tree-m-3way.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1000-read-tree-m-3way/.git/ -expecting success of 1000.1 'adding test file NN and Z/NN': git update-index --add $p && - git update-index --add Z/$p -ok 1 - adding test file NN and Z/NN +expecting success of 0090.7 'write-tree establishes cache-tree': + test-tool scrap-cache-tree && + git write-tree && + test_cache_tree -expecting success of 1000.2 'adding test file ND and Z/ND': git update-index --add $p && - git update-index --add Z/$p -ok 2 - adding test file ND and Z/ND +64fd3796c57084e7b8cbae358ce37970b8e954f6 +ok 7 - write-tree establishes cache-tree -expecting success of 1000.3 'adding test file NM and Z/NM': git update-index --add $p && - git update-index --add Z/$p -ok 3 - adding test file NM and Z/NM +expecting success of 0090.8 'test-tool scrap-cache-tree works': + git read-tree HEAD && + test-tool scrap-cache-tree && + test_no_cache_tree -expecting success of 1000.4 'adding test file DN and Z/DN': git update-index --add $p && - git update-index --add Z/$p -ok 4 - adding test file DN and Z/DN +ok 8 - test-tool scrap-cache-tree works -expecting success of 1000.5 'adding test file DD and Z/DD': git update-index --add $p && - git update-index --add Z/$p -ok 5 - adding test file DD and Z/DD +expecting success of 0090.9 'second commit has cache-tree': + test_commit bar && + test_cache_tree -expecting success of 1000.6 'adding test file DM and Z/DM': git update-index --add $p && - git update-index --add Z/$p -ok 6 - adding test file DM and Z/DM +[master eeeeed8] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar.t +ok 9 - second commit has cache-tree -expecting success of 1000.7 'adding test file MN and Z/MN': git update-index --add $p && - git update-index --add Z/$p -ok 7 - adding test file MN and Z/MN +expecting success of 0090.10 'commit --interactive gives cache-tree on partial commit': + cat <<-\EOT >foo.c && + int foo() + { + return 42; + } + int bar() + { + return 42; + } + EOT + git add foo.c && + test_invalid_cache_tree && + git commit -m "add a file" && + test_cache_tree && + cat <<-\EOT >foo.c && + int foo() + { + return 43; + } + int bar() + { + return 44; + } + EOT + test_write_lines p 1 "" s n y q | + git commit --interactive -m foo && + test_cache_tree -expecting success of 1000.8 'adding test file MD and Z/MD': git update-index --add $p && - git update-index --add Z/$p -ok 8 - adding test file MD and Z/MD +[master d1075a6] add a file + Author: A U Thor + 1 file changed, 8 insertions(+) + create mode 100644 foo.c + staged unstaged path + 1: unchanged +2/-2 foo.c -expecting success of 1000.9 'adding test file MM and Z/MM': git update-index --add $p && - git update-index --add Z/$p -ok 9 - adding test file MM and Z/MM +*** Commands *** + 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked + 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp +What now> staged unstaged path + 1: unchanged +2/-2 [f]oo.c +Patch update>> staged unstaged path +* 1: unchanged +2/-2 [f]oo.c +Patch update>> diff --git a/foo.c b/foo.c +index 75522e2..3f7f049 100644 +--- a/foo.c ++++ b/foo.c +@@ -1,8 +1,8 @@ + int foo() + { +-return 42; ++return 43; + } + int bar() + { +-return 42; ++return 44; + } +(1/1) Stage this hunk [y,n,q,a,d,s,e,?]? Split into 2 hunks. +@@ -1,6 +1,6 @@ + int foo() + { +-return 42; ++return 43; + } + int bar() + { +(1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? @@ -4,5 +4,5 @@ + } + int bar() + { +-return 42; ++return 44; + } +(2/2) Stage this hunk [y,n,q,a,d,K,g,/,e,?]? +*** Commands *** + 1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked + 5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp +What now> Bye. +[master 65d7dde] foo + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +ok 10 - commit --interactive gives cache-tree on partial commit -expecting success of 1000.10 'adding test file SS': git update-index --add SS -ok 10 - adding test file SS +expecting success of 0090.11 'commit -p with shrinking cache-tree': + mkdir -p deep/very-long-subdir && + echo content >deep/very-long-subdir/file && + git add deep && + git commit -m add && + git rm -r deep && -expecting success of 1000.11 'adding test file TT': git update-index --add TT -ok 11 - adding test file TT + before=$(wc -c <.git/index) && + git commit -m delete -p && + after=$(wc -c <.git/index) && -expecting success of 1000.12 'prepare initial tree': tree_O=$(git write-tree) -ok 12 - prepare initial tree + # double check that the index shrank + test $before -gt $after && -expecting success of 1000.13 'change in branch A (removal)': git update-index --remove $to_remove -ok 13 - change in branch A (removal) + # and that our index was not corrupted + git fsck -expecting success of 1000.14 'change in branch A (modification)': git update-index MD -ok 14 - change in branch A (modification) +[master 10c383a] add + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 deep/very-long-subdir/file +rm 'deep/very-long-subdir/file' +diff --git a/foo.c b/foo.c +index f0f3133..3f7f049 100644 +--- a/foo.c ++++ b/foo.c +@@ -1,6 +1,6 @@ + int foo() + { +-return 42; ++return 43; + } + int bar() + { +(1/1) Stage this hunk [y,n,q,a,d,e,?]? +[master 73c66c3] delete + Author: A U Thor + 1 file changed, 1 deletion(-) + delete mode 100644 deep/very-long-subdir/file +dangling blob d238b40d1657b1cc3ebd9a3c55ef04f303c694ae +ok 11 - commit -p with shrinking cache-tree -expecting success of 1000.15 'change in branch A (modification)': git update-index MM -ok 15 - change in branch A (modification) +expecting success of 0090.12 'commit in child dir has cache-tree': + mkdir dir && + >dir/child.t && + git add dir/child.t && + git commit -m dir/child.t && + test_cache_tree -expecting success of 1000.16 'change in branch A (modification)': git update-index MN -ok 16 - change in branch A (modification) +[master d3413ee] dir/child.t + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 dir/child.t +ok 12 - commit in child dir has cache-tree -expecting success of 1000.17 'change in branch A (modification)': git update-index Z/MD -ok 17 - change in branch A (modification) +expecting success of 0090.13 'reset --hard gives cache-tree': + test-tool scrap-cache-tree && + git reset --hard && + test_cache_tree -expecting success of 1000.18 'change in branch A (modification)': git update-index Z/MM -ok 18 - change in branch A (modification) +HEAD is now at d3413ee dir/child.t +ok 13 - reset --hard gives cache-tree -expecting success of 1000.19 'change in branch A (modification)': git update-index Z/MN -ok 19 - change in branch A (modification) +expecting success of 0090.14 'reset --hard without index gives cache-tree': + rm -f .git/index && + git reset --hard && + test_cache_tree -expecting success of 1000.20 'change in branch A (addition)': git update-index --add AN -ok 20 - change in branch A (addition) +HEAD is now at d3413ee dir/child.t +ok 14 - reset --hard without index gives cache-tree -expecting success of 1000.21 'change in branch A (addition)': git update-index --add AA -ok 21 - change in branch A (addition) +expecting success of 0090.15 'checkout gives cache-tree': + git tag current && + git checkout HEAD^ && + test_cache_tree -expecting success of 1000.22 'change in branch A (addition)': git update-index --add Z/AN -ok 22 - change in branch A (addition) +Note: switching to 'HEAD^'. -expecting success of 1000.23 'change in branch A (addition)': git update-index --add Z/AA -ok 23 - change in branch A (addition) +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 1000.24 'change in branch A (addition)': git update-index --add LL && - git update-index SS -ok 24 - change in branch A (addition) +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 1000.25 'change in branch A (edit)': git update-index TT -ok 25 - change in branch A (edit) + git switch -c -expecting success of 1000.26 'change in branch A (change file to directory)': git update-index --add DF/DF -ok 26 - change in branch A (change file to directory) +Or undo this operation with: -expecting success of 1000.27 'recording branch A tree': tree_A=$(git write-tree) -ok 27 - recording branch A tree + git switch - -expecting success of 1000.28 'reading original tree and checking out': git read-tree $tree_O && - git checkout-index -a -ok 28 - reading original tree and checking out +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 1000.29 'change in branch B (removal)': git update-index --remove DD MD ND Z/DD Z/MD Z/ND -ok 29 - change in branch B (removal) +HEAD is now at 73c66c3 delete +ok 15 - checkout gives cache-tree -expecting success of 1000.30 'change in branch B (modification)': git update-index DM -ok 30 - change in branch B (modification) +expecting success of 0090.16 'checkout -b gives cache-tree': + git checkout current && + git checkout -b prev HEAD^ && + test_cache_tree -expecting success of 1000.31 'change in branch B (modification)': git update-index MM -ok 31 - change in branch B (modification) +Previous HEAD position was 73c66c3 delete +HEAD is now at d3413ee dir/child.t +Previous HEAD position was d3413ee dir/child.t +Switched to a new branch 'prev' +ok 16 - checkout -b gives cache-tree -expecting success of 1000.32 'change in branch B (modification)': git update-index NM -ok 32 - change in branch B (modification) +expecting success of 0090.17 'checkout -B gives cache-tree': + git checkout current && + git checkout -B prev HEAD^ && + test_cache_tree -expecting success of 1000.33 'change in branch B (modification)': git update-index Z/DM -ok 33 - change in branch B (modification) +Note: switching to 'current'. -expecting success of 1000.34 'change in branch B (modification)': git update-index Z/MM -ok 34 - change in branch B (modification) +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 1000.35 'change in branch B (modification)': git update-index Z/NM -ok 35 - change in branch B (modification) +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 1000.36 'change in branch B (addition)': git update-index --add NA -ok 36 - change in branch B (addition) + git switch -c -expecting success of 1000.37 'change in branch B (addition)': git update-index --add AA -ok 37 - change in branch B (addition) +Or undo this operation with: -expecting success of 1000.38 'change in branch B (addition)': git update-index --add Z/NA -ok 38 - change in branch B (addition) + git switch - -expecting success of 1000.39 'change in branch B (addition)': git update-index --add Z/AA -ok 39 - change in branch B (addition) +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 1000.40 'change in branch B (addition and modification)': git update-index --add LL && - git update-index SS -ok 40 - change in branch B (addition and modification) +HEAD is now at d3413ee dir/child.t +Previous HEAD position was d3413ee dir/child.t +Switched to and reset branch 'prev' +ok 17 - checkout -B gives cache-tree -expecting success of 1000.41 'change in branch B (modification)': git update-index TT -ok 41 - change in branch B (modification) +expecting success of 0090.18 'merge --ff-only maintains cache-tree': + git checkout current && + git checkout -b changes && + test_commit llamas && + test_commit pachyderm && + test_cache_tree && + git checkout current && + test_cache_tree && + git merge --ff-only changes && + test_cache_tree -expecting success of 1000.42 'change in branch B (addition of a file to conflict with directory)': git update-index --add DF -ok 42 - change in branch B (addition of a file to conflict with directory) +Note: switching to 'current'. -expecting success of 1000.43 'recording branch B tree': tree_B=$(git write-tree) -ok 43 - recording branch B tree +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 1000.44 'keep contents of 3 trees for easy access': rm -f .git/index && - git read-tree $tree_O && - mkdir .orig-O && - git checkout-index --prefix=.orig-O/ -f -q -a && - rm -f .git/index && - git read-tree $tree_A && - mkdir .orig-A && - git checkout-index --prefix=.orig-A/ -f -q -a && - rm -f .git/index && - git read-tree $tree_B && - mkdir .orig-B && - git checkout-index --prefix=.orig-B/ -f -q -a -ok 44 - keep contents of 3 trees for easy access +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 1000.45 '3-way merge with git read-tree -m, empty cache': - rm -fr [NDMALTS][NDMALTSF] Z && - rm .git/index && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result + git switch -c -ok 45 - 3-way merge with git read-tree -m, empty cache +Or undo this operation with: -expecting success of 1000.46 '3-way merge with git read-tree -m, match H': - rm -fr [NDMALTS][NDMALTSF] Z && - rm .git/index && - read_tree_must_succeed $tree_A && - git checkout-index -f -u -a && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result + git switch - -ok 46 - 3-way merge with git read-tree -m, match H +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 1000.47 '1 - must not have an entry not in A.': - rm -f .git/index XX && - echo XX >XX && - git update-index --add XX && - read_tree_must_fail -m $tree_O $tree_A $tree_B +HEAD is now at d3413ee dir/child.t +Switched to a new branch 'changes' +[changes 229c856] llamas + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 llamas.t +[changes f10d9f3] pachyderm + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 pachyderm.t +Note: switching to 'current'. -error: Entry 'XX' would be overwritten by merge. Cannot merge. -error: Entry 'XX' would be overwritten by merge. Cannot merge. -ok 47 - 1 - must not have an entry not in A. +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 1000.48 '2 - must match B in !O && !A && B case.': - rm -f .git/index NA && - cp .orig-B/NA NA && - git update-index --add NA && - read_tree_must_succeed -m $tree_O $tree_A $tree_B +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -ok 48 - 2 - must match B in !O && !A && B case. + git switch -c -expecting success of 1000.49 '2 - matching B alone is OK in !O && !A && B case.': - rm -f .git/index NA && - cp .orig-B/NA NA && - git update-index --add NA && - echo extra >>NA && - read_tree_must_succeed -m $tree_O $tree_A $tree_B +Or undo this operation with: -ok 49 - 2 - matching B alone is OK in !O && !A && B case. + git switch - -expecting success of 1000.50 '3 - must match A in !O && A && !B case.': - rm -f .git/index AN && - cp .orig-A/AN AN && - git update-index --add AN && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +Turn off this advice by setting config variable advice.detachedHead to false -ok 50 - 3 - must match A in !O && A && !B case. +HEAD is now at d3413ee dir/child.t +Updating d3413ee..f10d9f3 +Fast-forward + llamas.t | 1 + + pachyderm.t | 1 + + 2 files changed, 2 insertions(+) + create mode 100644 llamas.t + create mode 100644 pachyderm.t +ok 18 - merge --ff-only maintains cache-tree -expecting success of 1000.51 '3 - matching A alone is OK in !O && A && !B case.': - rm -f .git/index AN && - cp .orig-A/AN AN && - git update-index --add AN && - echo extra >>AN && - read_tree_must_succeed -m $tree_O $tree_A $tree_B +expecting success of 0090.19 'merge maintains cache-tree': + git checkout current && + git checkout -b changes2 && + test_commit alpacas && + test_cache_tree && + git checkout current && + test_commit struthio && + test_cache_tree && + git merge changes2 && + test_cache_tree -ok 51 - 3 - matching A alone is OK in !O && A && !B case. +Previous HEAD position was f10d9f3 pachyderm +HEAD is now at d3413ee dir/child.t +Switched to a new branch 'changes2' +[changes2 4b1575a] alpacas + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 alpacas.t +Note: switching to 'current'. -expecting success of 1000.52 '3 (fail) - must match A in !O && A && !B case.': - rm -f .git/index AN && - cp .orig-A/AN AN && - echo extra >>AN && - git update-index --add AN && - read_tree_must_fail -m $tree_O $tree_A $tree_B +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -error: Entry 'AN' would be overwritten by merge. Cannot merge. -error: Entry 'AN' would be overwritten by merge. Cannot merge. -ok 52 - 3 (fail) - must match A in !O && A && !B case. +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 1000.53 '4 - must match and be up-to-date in !O && A && B && A!=B case.': - rm -f .git/index AA && - cp .orig-A/AA AA && - git update-index --add AA && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result + git switch -c -ok 53 - 4 - must match and be up-to-date in !O && A && B && A!=B case. +Or undo this operation with: -expecting success of 1000.54 '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.': - rm -f .git/index AA && - cp .orig-A/AA AA && - git update-index --add AA && - echo extra >>AA && - read_tree_must_fail -m $tree_O $tree_A $tree_B + git switch - -error: Entry 'AA' not uptodate. Cannot merge. -error: Entry 'AA' not uptodate. Cannot merge. -ok 54 - 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case. +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 1000.55 '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.': - rm -f .git/index AA && - cp .orig-A/AA AA && - echo extra >>AA && - git update-index --add AA && - read_tree_must_fail -m $tree_O $tree_A $tree_B +HEAD is now at d3413ee dir/child.t +[detached HEAD 5a63c6d] struthio + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 struthio.t +Merging: +5a63c6d struthio +virtual changes2 +found 1 common ancestor: +d3413ee dir/child.t +Merge made by the 'recursive' strategy. + alpacas.t | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 alpacas.t +ok 19 - merge maintains cache-tree -error: Entry 'AA' would be overwritten by merge. Cannot merge. -error: Entry 'AA' would be overwritten by merge. Cannot merge. -ok 55 - 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case. +expecting success of 0090.20 'partial commit gives cache-tree': + git checkout -b partial no-children && + test_commit one && + test_commit two && + echo "some change" >one.t && + git add one.t && + echo "some other change" >two.t && + git commit two.t -m partial && + test_cache_tree -expecting success of 1000.56 '5 - must match in !O && A && B && A==B case.': - rm -f .git/index LL && - cp .orig-A/LL LL && - git update-index --add LL && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +Warning: you are leaving 1 commit behind, not connected to +any of your branches: -ok 56 - 5 - must match in !O && A && B && A==B case. + e104fa1 Merge branch 'changes2' into HEAD -expecting success of 1000.57 '5 - must match in !O && A && B && A==B case.': - rm -f .git/index LL && - cp .orig-A/LL LL && - git update-index --add LL && - echo extra >>LL && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +If you want to keep it by creating a new branch, this may be a good time +to do so with: -ok 57 - 5 - must match in !O && A && B && A==B case. + git branch e104fa1 -expecting success of 1000.58 '5 (fail) - must match A in !O && A && B && A==B case.': - rm -f .git/index LL && - cp .orig-A/LL LL && - echo extra >>LL && - git update-index --add LL && - read_tree_must_fail -m $tree_O $tree_A $tree_B +Switched to a new branch 'partial' +[partial 6771940] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +[partial cd7fad9] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +[partial f24c7c2] partial + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +ok 20 - partial commit gives cache-tree -error: Entry 'LL' would be overwritten by merge. Cannot merge. -error: Entry 'LL' would be overwritten by merge. Cannot merge. -ok 58 - 5 (fail) - must match A in !O && A && B && A==B case. +expecting success of 0090.21 'no phantom error when switching trees': + mkdir newdir && + >newdir/one && + git add newdir/one && + git checkout 2>errors && + test_must_be_empty errors -expecting success of 1000.59 '6 - must not exist in O && !A && !B case': - rm -f .git/index DD && - echo DD >DD && - git update-index --add DD && - read_tree_must_fail -m $tree_O $tree_A $tree_B +A newdir/one +M one.t +ok 21 - no phantom error when switching trees -error: Entry 'DD' would be overwritten by merge. Cannot merge. -error: Entry 'DD' would be overwritten by merge. Cannot merge. -ok 59 - 6 - must not exist in O && !A && !B case +expecting success of 0090.22 'switching trees does not invalidate shared index': + ( + sane_unset GIT_TEST_SPLIT_INDEX && + git update-index --split-index && + >split && + git add split && + test-tool dump-split-index .git/index | grep -v ^own >before && + git commit -m "as-is" && + test-tool dump-split-index .git/index | grep -v ^own >after && + test_cmp before after + ) -expecting success of 1000.60 '7 - must not exist in O && !A && B && O!=B case': - rm -f .git/index DM && - cp .orig-B/DM DM && - git update-index --add DM && - read_tree_must_fail -m $tree_O $tree_A $tree_B +[partial dc7a831] as-is + Author: A U Thor + 3 files changed, 1 insertion(+), 1 deletion(-) + create mode 100644 newdir/one + create mode 100644 split +ok 22 - switching trees does not invalidate shared index -error: Entry 'DM' would be overwritten by merge. Cannot merge. -error: Entry 'DM' would be overwritten by merge. Cannot merge. -ok 60 - 7 - must not exist in O && !A && B && O!=B case +# passed all 22 test(s) +1..22 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0201-gettext-fallbacks.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0201-gettext-fallbacks/.git/ +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1000.61 '8 - must not exist in O && !A && B && O==B case': - rm -f .git/index DN && - cp .orig-B/DN DN && - git update-index --add DN && - read_tree_must_fail -m $tree_O $tree_A $tree_B +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -error: Entry 'DN' would be overwritten by merge. Cannot merge. -error: Entry 'DN' would be overwritten by merge. Cannot merge. -ok 61 - 8 - must not exist in O && !A && B && O==B case +) +prerequisite C_LOCALE_OUTPUT ok +# lib-gettext: No is_IS UTF-8 locale available +# lib-gettext: No is_IS ISO-8859-1 locale available +expecting success of 0201.1 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough)': + test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME" -expecting success of 1000.62 '9 - must match and be up-to-date in O && A && !B && O!=A case': - rm -f .git/index MD && - cp .orig-A/MD MD && - git update-index --add MD && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to fallthrough) -ok 62 - 9 - must match and be up-to-date in O && A && !B && O!=A case +expecting success of 0201.2 'sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set': + test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" -expecting success of 1000.63 '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case': - rm -f .git/index MD && - cp .orig-A/MD MD && - git update-index --add MD && - echo extra >>MD && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 2 - sanity: $GIT_INTERNAL_GETTEXT_TEST_FALLBACKS is set -error: Entry 'MD' not uptodate. Cannot merge. -error: Entry 'MD' not uptodate. Cannot merge. -ok 63 - 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case +expecting success of 0201.3 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough': + echo fallthrough >expect && + echo $GIT_INTERNAL_GETTEXT_SH_SCHEME >actual && + test_cmp expect actual -expecting success of 1000.64 '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case': - rm -f .git/index MD && - cp .orig-A/MD MD && - echo extra >>MD && - git update-index --add MD && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 3 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is fallthrough -error: Entry 'MD' would be overwritten by merge. Cannot merge. -error: Entry 'MD' would be overwritten by merge. Cannot merge. -ok 64 - 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case +expecting success of 0201.4 'gettext: our gettext() fallback has pass-through semantics': + printf "test" >expect && + gettext "test" >actual && + test_i18ncmp expect actual && + printf "test more words" >expect && + gettext "test more words" >actual && + test_i18ncmp expect actual -expecting success of 1000.65 '10 - must match and be up-to-date in O && A && !B && O==A case': - rm -f .git/index ND && - cp .orig-A/ND ND && - git update-index --add ND && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 4 - gettext: our gettext() fallback has pass-through semantics -ok 65 - 10 - must match and be up-to-date in O && A && !B && O==A case +expecting success of 0201.5 'eval_gettext: our eval_gettext() fallback has pass-through semantics': + printf "test" >expect && + eval_gettext "test" >actual && + test_i18ncmp expect actual && + printf "test more words" >expect && + eval_gettext "test more words" >actual && + test_i18ncmp expect actual -expecting success of 1000.66 '10 (fail) - must match and be up-to-date in O && A && !B && O==A case': - rm -f .git/index ND && - cp .orig-A/ND ND && - git update-index --add ND && - echo extra >>ND && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 5 - eval_gettext: our eval_gettext() fallback has pass-through semantics -error: Entry 'ND' not uptodate. Cannot merge. -error: Entry 'ND' not uptodate. Cannot merge. -ok 66 - 10 (fail) - must match and be up-to-date in O && A && !B && O==A case +expecting success of 0201.6 'eval_gettext: our eval_gettext() fallback can interpolate variables': + printf "test YesPlease" >expect && + GIT_INTERNAL_GETTEXT_TEST_FALLBACKS=YesPlease eval_gettext "test \$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS" >actual && + test_i18ncmp expect actual -expecting success of 1000.67 '10 (fail) - must match and be up-to-date in O && A && !B && O==A case': - rm -f .git/index ND && - cp .orig-A/ND ND && - echo extra >>ND && - git update-index --add ND && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 6 - eval_gettext: our eval_gettext() fallback can interpolate variables -error: Entry 'ND' would be overwritten by merge. Cannot merge. -error: Entry 'ND' would be overwritten by merge. Cannot merge. -ok 67 - 10 (fail) - must match and be up-to-date in O && A && !B && O==A case +expecting success of 0201.7 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces': + cmdline="git am" && + export cmdline && + printf "When you have resolved this problem, run git am --resolved." >expect && + eval_gettext "When you have resolved this problem, run \$cmdline --resolved." >actual && + test_i18ncmp expect actual -expecting success of 1000.68 '11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case': - rm -f .git/index MM && - cp .orig-A/MM MM && - git update-index --add MM && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 7 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces -ok 68 - 11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case +expecting success of 0201.8 'eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes': + cmdline="git am" && + export cmdline && + printf "When you have resolved this problem, run \"git am --resolved\"." >expect && + eval_gettext "When you have resolved this problem, run \"\$cmdline --resolved\"." >actual && + test_i18ncmp expect actual -expecting success of 1000.69 '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case': - rm -f .git/index MM && - cp .orig-A/MM MM && - git update-index --add MM && - echo extra >>MM && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 8 - eval_gettext: our eval_gettext() fallback can interpolate variables with spaces and quotes -error: Entry 'MM' not uptodate. Cannot merge. -error: Entry 'MM' not uptodate. Cannot merge. -ok 69 - 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0202-gettext-perl.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0202-gettext-perl/.git/ +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1000.70 '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case': - rm -f .git/index MM && - cp .orig-A/MM MM && - echo extra >>MM && - git update-index --add MM && - read_tree_must_fail -m $tree_O $tree_A $tree_B +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -error: Entry 'MM' would be overwritten by merge. Cannot merge. -error: Entry 'MM' would be overwritten by merge. Cannot merge. -ok 70 - 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case +) +prerequisite C_LOCALE_OUTPUT ok +# lib-gettext: Found 'is_IS.utf8' as an is_IS UTF-8 locale +# lib-gettext: No is_IS ISO-8859-1 locale available +# run 0: Perl Git::I18N API (perl /build/git-2.30.2/t/t0202/test.pl) +1..13 +ok 1 - Testing Git::I18N with NO Perl gettext library +ok 2 - Git::I18N is located at /build/git-2.30.2/t/../perl/build/lib/Git/I18N.pm +ok 3 - sanity: Git::I18N has 3 export(s) +ok 4 - sanity: Git::I18N exports everything by default +ok 5 - sanity: __ has a $ prototype +ok 6 - sanity: N__ has a $ prototype +ok 7 - sanity: __n has a $$$ prototype +ok 8 - Passing a string through __() in the C locale works +ok 9 - Get singular string through __n() in C locale +ok 10 - Get plural string through __n() in C locale +ok 11 - Passing a string through N__() in the C locale works +ok 12 - Without a gettext library + locale turns into +ok 13 - Without a gettext library + locale turns into +# test_external test Perl Git::I18N API was ok +# expecting no stderr from previous command +# test_external_without_stderr test no stderr: Perl Git::I18N API was ok +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0203-gettext-setlocale-sanity.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0203-gettext-setlocale-sanity/.git/ +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1000.71 '12 - must match A in O && A && B && O!=A && A==B case': - rm -f .git/index SS && - cp .orig-A/SS SS && - git update-index --add SS && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -ok 71 - 12 - must match A in O && A && B && O!=A && A==B case +) +prerequisite C_LOCALE_OUTPUT ok +# lib-gettext: Found 'is_IS.utf8' as an is_IS UTF-8 locale +# lib-gettext: No is_IS ISO-8859-1 locale available +expecting success of 0203.1 'git show a ISO-8859-1 commit under C locale': + . "$TEST_DIRECTORY"/t3901/8859-1.txt && + test_commit "iso-c-commit" iso-under-c && + git show >out 2>err && + test_must_be_empty err && + grep -q "iso-c-commit" out -expecting success of 1000.72 '12 - must match A in O && A && B && O!=A && A==B case': - rm -f .git/index SS && - cp .orig-A/SS SS && - git update-index --add SS && - echo extra >>SS && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +Warning: commit message did not conform to UTF-8. +You may want to amend it after fixing the message, or set the config +variable i18n.commitencoding to the encoding your project uses. +[master (root-commit) f2030b4] iso-c-commit + Author: Ãéí óú + 1 file changed, 1 insertion(+) + create mode 100644 iso-under-c +ok 1 - git show a ISO-8859-1 commit under C locale -ok 72 - 12 - must match A in O && A && B && O!=A && A==B case +expecting success of 0203.2 'git show a ISO-8859-1 commit under a UTF-8 locale': + . "$TEST_DIRECTORY"/t3901/8859-1.txt && + test_commit "iso-utf8-commit" iso-under-utf8 && + LANGUAGE=is LC_ALL="$is_IS_locale" git show >out 2>err && + test_must_be_empty err && + grep -q "iso-utf8-commit" out -expecting success of 1000.73 '12 (fail) - must match A in O && A && B && O!=A && A==B case': - rm -f .git/index SS && - cp .orig-A/SS SS && - echo extra >>SS && - git update-index --add SS && - read_tree_must_fail -m $tree_O $tree_A $tree_B +Warning: commit message did not conform to UTF-8. +You may want to amend it after fixing the message, or set the config +variable i18n.commitencoding to the encoding your project uses. +[master 7495ea2] iso-utf8-commit + Author: Ãéí óú + 1 file changed, 1 insertion(+) + create mode 100644 iso-under-utf8 +ok 2 - git show a ISO-8859-1 commit under a UTF-8 locale -error: Entry 'SS' would be overwritten by merge. Cannot merge. -error: Entry 'SS' would be overwritten by merge. Cannot merge. -ok 73 - 12 (fail) - must match A in O && A && B && O!=A && A==B case +# passed all 2 test(s) +1..2 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0204-gettext-reencode-sanity.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0204-gettext-reencode-sanity/.git/ +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1000.74 '13 - must match A in O && A && B && O!=A && O==B case': - rm -f .git/index MN && - cp .orig-A/MN MN && - git update-index --add MN && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -ok 74 - 13 - must match A in O && A && B && O!=A && O==B case +) +prerequisite C_LOCALE_OUTPUT ok +# lib-gettext: Found 'is_IS.utf8' as an is_IS UTF-8 locale +# lib-gettext: No is_IS ISO-8859-1 locale available +expecting success of 0204.1 'gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic': + printf "TILRAUN: Halló Heimur!" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: Hello World!" >actual && + test_cmp expect actual -expecting success of 1000.75 '13 - must match A in O && A && B && O!=A && O==B case': - rm -f .git/index MN && - cp .orig-A/MN MN && - git update-index --add MN && - echo extra >>MN && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 1 - gettext: Emitting UTF-8 from our UTF-8 *.mo files / Icelandic -ok 75 - 13 - must match A in O && A && B && O!=A && O==B case +expecting success of 0204.2 'gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes': + printf "%s" "$RUNES" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "$MSGKEY" >actual && + test_cmp expect actual -expecting success of 1000.76 '14 - must match and be up-to-date in O && A && B && O==A && O!=B case': - rm -f .git/index NM && - cp .orig-A/NM NM && - git update-index --add NM && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 2 - gettext: Emitting UTF-8 from our UTF-8 *.mo files / Runes -ok 76 - 14 - must match and be up-to-date in O && A && B && O==A && O!=B case +ok 3 # skip gettext: Emitting ISO-8859-1 from our UTF-8 *.mo files / Icelandic (missing GETTEXT_ISO_LOCALE) -expecting success of 1000.77 '14 - may match B in O && A && B && O==A && O!=B case': - rm -f .git/index NM && - cp .orig-B/NM NM && - git update-index --add NM && - echo extra >>NM && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 4 # skip gettext: impossible ISO-8859-1 output (missing GETTEXT_ISO_LOCALE) -ok 77 - 14 - may match B in O && A && B && O==A && O!=B case +expecting success of 0204.5 'gettext: Fetching a UTF-8 msgid -> UTF-8': + printf "TILRAUN: ‚einfaldar‘ og „tvöfaldar“ gæsalappir" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" gettext "TEST: ‘single’ and “double†quotes" >actual && + test_cmp expect actual -expecting success of 1000.78 '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case': - rm -f .git/index NM && - cp .orig-A/NM NM && - git update-index --add NM && - echo extra >>NM && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 5 - gettext: Fetching a UTF-8 msgid -> UTF-8 -error: Entry 'NM' not uptodate. Cannot merge. -error: Entry 'NM' not uptodate. Cannot merge. -ok 78 - 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case +ok 6 # skip gettext: Fetching a UTF-8 msgid -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE) -expecting success of 1000.79 '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case': - rm -f .git/index NM && - cp .orig-A/NM NM && - echo extra >>NM && - git update-index --add NM && - read_tree_must_fail -m $tree_O $tree_A $tree_B +expecting success of 0204.7 'gettext.c: git init UTF-8 -> UTF-8': + printf "Bjó til tóma Git lind" >expect && + LANGUAGE=is LC_ALL="$is_IS_locale" git init repo >actual && + test_when_finished "rm -rf repo" && + grep "^$(cat expect) " actual -error: Entry 'NM' would be overwritten by merge. Cannot merge. -error: Entry 'NM' would be overwritten by merge. Cannot merge. -ok 79 - 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Bjó til tóma Git lind í /build/git-2.30.2/t/trash directory.t0204-gettext-reencode-sanity/repo/.git/ +ok 7 - gettext.c: git init UTF-8 -> UTF-8 -expecting success of 1000.80 '15 - must match A in O && A && B && O==A && O==B case': - rm -f .git/index NN && - cp .orig-A/NN NN && - git update-index --add NN && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +ok 8 # skip gettext.c: git init UTF-8 -> ISO-8859-1 (missing GETTEXT_ISO_LOCALE) -ok 80 - 15 - must match A in O && A && B && O==A && O==B case +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0205-gettext-poison.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0205-gettext-poison/.git/ +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1000.81 '15 - must match A in O && A && B && O==A && O==B case': - rm -f .git/index NN && - cp .orig-A/NN NN && - git update-index --add NN && - echo extra >>NN && - read_tree_must_succeed -m $tree_O $tree_A $tree_B && - check_result +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -ok 81 - 15 - must match A in O && A && B && O==A && O==B case +) +prerequisite C_LOCALE_OUTPUT not satisfied +expecting success of 0205.1 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison': + test "$GIT_INTERNAL_GETTEXT_SH_SCHEME" = "poison" -expecting success of 1000.82 '15 (fail) - must match A in O && A && B && O==A && O==B case': - rm -f .git/index NN && - cp .orig-A/NN NN && - echo extra >>NN && - git update-index --add NN && - read_tree_must_fail -m $tree_O $tree_A $tree_B +ok 1 - sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison -error: Entry 'NN' would be overwritten by merge. Cannot merge. -error: Entry 'NN' would be overwritten by merge. Cannot merge. -ok 82 - 15 (fail) - must match A in O && A && B && O==A && O==B case +expecting success of 0205.2 'gettext: our gettext() fallback has poison semantics': + printf "# GETTEXT POISON #" >expect && + gettext "test" >actual && + test_cmp expect actual && + printf "# GETTEXT POISON #" >expect && + gettext "test more words" >actual && + test_cmp expect actual -expecting success of 1000.83 '16 - A matches in one and B matches in another.': - rm -f .git/index F16 && - echo F16 >F16 && - git update-index --add F16 && - tree0=$(git write-tree) && - echo E16 >F16 && - git update-index F16 && - tree1=$(git write-tree) && - read_tree_must_succeed -m $tree0 $tree1 $tree1 $tree0 && - git ls-files --stage +ok 2 - gettext: our gettext() fallback has poison semantics -100644 ecbec6db011caa3ae26739812f092f76875fe6b6 2 F16 -100644 bcf4afda2c30299bf6538240d40bcb8fb3857691 3 F16 -ok 83 - 16 - A matches in one and B matches in another. +expecting success of 0205.3 'eval_gettext: our eval_gettext() fallback has poison semantics': + printf "# GETTEXT POISON #" >expect && + eval_gettext "test" >actual && + test_cmp expect actual && + printf "# GETTEXT POISON #" >expect && + eval_gettext "test more words" >actual && + test_cmp expect actual -# passed all 83 test(s) -1..83 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1011-read-tree-sparse-checkout.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1011-read-tree-sparse-checkout/.git/ -expecting success of 1011.1 'setup': - test_commit init && - echo modified >>init.t && +ok 3 - eval_gettext: our eval_gettext() fallback has poison semantics - cat >expected <<-EOF && - 100644 $(git hash-object init.t) 0 init.t - 100644 $EMPTY_BLOB 0 sub/added - 100644 $EMPTY_BLOB 0 sub/addedtoo - 100644 $EMPTY_BLOB 0 subsub/added - EOF - cat >expected.swt <<-\EOF && - H init.t - H sub/added - H sub/addedtoo - H subsub/added - EOF +expecting success of 0205.4 'gettext: invalid GIT_TEST_GETTEXT_POISON value doesn't infinitely loop': + test_must_fail env GIT_TEST_GETTEXT_POISON=xyz git version 2>error && + grep "fatal: bad numeric config value 'xyz' for 'GIT_TEST_GETTEXT_POISON': invalid unit" error - mkdir sub subsub && - touch sub/added sub/addedtoo subsub/added && - git add init.t sub/added sub/addedtoo subsub/added && - git commit -m "modified and added" && - git tag top && - git rm sub/added && - git commit -m removed && - git tag removed && - git checkout top && - git ls-files --stage >result && - test_cmp expected result +fatal: bad numeric config value 'xyz' for 'GIT_TEST_GETTEXT_POISON': invalid unit +ok 4 - gettext: invalid GIT_TEST_GETTEXT_POISON value doesn't infinitely loop -[master (root-commit) 2519212] init - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 init.t -[master 9598e22] modified and added - Author: A U Thor - 4 files changed, 1 insertion(+) - create mode 100644 sub/added - create mode 100644 sub/addedtoo - create mode 100644 subsub/added -rm 'sub/added' -[master de70956] removed - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - delete mode 100644 sub/added -Note: switching to 'top'. +# passed all 4 test(s) +1..4 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0060-path-utils.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0060-path-utils/.git/ +expecting success of 0060.1 'basename': test-tool path-utils basename +ok 1 - basename -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 0060.2 'dirname': test-tool path-utils dirname +ok 2 - dirname -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 0060.3 'normalize path: => ': test "$(test-tool path-utils normalize_path_copy '')" = '' +ok 3 - normalize path: => - git switch -c +expecting success of 0060.4 'normalize path: . => ': test "$(test-tool path-utils normalize_path_copy '.')" = '' +ok 4 - normalize path: . => -Or undo this operation with: +expecting success of 0060.5 'normalize path: ./ => ': test "$(test-tool path-utils normalize_path_copy './')" = '' +ok 5 - normalize path: ./ => - git switch - +expecting success of 0060.6 'normalize path: ./. => ': test "$(test-tool path-utils normalize_path_copy './.')" = '' +ok 6 - normalize path: ./. => -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 0060.7 'normalize path: ./.. => ++failed++': test "$(test-tool path-utils normalize_path_copy './..')" = '++failed++' +ok 7 - normalize path: ./.. => ++failed++ -HEAD is now at 9598e22 modified and added -ok 1 - setup +expecting success of 0060.8 'normalize path: ../. => ++failed++': test "$(test-tool path-utils normalize_path_copy '../.')" = '++failed++' +ok 8 - normalize path: ../. => ++failed++ -expecting success of 1011.2 'read-tree without .git/info/sparse-checkout': - read_tree_u_must_succeed -m -u HEAD && - git ls-files --stage >result && - test_cmp expected result && - git ls-files -t >result && - test_cmp expected.swt result +expecting success of 0060.9 'normalize path: ./../.// => ++failed++': test "$(test-tool path-utils normalize_path_copy './.././/')" = '++failed++' +ok 9 - normalize path: ./../.// => ++failed++ -ok 2 - read-tree without .git/info/sparse-checkout +expecting success of 0060.10 'normalize path: dir/.. => ': test "$(test-tool path-utils normalize_path_copy 'dir/..')" = '' +ok 10 - normalize path: dir/.. => -expecting success of 1011.3 'read-tree with .git/info/sparse-checkout but disabled': - echo >.git/info/sparse-checkout && - read_tree_u_must_succeed -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt result && - test -f init.t && - test -f sub/added +expecting success of 0060.11 'normalize path: dir/sub/../.. => ': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../..')" = '' +ok 11 - normalize path: dir/sub/../.. => -ok 3 - read-tree with .git/info/sparse-checkout but disabled +expecting success of 0060.12 'normalize path: dir/sub/../../.. => ++failed++': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../../..')" = '++failed++' +ok 12 - normalize path: dir/sub/../../.. => ++failed++ -expecting success of 1011.4 'read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled': - git config core.sparsecheckout true && - echo >.git/info/sparse-checkout && - read_tree_u_must_succeed --no-sparse-checkout -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt result && - test -f init.t && - test -f sub/added +expecting success of 0060.13 'normalize path: dir => dir': test "$(test-tool path-utils normalize_path_copy 'dir')" = 'dir' +ok 13 - normalize path: dir => dir -ok 4 - read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled +expecting success of 0060.14 'normalize path: dir// => dir/': test "$(test-tool path-utils normalize_path_copy 'dir//')" = 'dir/' +ok 14 - normalize path: dir// => dir/ -expecting success of 1011.5 'read-tree with empty .git/info/sparse-checkout': - git config core.sparsecheckout true && - echo >.git/info/sparse-checkout && - read_tree_u_must_succeed -m -u HEAD && - git ls-files --stage >result && - test_cmp expected result && - git ls-files -t >result && - cat >expected.swt <<-\EOF && - S init.t - S sub/added - S sub/addedtoo - S subsub/added - EOF - test_cmp expected.swt result && - ! test -f init.t && - ! test -f sub/added +expecting success of 0060.15 'normalize path: ./dir => dir': test "$(test-tool path-utils normalize_path_copy './dir')" = 'dir' +ok 15 - normalize path: ./dir => dir -ok 5 - read-tree with empty .git/info/sparse-checkout +expecting success of 0060.16 'normalize path: dir/. => dir/': test "$(test-tool path-utils normalize_path_copy 'dir/.')" = 'dir/' +ok 16 - normalize path: dir/. => dir/ -expecting success of 1011.6 'match directories with trailing slash': - cat >expected.swt-noinit <<-\EOF && - S init.t - H sub/added - H sub/addedtoo - S subsub/added - EOF +expecting success of 0060.17 'normalize path: dir///./ => dir/': test "$(test-tool path-utils normalize_path_copy 'dir///./')" = 'dir/' +ok 17 - normalize path: dir///./ => dir/ - echo sub/ > .git/info/sparse-checkout && - read_tree_u_must_succeed -m -u HEAD && - git ls-files -t > result && - test_cmp expected.swt-noinit result && - test ! -f init.t && - test -f sub/added +expecting success of 0060.18 'normalize path: dir//sub/.. => dir/': test "$(test-tool path-utils normalize_path_copy 'dir//sub/..')" = 'dir/' +ok 18 - normalize path: dir//sub/.. => dir/ -ok 6 - match directories with trailing slash +expecting success of 0060.19 'normalize path: dir/sub/../ => dir/': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../')" = 'dir/' +ok 19 - normalize path: dir/sub/../ => dir/ -expecting success of 1011.7 'match directories without trailing slash': - echo sub >.git/info/sparse-checkout && - read_tree_u_must_succeed -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt-noinit result && - test ! -f init.t && - test -f sub/added +expecting success of 0060.20 'normalize path: dir/sub/../. => dir/': test "$(test-tool path-utils normalize_path_copy 'dir/sub/../.')" = 'dir/' +ok 20 - normalize path: dir/sub/../. => dir/ -ok 7 - match directories without trailing slash +expecting success of 0060.21 'normalize path: dir/s1/../s2/ => dir/s2/': test "$(test-tool path-utils normalize_path_copy 'dir/s1/../s2/')" = 'dir/s2/' +ok 21 - normalize path: dir/s1/../s2/ => dir/s2/ -expecting success of 1011.8 'match directories with negated patterns': - cat >expected.swt-negation <<\EOF && -S init.t -S sub/added -H sub/addedtoo -S subsub/added -EOF +expecting success of 0060.22 'normalize path: d1/s1///s2/..//../s3/ => d1/s3/': test "$(test-tool path-utils normalize_path_copy 'd1/s1///s2/..//../s3/')" = 'd1/s3/' +ok 22 - normalize path: d1/s1///s2/..//../s3/ => d1/s3/ - cat >.git/info/sparse-checkout <<\EOF && -sub -!sub/added -EOF - git read-tree -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt-negation result && - test ! -f init.t && - test ! -f sub/added && - test -f sub/addedtoo +expecting success of 0060.23 'normalize path: d1/s1//../s2/../../d2 => d2': test "$(test-tool path-utils normalize_path_copy 'd1/s1//../s2/../../d2')" = 'd2' +ok 23 - normalize path: d1/s1//../s2/../../d2 => d2 -ok 8 - match directories with negated patterns +expecting success of 0060.24 'normalize path: d1/.../d2 => d1/.../d2': test "$(test-tool path-utils normalize_path_copy 'd1/.../d2')" = 'd1/.../d2' +ok 24 - normalize path: d1/.../d2 => d1/.../d2 -expecting success of 1011.9 'match directories with negated patterns (2)': - cat >expected.swt-negation2 <<\EOF && -H init.t -H sub/added -S sub/addedtoo -H subsub/added -EOF +expecting success of 0060.25 'normalize path: d1/..././../d2 => d1/d2': test "$(test-tool path-utils normalize_path_copy 'd1/..././../d2')" = 'd1/d2' +ok 25 - normalize path: d1/..././../d2 => d1/d2 - cat >.git/info/sparse-checkout <<\EOF && -/* -!sub -sub/added -EOF - git read-tree -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt-negation2 result && - test -f init.t && - test -f sub/added && - test ! -f sub/addedtoo +expecting success of 0060.26 'normalize path: / => /': test "$(test-tool path-utils normalize_path_copy '/')" = '/' +ok 26 - normalize path: / => / -ok 9 - match directories with negated patterns (2) +expecting success of 0060.27 'normalize path: // => /': test "$(test-tool path-utils normalize_path_copy '//')" = '/' +ok 27 - normalize path: // => / -expecting success of 1011.10 'match directory pattern': - echo "s?b" >.git/info/sparse-checkout && - read_tree_u_must_succeed -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt-noinit result && - test ! -f init.t && - test -f sub/added +expecting success of 0060.28 'normalize path: /// => /': test "$(test-tool path-utils normalize_path_copy '///')" = '/' +ok 28 - normalize path: /// => / -ok 10 - match directory pattern +expecting success of 0060.29 'normalize path: /. => /': test "$(test-tool path-utils normalize_path_copy '/.')" = '/' +ok 29 - normalize path: /. => / -expecting success of 1011.11 'checkout area changes': - cat >expected.swt-nosub <<-\EOF && - H init.t - S sub/added - S sub/addedtoo - S subsub/added - EOF +expecting success of 0060.30 'normalize path: /./ => /': test "$(test-tool path-utils normalize_path_copy '/./')" = '/' +ok 30 - normalize path: /./ => / - echo init.t >.git/info/sparse-checkout && - read_tree_u_must_succeed -m -u HEAD && - git ls-files -t >result && - test_cmp expected.swt-nosub result && - test -f init.t && - test ! -f sub/added +expecting success of 0060.31 'normalize path: /./.. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/./..')" = '++failed++' +ok 31 - normalize path: /./.. => ++failed++ -ok 11 - checkout area changes +expecting success of 0060.32 'normalize path: /../. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/../.')" = '++failed++' +ok 32 - normalize path: /../. => ++failed++ -expecting success of 1011.12 'read-tree updates worktree, absent case': - echo sub/added >.git/info/sparse-checkout && - git checkout -f top && - read_tree_u_must_succeed -m -u HEAD^ && - test ! -f init.t +expecting success of 0060.33 'normalize path: /./../.// => ++failed++': test "$(test-tool path-utils normalize_path_copy '/./.././/')" = '++failed++' +ok 33 - normalize path: /./../.// => ++failed++ -HEAD is now at 9598e22 modified and added -ok 12 - read-tree updates worktree, absent case +expecting success of 0060.34 'normalize path: /dir/.. => /': test "$(test-tool path-utils normalize_path_copy '/dir/..')" = '/' +ok 34 - normalize path: /dir/.. => / -expecting success of 1011.13 'read-tree updates worktree, dirty case': - echo sub/added >.git/info/sparse-checkout && - git checkout -f top && - echo dirty >init.t && - read_tree_u_must_succeed -m -u HEAD^ && - grep -q dirty init.t && - rm init.t +expecting success of 0060.35 'normalize path: /dir/sub/../.. => /': test "$(test-tool path-utils normalize_path_copy '/dir/sub/../..')" = '/' +ok 35 - normalize path: /dir/sub/../.. => / -HEAD is now at 9598e22 modified and added -ok 13 - read-tree updates worktree, dirty case +expecting success of 0060.36 'normalize path: /dir/sub/../../.. => ++failed++': test "$(test-tool path-utils normalize_path_copy '/dir/sub/../../..')" = '++failed++' +ok 36 - normalize path: /dir/sub/../../.. => ++failed++ -expecting success of 1011.14 'read-tree removes worktree, dirty case': - echo init.t >.git/info/sparse-checkout && - git checkout -f top && - echo dirty >added && - read_tree_u_must_succeed -m -u HEAD^ && - grep -q dirty added +expecting success of 0060.37 'normalize path: /dir => /dir': test "$(test-tool path-utils normalize_path_copy '/dir')" = '/dir' +ok 37 - normalize path: /dir => /dir -HEAD is now at 9598e22 modified and added -ok 14 - read-tree removes worktree, dirty case +expecting success of 0060.38 'normalize path: /dir// => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir//')" = '/dir/' +ok 38 - normalize path: /dir// => /dir/ -expecting success of 1011.15 'read-tree adds to worktree, absent case': - echo init.t >.git/info/sparse-checkout && - git checkout -f removed && - read_tree_u_must_succeed -u -m HEAD^ && - test ! -f sub/added +expecting success of 0060.39 'normalize path: /./dir => /dir': test "$(test-tool path-utils normalize_path_copy '/./dir')" = '/dir' +ok 39 - normalize path: /./dir => /dir -Previous HEAD position was 9598e22 modified and added -HEAD is now at de70956 removed -ok 15 - read-tree adds to worktree, absent case +expecting success of 0060.40 'normalize path: /dir/. => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir/.')" = '/dir/' +ok 40 - normalize path: /dir/. => /dir/ -expecting success of 1011.16 'read-tree adds to worktree, dirty case': - echo init.t >.git/info/sparse-checkout && - git checkout -f removed && - mkdir sub && - echo dirty >sub/added && - read_tree_u_must_succeed -u -m HEAD^ && - grep -q dirty sub/added +expecting success of 0060.41 'normalize path: /dir///./ => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir///./')" = '/dir/' +ok 41 - normalize path: /dir///./ => /dir/ -HEAD is now at de70956 removed -ok 16 - read-tree adds to worktree, dirty case +expecting success of 0060.42 'normalize path: /dir//sub/.. => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir//sub/..')" = '/dir/' +ok 42 - normalize path: /dir//sub/.. => /dir/ -expecting success of 1011.17 'index removal and worktree narrowing at the same time': - echo init.t >.git/info/sparse-checkout && - echo sub/added >>.git/info/sparse-checkout && - git checkout -f top && - echo init.t >.git/info/sparse-checkout && - git checkout removed && - git ls-files sub/added >result && - test ! -f sub/added && - test_must_be_empty result +expecting success of 0060.43 'normalize path: /dir/sub/../ => /dir/': test "$(test-tool path-utils normalize_path_copy '/dir/sub/../')" = '/dir/' +ok 43 - normalize path: /dir/sub/../ => /dir/ -Previous HEAD position was de70956 removed -HEAD is now at 9598e22 modified and added -Previous HEAD position was 9598e22 modified and added -HEAD is now at de70956 removed -ok 17 - index removal and worktree narrowing at the same time +expecting success of 0060.44 'normalize path: //dir/sub/../. => /dir/': test "$(test-tool path-utils normalize_path_copy '//dir/sub/../.')" = '/dir/' +ok 44 - normalize path: //dir/sub/../. => /dir/ -expecting success of 1011.18 'read-tree --reset removes outside worktree': - echo init.t >.git/info/sparse-checkout && - git checkout -f top && - git reset --hard removed && - git ls-files sub/added >result && - test_must_be_empty result +expecting success of 0060.45 'normalize path: /dir/s1/../s2/ => /dir/s2/': test "$(test-tool path-utils normalize_path_copy '/dir/s1/../s2/')" = '/dir/s2/' +ok 45 - normalize path: /dir/s1/../s2/ => /dir/s2/ -Previous HEAD position was de70956 removed -HEAD is now at 9598e22 modified and added -HEAD is now at de70956 removed -ok 18 - read-tree --reset removes outside worktree +expecting success of 0060.46 'normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/': test "$(test-tool path-utils normalize_path_copy '/d1/s1///s2/..//../s3/')" = '/d1/s3/' +ok 46 - normalize path: /d1/s1///s2/..//../s3/ => /d1/s3/ -expecting success of 1011.19 'print warnings when some worktree updates disabled': - echo sub >.git/info/sparse-checkout && - git checkout -f init && - mkdir sub && - touch sub/added sub/addedtoo && - # Use -q to suppress "Previous HEAD position" and "Head is now at" msgs - git checkout -q top 2>actual && - cat >expected <<\EOF && -warning: The following paths were already present and thus not updated despite sparse patterns: - sub/added - sub/addedtoo +expecting success of 0060.47 'normalize path: /d1/s1//../s2/../../d2 => /d2': test "$(test-tool path-utils normalize_path_copy '/d1/s1//../s2/../../d2')" = '/d2' +ok 47 - normalize path: /d1/s1//../s2/../../d2 => /d2 -After fixing the above paths, you may want to run `git sparse-checkout reapply`. -EOF - test_i18ncmp expected actual +expecting success of 0060.48 'normalize path: /d1/.../d2 => /d1/.../d2': test "$(test-tool path-utils normalize_path_copy '/d1/.../d2')" = '/d1/.../d2' +ok 48 - normalize path: /d1/.../d2 => /d1/.../d2 -Previous HEAD position was de70956 removed -HEAD is now at 2519212 init -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0060.49 'normalize path: /d1/..././../d2 => /d1/d2': test "$(test-tool path-utils normalize_path_copy '/d1/..././../d2')" = '/d1/d2' +ok 49 - normalize path: /d1/..././../d2 => /d1/d2 -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0060.50 'longest ancestor: / / => -1': actual=$(test-tool path-utils longest_ancestor_length '/' '/') && + test "$actual" = '-1' +ok 50 - longest ancestor: / / => -1 -) -prerequisite C_LOCALE_OUTPUT ok -ok 19 - print warnings when some worktree updates disabled +expecting success of 0060.51 'longest ancestor: /foo / => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/') && + test "$actual" = '0' +ok 51 - longest ancestor: /foo / => 0 -expecting success of 1011.20 'checkout without --ignore-skip-worktree-bits': - echo "*" >.git/info/sparse-checkout && - git checkout -f top && - test_path_is_file init.t && - echo sub >.git/info/sparse-checkout && - git checkout && - echo modified >> sub/added && - git checkout . && - test_path_is_missing init.t && - git diff --exit-code HEAD +expecting success of 0060.52 'longest ancestor: /foo /fo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/fo') && + test "$actual" = '-1' +ok 52 - longest ancestor: /foo /fo => -1 -HEAD is now at 9598e22 modified and added -Updated 1 path from the index -ok 20 - checkout without --ignore-skip-worktree-bits +expecting success of 0060.53 'longest ancestor: /foo /foo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo') && + test "$actual" = '-1' +ok 53 - longest ancestor: /foo /foo => -1 -expecting success of 1011.21 'checkout with --ignore-skip-worktree-bits': - echo "*" >.git/info/sparse-checkout && - git checkout -f top && - test_path_is_file init.t && - echo sub >.git/info/sparse-checkout && - git checkout && - echo modified >> sub/added && - git checkout --ignore-skip-worktree-bits . && - test_path_is_file init.t && - git diff --exit-code HEAD +expecting success of 0060.54 'longest ancestor: /foo /bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/bar') && + test "$actual" = '-1' +ok 54 - longest ancestor: /foo /bar => -1 -HEAD is now at 9598e22 modified and added -Updated 3 paths from the index -ok 21 - checkout with --ignore-skip-worktree-bits +expecting success of 0060.55 'longest ancestor: /foo /foo/bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo/bar') && + test "$actual" = '-1' +ok 55 - longest ancestor: /foo /foo/bar => -1 -# passed all 21 test(s) -1..21 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1051-large-conversion.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1051-large-conversion/.git/ -expecting success of 1051.1 'setup input tests': - printf "\$Id: foo\$\\r\\n" >small && - cat small small >large && - git config core.bigfilethreshold 20 && - git config filter.test.clean "sed s/.*/CLEAN/" +expecting success of 0060.56 'longest ancestor: /foo /foo:/bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo:/bar') && + test "$actual" = '-1' +ok 56 - longest ancestor: /foo /foo:/bar => -1 -ok 1 - setup input tests +expecting success of 0060.57 'longest ancestor: /foo /:/foo:/bar => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/:/foo:/bar') && + test "$actual" = '0' +ok 57 - longest ancestor: /foo /:/foo:/bar => 0 -expecting success of 1051.2 'autocrlf=true converts on input': - test_config core.autocrlf true && - check_input +expecting success of 0060.58 'longest ancestor: /foo /foo:/:/bar => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/foo:/:/bar') && + test "$actual" = '0' +ok 58 - longest ancestor: /foo /foo:/:/bar => 0 -ok 2 - autocrlf=true converts on input +expecting success of 0060.59 'longest ancestor: /foo /:/bar:/foo => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo' '/:/bar:/foo') && + test "$actual" = '0' +ok 59 - longest ancestor: /foo /:/bar:/foo => 0 -expecting success of 1051.3 'eol=crlf converts on input': - set_attr eol=crlf && - check_input +expecting success of 0060.60 'longest ancestor: /foo/bar / => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/') && + test "$actual" = '0' +ok 60 - longest ancestor: /foo/bar / => 0 -ok 3 - eol=crlf converts on input +expecting success of 0060.61 'longest ancestor: /foo/bar /fo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/fo') && + test "$actual" = '-1' +ok 61 - longest ancestor: /foo/bar /fo => -1 -expecting success of 1051.4 'ident converts on input': - set_attr ident && - check_input +expecting success of 0060.62 'longest ancestor: /foo/bar /foo => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo') && + test "$actual" = '4' +ok 62 - longest ancestor: /foo/bar /foo => 4 -ok 4 - ident converts on input +expecting success of 0060.63 'longest ancestor: /foo/bar /foo/ba => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo/ba') && + test "$actual" = '-1' +ok 63 - longest ancestor: /foo/bar /foo/ba => -1 -expecting success of 1051.5 'user-defined filters convert on input': - set_attr filter=test && - check_input +expecting success of 0060.64 'longest ancestor: /foo/bar /:/fo => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/fo') && + test "$actual" = '0' +ok 64 - longest ancestor: /foo/bar /:/fo => 0 -ok 5 - user-defined filters convert on input +expecting success of 0060.65 'longest ancestor: /foo/bar /foo:/foo/ba => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/foo/ba') && + test "$actual" = '4' +ok 65 - longest ancestor: /foo/bar /foo:/foo/ba => 4 -expecting success of 1051.6 'setup output tests': - echo "\$Id\$" >small && - cat small small >large && - git add small large && - git config core.bigfilethreshold 7 && - git config filter.test.smudge "sed s/.*/SMUDGE/" +expecting success of 0060.66 'longest ancestor: /foo/bar /bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/bar') && + test "$actual" = '-1' +ok 66 - longest ancestor: /foo/bar /bar => -1 -ok 6 - setup output tests +expecting success of 0060.67 'longest ancestor: /foo/bar /fo => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/fo') && + test "$actual" = '-1' +ok 67 - longest ancestor: /foo/bar /fo => -1 -expecting success of 1051.7 'autocrlf=true converts on output': - test_config core.autocrlf true && - check_output +expecting success of 0060.68 'longest ancestor: /foo/bar /foo:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/bar') && + test "$actual" = '4' +ok 68 - longest ancestor: /foo/bar /foo:/bar => 4 -Updated 2 paths from the index -ok 7 - autocrlf=true converts on output +expecting success of 0060.69 'longest ancestor: /foo/bar /:/foo:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/foo:/bar') && + test "$actual" = '4' +ok 69 - longest ancestor: /foo/bar /:/foo:/bar => 4 -expecting success of 1051.8 'eol=crlf converts on output': - set_attr eol=crlf && - check_output +expecting success of 0060.70 'longest ancestor: /foo/bar /foo:/:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/:/bar') && + test "$actual" = '4' +ok 70 - longest ancestor: /foo/bar /foo:/:/bar => 4 -Updated 2 paths from the index -ok 8 - eol=crlf converts on output +expecting success of 0060.71 'longest ancestor: /foo/bar /:/bar:/fo => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/bar:/fo') && + test "$actual" = '0' +ok 71 - longest ancestor: /foo/bar /:/bar:/fo => 0 -expecting success of 1051.9 'user-defined filters convert on output': - set_attr filter=test && - check_output +expecting success of 0060.72 'longest ancestor: /foo/bar /:/bar => 0': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/:/bar') && + test "$actual" = '0' +ok 72 - longest ancestor: /foo/bar /:/bar => 0 -Updated 2 paths from the index -ok 9 - user-defined filters convert on output +expecting success of 0060.73 'longest ancestor: /foo/bar /foo => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo') && + test "$actual" = '4' +ok 73 - longest ancestor: /foo/bar /foo => 4 -expecting success of 1051.10 'ident converts on output': - set_attr ident && - rm -f small large && - git checkout small large && - sed -n "s/Id: .*/Id: SHA/p" small.clean && - head -n 1 large >large.head && - sed -n "s/Id: .*/Id: SHA/p" large.clean && - test_cmp small.clean large.clean +expecting success of 0060.74 'longest ancestor: /foo/bar /foo:/bar => 4': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/foo:/bar') && + test "$actual" = '4' +ok 74 - longest ancestor: /foo/bar /foo:/bar => 4 -Updated 2 paths from the index -ok 10 - ident converts on output +expecting success of 0060.75 'longest ancestor: /foo/bar /bar => -1': actual=$(test-tool path-utils longest_ancestor_length '/foo/bar' '/bar') && + test "$actual" = '-1' +ok 75 - longest ancestor: /foo/bar /bar => -1 -# passed all 10 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1100-commit-tree-options.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1100-commit-tree-options/.git/ -expecting success of 1100.1 'test preparation: write empty tree': git write-tree >treeid -ok 1 - test preparation: write empty tree +ok 76 # skip longest ancestor: C:/Users/me C:/ => 2 (missing MINGW) -expecting success of 1100.2 'construct commit': echo comment text | - GIT_AUTHOR_NAME="Author Name" \ - GIT_AUTHOR_EMAIL="author@email" \ - GIT_AUTHOR_DATE="2005-05-26 23:00" \ - GIT_COMMITTER_NAME="Committer Name" \ - GIT_COMMITTER_EMAIL="committer@email" \ - GIT_COMMITTER_DATE="2005-05-26 23:30" \ - TZ=GMT git commit-tree $(cat treeid) >commitid 2>/dev/null -ok 2 - construct commit +ok 77 # skip longest ancestor: D:/Users/me C:/ => -1 (missing MINGW) -expecting success of 1100.3 'read commit': git cat-file commit $(cat commitid) >commit -ok 3 - read commit +ok 78 # skip longest ancestor: //server/share/my-directory //server/share/ => 14 (missing MINGW) -expecting success of 1100.4 'compare commit': test_cmp expected commit -ok 4 - compare commit +expecting success of 0060.79 'strip_path_suffix': + test c:/msysgit = $(test-tool path-utils strip_path_suffix \ + c:/msysgit/libexec//git-core libexec/git-core) -expecting success of 1100.5 'flags and then non flags': - test_tick && - echo comment text | - git commit-tree $(cat treeid) >commitid && - echo comment text | - git commit-tree $(cat treeid) -p $(cat commitid) >childid-1 && - echo comment text | - git commit-tree -p $(cat commitid) $(cat treeid) >childid-2 && - test_cmp childid-1 childid-2 && - git commit-tree $(cat treeid) -m foo >childid-3 && - git commit-tree -m foo $(cat treeid) >childid-4 && - test_cmp childid-3 childid-4 +ok 79 - strip_path_suffix -ok 5 - flags and then non flags +expecting success of 0060.80 'absolute path rejects the empty string': + test_must_fail test-tool path-utils absolute_path "" -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1090-sparse-checkout-scope.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1090-sparse-checkout-scope/.git/ -expecting success of 1090.1 'setup': - echo "initial" >a && - echo "initial" >b && - echo "initial" >c && - git add a b c && - git commit -m "initial commit" +fatal: The empty string is not a valid path +ok 80 - absolute path rejects the empty string -[master (root-commit) 0b6cffd] initial commit - Author: A U Thor - 3 files changed, 3 insertions(+) - create mode 100644 a - create mode 100644 b - create mode 100644 c -ok 1 - setup +ok 81 # skip :\\abc is an absolute path (missing MINGW) -expecting success of 1090.2 'create feature branch': - git checkout -b feature && - echo "modified" >b && - echo "modified" >c && - git add b c && - git commit -m "modification" +expecting success of 0060.82 'real path rejects the empty string': + test_must_fail test-tool path-utils real_path "" -Switched to a new branch 'feature' -[feature 96237bb] modification - Author: A U Thor - 2 files changed, 2 insertions(+), 2 deletions(-) -ok 2 - create feature branch +fatal: The empty string is not a valid path +ok 82 - real path rejects the empty string -expecting success of 1090.3 'perform sparse checkout of master': - git config --local --bool core.sparsecheckout true && - echo "!/*" >.git/info/sparse-checkout && - echo "/a" >>.git/info/sparse-checkout && - echo "/c" >>.git/info/sparse-checkout && - git checkout master && - test_path_is_file a && - test_path_is_missing b && - test_path_is_file c +expecting success of 0060.83 'real path works on absolute paths 1': + nopath="hopefully-absent-path" && + test "/" = "$(test-tool path-utils real_path "/")" && + test "/$nopath" = "$(test-tool path-utils real_path "/$nopath")" -Switched to branch 'master' -ok 3 - perform sparse checkout of master +ok 83 - real path works on absolute paths 1 -expecting success of 1090.4 'merge feature branch into sparse checkout of master': - git merge feature && - test_path_is_file a && - test_path_is_missing b && - test_path_is_file c && - test "$(cat c)" = "modified" +expecting success of 0060.84 'real path works on absolute paths 2': + nopath="hopefully-absent-path" && + # Find an existing top-level directory for the remaining tests: + d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") && + test "$d" = "$(test-tool path-utils real_path "$d")" && + test "$d/$nopath" = "$(test-tool path-utils real_path "$d/$nopath")" -Updating 0b6cffd..96237bb -Fast-forward - b | 2 +- - c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) -ok 4 - merge feature branch into sparse checkout of master +ok 84 - real path works on absolute paths 2 -expecting success of 1090.5 'return to full checkout of master': - git checkout feature && - echo "/*" >.git/info/sparse-checkout && - git checkout master && - test_path_is_file a && - test_path_is_file b && - test_path_is_file c && - test "$(cat b)" = "modified" +expecting success of 0060.85 'real path removes extra leading slashes': + nopath="hopefully-absent-path" && + test "/" = "$(test-tool path-utils real_path "///")" && + test "/$nopath" = "$(test-tool path-utils real_path "///$nopath")" && + # Find an existing top-level directory for the remaining tests: + d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") && + test "$d" = "$(test-tool path-utils real_path "//$d")" && + test "$d/$nopath" = "$(test-tool path-utils real_path "//$d/$nopath")" -Switched to branch 'feature' -Switched to branch 'master' -ok 5 - return to full checkout of master +ok 85 - real path removes extra leading slashes -expecting success of 1090.6 'in partial clone, sparse checkout only fetches needed blobs': - test_create_repo server && - git clone "file://$(pwd)/server" client && +expecting success of 0060.86 'real path removes other extra slashes': + nopath="hopefully-absent-path" && + # Find an existing top-level directory for the remaining tests: + d=$(pwd -P | sed -e "s|^\([^/]*/[^/]*\)/.*|\1|") && + test "$d" = "$(test-tool path-utils real_path "$d///")" && + test "$d/$nopath" = "$(test-tool path-utils real_path "$d///$nopath")" - test_config -C server uploadpack.allowfilter 1 && - test_config -C server uploadpack.allowanysha1inwant 1 && - echo a >server/a && - echo bb >server/b && - mkdir server/c && - echo ccc >server/c/c && - git -C server add a b c/c && - git -C server commit -m message && +ok 86 - real path removes other extra slashes - test_config -C client core.sparsecheckout 1 && - echo "!/*" >client/.git/info/sparse-checkout && - echo "/a" >>client/.git/info/sparse-checkout && - git -C client fetch --filter=blob:none origin && - git -C client checkout FETCH_HEAD && +checking prerequisite: SYMLINKS - git -C client rev-list HEAD \ - --quiet --objects --missing=print >unsorted_actual && - ( - printf "?" && - git hash-object server/b && - printf "?" && - git hash-object server/c/c - ) >unsorted_expect && - sort unsorted_actual >actual && - sort unsorted_expect >expect && - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1090-sparse-checkout-scope/server/.git/ -Cloning into 'client'... -warning: You appear to have cloned an empty repository. -[master (root-commit) ab14680] message - Author: A U Thor - 3 files changed, 3 insertions(+) - create mode 100644 a - create mode 100644 b - create mode 100644 c/c -From file:///build/git-2.30.2/t/trash directory.t1090-sparse-checkout-scope/server - * [new branch] master -> origin/master -Note: switching to 'FETCH_HEAD'. +) +prerequisite SYMLINKS ok +expecting success of 0060.87 'real path works on symlinks': + mkdir first && + ln -s ../.git first/.git && + mkdir second && + ln -s ../first second/other && + mkdir third && + dir="$(cd .git; pwd -P)" && + dir2=third/../second/other/.git && + test "$dir" = "$(test-tool path-utils real_path $dir2)" && + file="$dir"/index && + test "$file" = "$(test-tool path-utils real_path $dir2/index)" && + basename=blub && + test "$dir/$basename" = "$(cd .git && test-tool path-utils real_path "$basename")" && + ln -s ../first/file .git/syml && + sym="$(cd first; pwd -P)"/file && + test "$sym" = "$(test-tool path-utils real_path "$dir2/syml")" -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +ok 87 - real path works on symlinks -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 0060.88 'prefix_path works with absolute paths to work tree symlinks': + ln -s target symlink && + test "$(test-tool path-utils prefix_path prefix "$(pwd)/symlink")" = "symlink" - git switch -c +ok 88 - prefix_path works with absolute paths to work tree symlinks -Or undo this operation with: +expecting success of 0060.89 'prefix_path works with only absolute path to work tree': + echo "" >expected && + test-tool path-utils prefix_path prefix "$(pwd)" >actual && + test_cmp expected actual - git switch - +ok 89 - prefix_path works with only absolute path to work tree -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 0060.90 'prefix_path rejects absolute path to dir with same beginning as work tree': + test_must_fail test-tool path-utils prefix_path prefix "$(pwd)a" -HEAD is now at ab14680 message -ok 6 - in partial clone, sparse checkout only fetches needed blobs +fatal: '/build/git-2.30.2/t/trash directory.t0060-path-utilsa' is outside repository at '/build/git-2.30.2/t/trash directory.t0060-path-utils' +ok 90 - prefix_path rejects absolute path to dir with same beginning as work tree -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1060-object-corruption.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/.git/ -expecting success of 1060.1 'setup corrupt repo': - git init bit-error && - ( - cd bit-error && - test_commit content && - corrupt_byte HEAD:content.t 10 - ) && - git init no-bit-error && - ( - # distinct commit from bit-error, but containing a - # non-corrupted version of the same blob - cd no-bit-error && - test_tick && - test_commit content - ) +expecting success of 0060.91 'prefix_path works with absolute path to a symlink to work tree having same beginning as work tree': + git init repo && + ln -s repo repolink && + test "a" = "$(cd repo && test-tool path-utils prefix_path prefix "$(pwd)/../repolink/a")" hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all @@ -25882,2400 +18864,2620 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/bit-error/.git/ -[master (root-commit) 0df6d69] content - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 content.t -1+0 records in -1+0 records out -1 byte copied, 4.5613e-05 s, 21.9 kB/s -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/no-bit-error/.git/ -[master (root-commit) f374eba] content - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 content.t -ok 1 - setup corrupt repo +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0060-path-utils/repo/.git/ +ok 91 - prefix_path works with absolute path to a symlink to work tree having same beginning as work tree -expecting success of 1060.2 'setup repo with missing object': - git init missing && - ( - cd missing && - test_commit content && - rm -f "$(obj_to_file HEAD:content.t)" - ) +expecting success of 0060.92 'relative path: /foo/a/b/c/ /foo/a/b/ => c/': test "$(test-tool path-utils relative_path '/foo/a/b/c/' '/foo/a/b/')" = 'c/' +ok 92 - relative path: /foo/a/b/c/ /foo/a/b/ => c/ -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/missing/.git/ -[master (root-commit) 0df6d69] content - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 content.t -ok 2 - setup repo with missing object +expecting success of 0060.93 'relative path: /foo/a/b/c/ /foo/a/b => c/': test "$(test-tool path-utils relative_path '/foo/a/b/c/' '/foo/a/b')" = 'c/' +ok 93 - relative path: /foo/a/b/c/ /foo/a/b => c/ -expecting success of 1060.3 'setup repo with misnamed object': - git init misnamed && - ( - cd misnamed && - test_commit content && - good=$(obj_to_file HEAD:content.t) && - blob=$(echo corrupt | git hash-object -w --stdin) && - bad=$(obj_to_file $blob) && - rm -f "$good" && - mv "$bad" "$good" - ) +expecting success of 0060.94 'relative path: /foo/a//b//c/ ///foo/a/b// => c/': test "$(test-tool path-utils relative_path '/foo/a//b//c/' '///foo/a/b//')" = 'c/' +ok 94 - relative path: /foo/a//b//c/ ///foo/a/b// => c/ -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/misnamed/.git/ -[master (root-commit) 0df6d69] content - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 content.t -ok 3 - setup repo with misnamed object +expecting success of 0060.95 'relative path: /foo/a/b /foo/a/b => ./': test "$(test-tool path-utils relative_path '/foo/a/b' '/foo/a/b')" = './' +ok 95 - relative path: /foo/a/b /foo/a/b => ./ -expecting success of 1060.4 'streaming a corrupt blob fails': - ( - cd bit-error && - test_must_fail git cat-file blob HEAD:content.t - ) +expecting success of 0060.96 'relative path: /foo/a/b/ /foo/a/b => ./': test "$(test-tool path-utils relative_path '/foo/a/b/' '/foo/a/b')" = './' +ok 96 - relative path: /foo/a/b/ /foo/a/b => ./ -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in .git/objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt -ok 4 - streaming a corrupt blob fails +expecting success of 0060.97 'relative path: /foo/a /foo/a/b => ../': test "$(test-tool path-utils relative_path '/foo/a' '/foo/a/b')" = '../' +ok 97 - relative path: /foo/a /foo/a/b => ../ -expecting success of 1060.5 'getting type of a corrupt blob fails': - ( - cd bit-error && - test_must_fail git cat-file -s HEAD:content.t - ) +expecting success of 0060.98 'relative path: / /foo/a/b/ => ../../../': test "$(test-tool path-utils relative_path '/' '/foo/a/b/')" = '../../../' +ok 98 - relative path: / /foo/a/b/ => ../../../ -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -fatal: git cat-file: could not get object info -ok 5 - getting type of a corrupt blob fails +expecting success of 0060.99 'relative path: /foo/a/c /foo/a/b/ => ../c': test "$(test-tool path-utils relative_path '/foo/a/c' '/foo/a/b/')" = '../c' +ok 99 - relative path: /foo/a/c /foo/a/b/ => ../c -expecting success of 1060.6 'read-tree -u detects bit-errors in blobs': - ( - cd bit-error && - rm -f content.t && - test_must_fail git read-tree --reset -u HEAD - ) +expecting success of 0060.100 'relative path: /foo/a/c /foo/a/b => ../c': test "$(test-tool path-utils relative_path '/foo/a/c' '/foo/a/b')" = '../c' +ok 100 - relative path: /foo/a/c /foo/a/b => ../c -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in .git/objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt -ok 6 - read-tree -u detects bit-errors in blobs +expecting success of 0060.101 'relative path: /foo/x/y /foo/a/b/ => ../../x/y': test "$(test-tool path-utils relative_path '/foo/x/y' '/foo/a/b/')" = '../../x/y' +ok 101 - relative path: /foo/x/y /foo/a/b/ => ../../x/y -expecting success of 1060.7 'read-tree -u detects missing objects': - ( - cd missing && - rm -f content.t && - test_must_fail git read-tree --reset -u HEAD - ) +expecting success of 0060.102 'relative path: /foo/a/b => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' '')" = '/foo/a/b' +ok 102 - relative path: /foo/a/b => /foo/a/b -error: unable to read sha1 file of content.t (d95f3ad14dee633a758d2e331151e950dd13e4ed) -ok 7 - read-tree -u detects missing objects +expecting success of 0060.103 'relative path: /foo/a/b => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' '')" = '/foo/a/b' +ok 103 - relative path: /foo/a/b => /foo/a/b -expecting success of 1060.8 'clone --no-local --bare detects corruption': - test_must_fail git clone --no-local --bare bit-error corrupt-transport +expecting success of 0060.104 'relative path: foo/a/b/c/ foo/a/b/ => c/': test "$(test-tool path-utils relative_path 'foo/a/b/c/' 'foo/a/b/')" = 'c/' +ok 104 - relative path: foo/a/b/c/ foo/a/b/ => c/ -Cloning into bare repository 'corrupt-transport'... -remote: error: inflate: data stream error (invalid distance too far back) -remote: error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -error: git upload-pack: git-pack-objects died with error. -remote: error: inflate: data stream error (invalid distance too far back) -remote: error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -remote: fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in ./objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt -fatal: git upload-pack: aborting due to possible repository corruption on the remote side. -remote: aborting due to possible repository corruption on the remote side. -fatal: early EOF -fatal: index-pack failed -ok 8 - clone --no-local --bare detects corruption +expecting success of 0060.105 'relative path: foo/a/b/c/ foo/a/b => c/': test "$(test-tool path-utils relative_path 'foo/a/b/c/' 'foo/a/b')" = 'c/' +ok 105 - relative path: foo/a/b/c/ foo/a/b => c/ -expecting success of 1060.9 'clone --no-local --bare detects missing object': - test_must_fail git clone --no-local --bare missing missing-transport +expecting success of 0060.106 'relative path: foo/a/b//c foo/a//b => c': test "$(test-tool path-utils relative_path 'foo/a/b//c' 'foo/a//b')" = 'c' +ok 106 - relative path: foo/a/b//c foo/a//b => c -Cloning into bare repository 'missing-transport'... -error: git upload-pack: git-pack-objects died with error. -remote: fatal: unable to read d95f3ad14dee633a758d2e331151e950dd13e4ed -fatal: git upload-pack: aborting due to possible repository corruption on the remote side. -remote: aborting due to possible repository corruption on the remote side. -fatal: early EOF -fatal: index-pack failed -ok 9 - clone --no-local --bare detects missing object +expecting success of 0060.107 'relative path: foo/a/b/ foo/a/b/ => ./': test "$(test-tool path-utils relative_path 'foo/a/b/' 'foo/a/b/')" = './' +ok 107 - relative path: foo/a/b/ foo/a/b/ => ./ -expecting success of 1060.10 'clone --no-local --bare detects misnamed object': - test_must_fail git clone --no-local --bare misnamed misnamed-transport +expecting success of 0060.108 'relative path: foo/a/b/ foo/a/b => ./': test "$(test-tool path-utils relative_path 'foo/a/b/' 'foo/a/b')" = './' +ok 108 - relative path: foo/a/b/ foo/a/b => ./ -Cloning into bare repository 'misnamed-transport'... -fatal: did not receive expected object d95f3ad14dee633a758d2e331151e950dd13e4ed -fatal: index-pack failed -ok 10 - clone --no-local --bare detects misnamed object +expecting success of 0060.109 'relative path: foo/a foo/a/b => ../': test "$(test-tool path-utils relative_path 'foo/a' 'foo/a/b')" = '../' +ok 109 - relative path: foo/a foo/a/b => ../ -expecting success of 1060.11 'clone --local detects corruption': - test_must_fail git clone --local bit-error corrupt-checkout +expecting success of 0060.110 'relative path: foo/x/y foo/a/b => ../../x/y': test "$(test-tool path-utils relative_path 'foo/x/y' 'foo/a/b')" = '../../x/y' +ok 110 - relative path: foo/x/y foo/a/b => ../../x/y -Cloning into 'corrupt-checkout'... -done. -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -error: inflate: data stream error (invalid distance too far back) -error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header -fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in /build/git-2.30.2/t/trash directory.t1060-object-corruption/corrupt-checkout/.git/objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt -warning: Clone succeeded, but checkout failed. -You can inspect what was checked out with 'git status' -and retry with 'git restore --source=HEAD :/' +expecting success of 0060.111 'relative path: foo/a/c foo/a/b => ../c': test "$(test-tool path-utils relative_path 'foo/a/c' 'foo/a/b')" = '../c' +ok 111 - relative path: foo/a/c foo/a/b => ../c -ok 11 - clone --local detects corruption +expecting success of 0060.112 'relative path: foo/a/b /foo/x/y => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '/foo/x/y')" = 'foo/a/b' +ok 112 - relative path: foo/a/b /foo/x/y => foo/a/b -expecting success of 1060.12 'error detected during checkout leaves repo intact': - test_path_is_dir corrupt-checkout/.git +expecting success of 0060.113 'relative path: /foo/a/b foo/x/y => /foo/a/b': test "$(test-tool path-utils relative_path '/foo/a/b' 'foo/x/y')" = '/foo/a/b' +ok 113 - relative path: /foo/a/b foo/x/y => /foo/a/b -ok 12 - error detected during checkout leaves repo intact +ok 114 # skip relative path: d:/a/b D:/a/c => ../b (missing MINGW) -expecting success of 1060.13 'clone --local detects missing objects': - test_must_fail git clone --local missing missing-checkout +ok 115 # skip relative path: C:/a/b D:/a/c => C:/a/b (missing MINGW) -Cloning into 'missing-checkout'... -done. -error: unable to read sha1 file of content.t (d95f3ad14dee633a758d2e331151e950dd13e4ed) -fatal: unable to checkout working tree -warning: Clone succeeded, but checkout failed. -You can inspect what was checked out with 'git status' -and retry with 'git restore --source=HEAD :/' +expecting success of 0060.116 'relative path: foo/a/b => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '')" = 'foo/a/b' +ok 116 - relative path: foo/a/b => foo/a/b -ok 13 - clone --local detects missing objects +expecting success of 0060.117 'relative path: foo/a/b => foo/a/b': test "$(test-tool path-utils relative_path 'foo/a/b' '')" = 'foo/a/b' +ok 117 - relative path: foo/a/b => foo/a/b -checking known breakage of 1060.14 'clone --local detects misnamed objects': - test_must_fail git clone --local misnamed misnamed-checkout +expecting success of 0060.118 'relative path: /foo/a/b => ./': test "$(test-tool path-utils relative_path '' '/foo/a/b')" = './' +ok 118 - relative path: /foo/a/b => ./ -Cloning into 'misnamed-checkout'... -done. -test_must_fail: command succeeded: git clone --local misnamed misnamed-checkout -not ok 14 - clone --local detects misnamed objects # TODO known breakage +expecting success of 0060.119 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' +ok 119 - relative path: => ./ -expecting success of 1060.15 'fetch into corrupted repo with index-pack': - cp -R bit-error bit-error-cp && - test_when_finished "rm -rf bit-error-cp" && - ( - cd bit-error-cp && - test_must_fail git -c transfer.unpackLimit=1 \ - fetch ../no-bit-error 2>stderr && - test_i18ngrep ! -i collision stderr - ) +expecting success of 0060.120 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' +ok 120 - relative path: => ./ -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0060.121 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' +ok 121 - relative path: => ./ -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0060.122 'relative path: => ./': test "$(test-tool path-utils relative_path '' '')" = './' +ok 122 - relative path: => ./ -) -prerequisite C_LOCALE_OUTPUT ok -ok 15 - fetch into corrupted repo with index-pack +expecting success of 0060.123 'relative path: /foo/a/b => ./': test "$(test-tool path-utils relative_path '' '/foo/a/b')" = './' +ok 123 - relative path: /foo/a/b => ./ -expecting success of 1060.16 'internal tree objects are not "missing"': - git init missing-empty && - ( - cd missing-empty && - empty_tree=$(git hash-object -t tree /dev/null) && - commit=$(echo foo | git commit-tree $empty_tree) && - git rev-list --objects $commit - ) +expecting success of 0060.124 'git-path A=B info/grafts => .git/info/grafts': + A=B git rev-parse --git-path info/grafts >actual && + echo .git/info/grafts >expect && + test_cmp expect actual + +ok 124 - git-path A=B info/grafts => .git/info/grafts -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/missing-empty/.git/ -2093db06f424f426e05da2ca90f40d2663e89387 -4b825dc642cb6eb9a060e54bf8d69288fbee4904 -ok 16 - internal tree objects are not "missing" +expecting success of 0060.125 'git-path GIT_GRAFT_FILE=foo info/grafts => foo': + GIT_GRAFT_FILE=foo git rev-parse --git-path info/grafts >actual && + echo foo >expect && + test_cmp expect actual + +ok 125 - git-path GIT_GRAFT_FILE=foo info/grafts => foo -# still have 1 known breakage(s) -# passed all remaining 15 test(s) -1..16 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1304-default-acl.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1304-default-acl/.git/ -expecting success of 1304.1 'checking for a working acl setup': - if setfacl -m d:m:rwx -m u:root:rwx . && - getfacl . | grep user:root:rwx && - touch should-have-readable-acl && - getfacl should-have-readable-acl | egrep "mask::?rw-" - then - test_set_prereq SETFACL - fi +expecting success of 0060.126 'git-path GIT_GRAFT_FILE=foo info/////grafts => foo': + GIT_GRAFT_FILE=foo git rev-parse --git-path info/////grafts >actual && + echo foo >expect && + test_cmp expect actual + +ok 126 - git-path GIT_GRAFT_FILE=foo info/////grafts => foo -t1304-default-acl.sh: 4: eval: setfacl: not found -ok 1 - checking for a working acl setup +expecting success of 0060.127 'git-path GIT_INDEX_FILE=foo index => foo': + GIT_INDEX_FILE=foo git rev-parse --git-path index >actual && + echo foo >expect && + test_cmp expect actual + +ok 127 - git-path GIT_INDEX_FILE=foo index => foo -ok 2 # skip Setup test repo (missing SETFACL) +expecting success of 0060.128 'git-path GIT_INDEX_FILE=foo index/foo => .git/index/foo': + GIT_INDEX_FILE=foo git rev-parse --git-path index/foo >actual && + echo .git/index/foo >expect && + test_cmp expect actual + +ok 128 - git-path GIT_INDEX_FILE=foo index/foo => .git/index/foo -ok 3 # skip Objects creation does not break ACLs with restrictive umask (missing SETFACL) +expecting success of 0060.129 'git-path GIT_INDEX_FILE=foo index2 => .git/index2': + GIT_INDEX_FILE=foo git rev-parse --git-path index2 >actual && + echo .git/index2 >expect && + test_cmp expect actual + +ok 129 - git-path GIT_INDEX_FILE=foo index2 => .git/index2 -ok 4 # skip git gc does not break ACLs with restrictive umask (missing SETFACL) +expecting success of 0060.130 'setup fake objects directory foo': mkdir foo +ok 130 - setup fake objects directory foo -# passed all 4 test(s) -1..4 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1302-repo-version.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1302-repo-version/.git/ -expecting success of 1302.1 'setup': - test_oid_cache <<-\EOF && - version sha1:0 - version sha256:1 - EOF - cat >test.patch <<-\EOF && - diff --git a/test.txt b/test.txt - new file mode 100644 - --- /dev/null - +++ b/test.txt - @@ -0,0 +1 @@ - +123 - EOF +expecting success of 0060.131 'git-path GIT_OBJECT_DIRECTORY=foo objects => foo': + GIT_OBJECT_DIRECTORY=foo git rev-parse --git-path objects >actual && + echo foo >expect && + test_cmp expect actual + +ok 131 - git-path GIT_OBJECT_DIRECTORY=foo objects => foo - test_create_repo "test" && - test_create_repo "test2" && - git config --file=test2/.git/config core.repositoryformatversion 99 +expecting success of 0060.132 'git-path GIT_OBJECT_DIRECTORY=foo objects/foo => foo/foo': + GIT_OBJECT_DIRECTORY=foo git rev-parse --git-path objects/foo >actual && + echo foo/foo >expect && + test_cmp expect actual + +ok 132 - git-path GIT_OBJECT_DIRECTORY=foo objects/foo => foo/foo -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1302-repo-version/test/.git/ -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1302-repo-version/test2/.git/ -ok 1 - setup +expecting success of 0060.133 'git-path GIT_OBJECT_DIRECTORY=foo objects2 => .git/objects2': + GIT_OBJECT_DIRECTORY=foo git rev-parse --git-path objects2 >actual && + echo .git/objects2 >expect && + test_cmp expect actual + +ok 133 - git-path GIT_OBJECT_DIRECTORY=foo objects2 => .git/objects2 -expecting success of 1302.2 'gitdir selection on normal repos': - echo $(test_oid version) >expect && - git config core.repositoryformatversion >actual && - git -C test config core.repositoryformatversion >actual2 && - test_cmp expect actual && - test_cmp expect actual2 +expecting success of 0060.134 'setup common repository': git --git-dir=bar init +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0060-path-utils/bar/ +ok 134 - setup common repository -ok 2 - gitdir selection on normal repos +expecting success of 0060.135 'git-path GIT_COMMON_DIR=bar index => .git/index': + GIT_COMMON_DIR=bar git rev-parse --git-path index >actual && + echo .git/index >expect && + test_cmp expect actual + +ok 135 - git-path GIT_COMMON_DIR=bar index => .git/index -expecting success of 1302.3 'gitdir selection on unsupported repo': - # Make sure it would stop at test2, not trash - test_expect_code 1 git -C test2 config core.repositoryformatversion >actual +expecting success of 0060.136 'git-path GIT_COMMON_DIR=bar index.lock => .git/index.lock': + GIT_COMMON_DIR=bar git rev-parse --git-path index.lock >actual && + echo .git/index.lock >expect && + test_cmp expect actual + +ok 136 - git-path GIT_COMMON_DIR=bar index.lock => .git/index.lock -warning: Expected git repo version <= 1, found 99 -ok 3 - gitdir selection on unsupported repo +expecting success of 0060.137 'git-path GIT_COMMON_DIR=bar HEAD => .git/HEAD': + GIT_COMMON_DIR=bar git rev-parse --git-path HEAD >actual && + echo .git/HEAD >expect && + test_cmp expect actual + +ok 137 - git-path GIT_COMMON_DIR=bar HEAD => .git/HEAD -expecting success of 1302.4 'gitdir not required mode': - git apply --stat test.patch && - git -C test apply --stat ../test.patch && - git -C test2 apply --stat ../test.patch +expecting success of 0060.138 'git-path GIT_COMMON_DIR=bar logs/HEAD => .git/logs/HEAD': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/HEAD >actual && + echo .git/logs/HEAD >expect && + test_cmp expect actual + +ok 138 - git-path GIT_COMMON_DIR=bar logs/HEAD => .git/logs/HEAD - test.txt | 1 + - 1 file changed, 1 insertion(+) - test.txt | 1 + - 1 file changed, 1 insertion(+) -warning: Expected git repo version <= 1, found 99 -warning: ignoring git dir '.git': Expected git repo version <= 1, found 99 - test.txt | 1 + - 1 file changed, 1 insertion(+) -ok 4 - gitdir not required mode +expecting success of 0060.139 'git-path GIT_COMMON_DIR=bar logs/HEAD.lock => .git/logs/HEAD.lock': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/HEAD.lock >actual && + echo .git/logs/HEAD.lock >expect && + test_cmp expect actual + +ok 139 - git-path GIT_COMMON_DIR=bar logs/HEAD.lock => .git/logs/HEAD.lock -expecting success of 1302.5 'gitdir required mode': - git apply --check --index test.patch && - git -C test apply --check --index ../test.patch && - test_must_fail git -C test2 apply --check --index ../test.patch +expecting success of 0060.140 'git-path GIT_COMMON_DIR=bar logs/refs/bisect/foo => .git/logs/refs/bisect/foo': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisect/foo >actual && + echo .git/logs/refs/bisect/foo >expect && + test_cmp expect actual + +ok 140 - git-path GIT_COMMON_DIR=bar logs/refs/bisect/foo => .git/logs/refs/bisect/foo -warning: Expected git repo version <= 1, found 99 -warning: ignoring git dir '.git': Expected git repo version <= 1, found 99 -error: --index outside a repository -ok 5 - gitdir required mode +expecting success of 0060.141 'git-path GIT_COMMON_DIR=bar logs/refs => bar/logs/refs': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs >actual && + echo bar/logs/refs >expect && + test_cmp expect actual + +ok 141 - git-path GIT_COMMON_DIR=bar logs/refs => bar/logs/refs -expecting success of 1302.6 'allow version=0 ': - mkconfig 0 >.git/config && - check_allow +expecting success of 0060.142 'git-path GIT_COMMON_DIR=bar logs/refs/ => bar/logs/refs/': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/ >actual && + echo bar/logs/refs/ >expect && + test_cmp expect actual -ok 6 - allow version=0 +ok 142 - git-path GIT_COMMON_DIR=bar logs/refs/ => bar/logs/refs/ -expecting success of 1302.7 'allow version=1 ': - mkconfig 1 >.git/config && - check_allow +expecting success of 0060.143 'git-path GIT_COMMON_DIR=bar logs/refs/bisec/foo => bar/logs/refs/bisec/foo': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisec/foo >actual && + echo bar/logs/refs/bisec/foo >expect && + test_cmp expect actual -ok 7 - allow version=1 +ok 143 - git-path GIT_COMMON_DIR=bar logs/refs/bisec/foo => bar/logs/refs/bisec/foo -expecting success of 1302.8 'allow version=1 noop': - mkconfig 1 noop >.git/config && - check_allow +expecting success of 0060.144 'git-path GIT_COMMON_DIR=bar logs/refs/bisec => bar/logs/refs/bisec': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisec >actual && + echo bar/logs/refs/bisec >expect && + test_cmp expect actual -ok 8 - allow version=1 noop +ok 144 - git-path GIT_COMMON_DIR=bar logs/refs/bisec => bar/logs/refs/bisec -expecting success of 1302.9 'abort version=1 no-such-extension': - mkconfig 1 no-such-extension >.git/config && - check_abort +expecting success of 0060.145 'git-path GIT_COMMON_DIR=bar logs/refs/bisectfoo => bar/logs/refs/bisectfoo': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/bisectfoo >actual && + echo bar/logs/refs/bisectfoo >expect && + test_cmp expect actual -fatal: unknown repository extensions found: - no-such-extension -ok 9 - abort version=1 no-such-extension +ok 145 - git-path GIT_COMMON_DIR=bar logs/refs/bisectfoo => bar/logs/refs/bisectfoo -expecting success of 1302.10 'allow version=0 no-such-extension': - mkconfig 0 no-such-extension >.git/config && - check_allow +expecting success of 0060.146 'git-path GIT_COMMON_DIR=bar objects => bar/objects': + GIT_COMMON_DIR=bar git rev-parse --git-path objects >actual && + echo bar/objects >expect && + test_cmp expect actual -ok 10 - allow version=0 no-such-extension +ok 146 - git-path GIT_COMMON_DIR=bar objects => bar/objects -expecting success of 1302.11 'allow version=0 noop': - mkconfig 0 noop >.git/config && - check_allow +expecting success of 0060.147 'git-path GIT_COMMON_DIR=bar objects/bar => bar/objects/bar': + GIT_COMMON_DIR=bar git rev-parse --git-path objects/bar >actual && + echo bar/objects/bar >expect && + test_cmp expect actual -ok 11 - allow version=0 noop +ok 147 - git-path GIT_COMMON_DIR=bar objects/bar => bar/objects/bar -expecting success of 1302.12 'abort version=0 noop-v1': - mkconfig 0 noop-v1 >.git/config && - check_abort +expecting success of 0060.148 'git-path GIT_COMMON_DIR=bar info/exclude => bar/info/exclude': + GIT_COMMON_DIR=bar git rev-parse --git-path info/exclude >actual && + echo bar/info/exclude >expect && + test_cmp expect actual -fatal: repo version is 0, but v1-only extensions found: - noop-v1 -ok 12 - abort version=0 noop-v1 +ok 148 - git-path GIT_COMMON_DIR=bar info/exclude => bar/info/exclude -expecting success of 1302.13 'allow version=1 noop-v1': - mkconfig 1 noop-v1 >.git/config && - check_allow +expecting success of 0060.149 'git-path GIT_COMMON_DIR=bar info/grafts => bar/info/grafts': + GIT_COMMON_DIR=bar git rev-parse --git-path info/grafts >actual && + echo bar/info/grafts >expect && + test_cmp expect actual -ok 13 - allow version=1 noop-v1 +ok 149 - git-path GIT_COMMON_DIR=bar info/grafts => bar/info/grafts -expecting success of 1302.14 'precious-objects allowed': - mkconfig 1 preciousObjects >.git/config && - check_allow +expecting success of 0060.150 'git-path GIT_COMMON_DIR=bar info/sparse-checkout => .git/info/sparse-checkout': + GIT_COMMON_DIR=bar git rev-parse --git-path info/sparse-checkout >actual && + echo .git/info/sparse-checkout >expect && + test_cmp expect actual + +ok 150 - git-path GIT_COMMON_DIR=bar info/sparse-checkout => .git/info/sparse-checkout -ok 14 - precious-objects allowed +expecting success of 0060.151 'git-path GIT_COMMON_DIR=bar info//sparse-checkout => .git/info//sparse-checkout': + GIT_COMMON_DIR=bar git rev-parse --git-path info//sparse-checkout >actual && + echo .git/info//sparse-checkout >expect && + test_cmp expect actual + +ok 151 - git-path GIT_COMMON_DIR=bar info//sparse-checkout => .git/info//sparse-checkout -expecting success of 1302.15 'precious-objects blocks destructive repack': - test_must_fail git repack -ad +expecting success of 0060.152 'git-path GIT_COMMON_DIR=bar remotes/bar => bar/remotes/bar': + GIT_COMMON_DIR=bar git rev-parse --git-path remotes/bar >actual && + echo bar/remotes/bar >expect && + test_cmp expect actual + +ok 152 - git-path GIT_COMMON_DIR=bar remotes/bar => bar/remotes/bar -fatal: cannot delete packs in a precious-objects repo -ok 15 - precious-objects blocks destructive repack +expecting success of 0060.153 'git-path GIT_COMMON_DIR=bar branches/bar => bar/branches/bar': + GIT_COMMON_DIR=bar git rev-parse --git-path branches/bar >actual && + echo bar/branches/bar >expect && + test_cmp expect actual + +ok 153 - git-path GIT_COMMON_DIR=bar branches/bar => bar/branches/bar -expecting success of 1302.16 'other repacks are OK': - test_commit foo && - git repack +expecting success of 0060.154 'git-path GIT_COMMON_DIR=bar logs/refs/heads/master => bar/logs/refs/heads/master': + GIT_COMMON_DIR=bar git rev-parse --git-path logs/refs/heads/master >actual && + echo bar/logs/refs/heads/master >expect && + test_cmp expect actual + +ok 154 - git-path GIT_COMMON_DIR=bar logs/refs/heads/master => bar/logs/refs/heads/master -[master (root-commit) ddd63c9] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -ok 16 - other repacks are OK +expecting success of 0060.155 'git-path GIT_COMMON_DIR=bar refs/heads/master => bar/refs/heads/master': + GIT_COMMON_DIR=bar git rev-parse --git-path refs/heads/master >actual && + echo bar/refs/heads/master >expect && + test_cmp expect actual + +ok 155 - git-path GIT_COMMON_DIR=bar refs/heads/master => bar/refs/heads/master -expecting success of 1302.17 'precious-objects blocks prune': - test_must_fail git prune +expecting success of 0060.156 'git-path GIT_COMMON_DIR=bar refs/bisect/foo => .git/refs/bisect/foo': + GIT_COMMON_DIR=bar git rev-parse --git-path refs/bisect/foo >actual && + echo .git/refs/bisect/foo >expect && + test_cmp expect actual + +ok 156 - git-path GIT_COMMON_DIR=bar refs/bisect/foo => .git/refs/bisect/foo -fatal: cannot prune in a precious-objects repo -ok 17 - precious-objects blocks prune +expecting success of 0060.157 'git-path GIT_COMMON_DIR=bar hooks/me => bar/hooks/me': + GIT_COMMON_DIR=bar git rev-parse --git-path hooks/me >actual && + echo bar/hooks/me >expect && + test_cmp expect actual + +ok 157 - git-path GIT_COMMON_DIR=bar hooks/me => bar/hooks/me -expecting success of 1302.18 'gc runs without complaint': - git gc +expecting success of 0060.158 'git-path GIT_COMMON_DIR=bar config => bar/config': + GIT_COMMON_DIR=bar git rev-parse --git-path config >actual && + echo bar/config >expect && + test_cmp expect actual + +ok 158 - git-path GIT_COMMON_DIR=bar config => bar/config -ok 18 - gc runs without complaint +expecting success of 0060.159 'git-path GIT_COMMON_DIR=bar packed-refs => bar/packed-refs': + GIT_COMMON_DIR=bar git rev-parse --git-path packed-refs >actual && + echo bar/packed-refs >expect && + test_cmp expect actual + +ok 159 - git-path GIT_COMMON_DIR=bar packed-refs => bar/packed-refs -# passed all 18 test(s) -1..18 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1303-wacky-config.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1303-wacky-config/.git/ -expecting success of 1303.1 'modify same key': - setup && - git config section.key bar && - check section.key bar +expecting success of 0060.160 'git-path GIT_COMMON_DIR=bar shallow => bar/shallow': + GIT_COMMON_DIR=bar git rev-parse --git-path shallow >actual && + echo bar/shallow >expect && + test_cmp expect actual + +ok 160 - git-path GIT_COMMON_DIR=bar shallow => bar/shallow -ok 1 - modify same key +expecting success of 0060.161 'git-path GIT_COMMON_DIR=bar common => bar/common': + GIT_COMMON_DIR=bar git rev-parse --git-path common >actual && + echo bar/common >expect && + test_cmp expect actual + +ok 161 - git-path GIT_COMMON_DIR=bar common => bar/common -expecting success of 1303.2 'add key in same section': - setup && - git config section.other bar && - check section.key foo && - check section.other bar +expecting success of 0060.162 'git-path GIT_COMMON_DIR=bar common/file => bar/common/file': + GIT_COMMON_DIR=bar git rev-parse --git-path common/file >actual && + echo bar/common/file >expect && + test_cmp expect actual + +ok 162 - git-path GIT_COMMON_DIR=bar common/file => bar/common/file -ok 2 - add key in same section +expecting success of 0060.163 'test_submodule_relative_url: ../ ../foo ../submodule => ../../submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' '../foo' '../submodule') && + test "$actual" = '../../submodule' + +ok 163 - test_submodule_relative_url: ../ ../foo ../submodule => ../../submodule -expecting success of 1303.3 'add key in different section': - setup && - git config section2.key bar && - check section.key foo && - check section2.key bar +expecting success of 0060.164 'test_submodule_relative_url: ../ ../foo/bar ../submodule => ../../foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' '../foo/bar' '../submodule') && + test "$actual" = '../../foo/submodule' + +ok 164 - test_submodule_relative_url: ../ ../foo/bar ../submodule => ../../foo/submodule -ok 3 - add key in different section +expecting success of 0060.165 'test_submodule_relative_url: ../ ../foo/submodule ../submodule => ../../foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' '../foo/submodule' '../submodule') && + test "$actual" = '../../foo/submodule' + +ok 165 - test_submodule_relative_url: ../ ../foo/submodule ../submodule => ../../foo/submodule -expecting success of 1303.4 'make sure git config escapes section names properly': - git config "$SECTION" bar && - check "$SECTION" bar +expecting success of 0060.166 'test_submodule_relative_url: ../ ./foo ../submodule => ../submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' './foo' '../submodule') && + test "$actual" = '../submodule' + +ok 166 - test_submodule_relative_url: ../ ./foo ../submodule => ../submodule -ok 4 - make sure git config escapes section names properly +expecting success of 0060.167 'test_submodule_relative_url: ../ ./foo/bar ../submodule => ../foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' './foo/bar' '../submodule') && + test "$actual" = '../foo/submodule' + +ok 167 - test_submodule_relative_url: ../ ./foo/bar ../submodule => ../foo/submodule -expecting success of 1303.5 'do not crash on special long config line': - setup && - git config section.key "$LONG_VALUE" && - check section.key "$LONG_VALUE" +expecting success of 0060.168 'test_submodule_relative_url: ../../../ ../foo/bar ../sub/a/b/c => ../../../../foo/sub/a/b/c': + actual=$(git submodule--helper resolve-relative-url-test '../../../' '../foo/bar' '../sub/a/b/c') && + test "$actual" = '../../../../foo/sub/a/b/c' + +ok 168 - test_submodule_relative_url: ../../../ ../foo/bar ../sub/a/b/c => ../../../../foo/sub/a/b/c -ok 5 - do not crash on special long config line +expecting success of 0060.169 'test_submodule_relative_url: ../ /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo': + actual=$(git submodule--helper resolve-relative-url-test '../' '/build/git-2.30.2/t/trash directory.t0060-path-utils/addtest' '../repo') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/repo' + +ok 169 - test_submodule_relative_url: ../ /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo -expecting success of 1303.6 'get many entries': - setup_many && - git config --get-all section.key >actual && - test_line_count = 3126 actual +expecting success of 0060.170 'test_submodule_relative_url: ../ foo/bar ../submodule => ../foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' 'foo/bar' '../submodule') && + test "$actual" = '../foo/submodule' + +ok 170 - test_submodule_relative_url: ../ foo/bar ../submodule => ../foo/submodule -ok 6 - get many entries +expecting success of 0060.171 'test_submodule_relative_url: ../ foo ../submodule => ../submodule': + actual=$(git submodule--helper resolve-relative-url-test '../' 'foo' '../submodule') && + test "$actual" = '../submodule' + +ok 171 - test_submodule_relative_url: ../ foo ../submodule => ../submodule -expecting success of 1303.7 'get many entries by regex': - setup_many && - git config --get-regexp "sec.*ke." >actual && - test_line_count = 3126 actual +expecting success of 0060.172 'test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c => ../foo/sub/a/b/c': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar' '../sub/a/b/c') && + test "$actual" = '../foo/sub/a/b/c' + +ok 172 - test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c => ../foo/sub/a/b/c -ok 7 - get many entries by regex +expecting success of 0060.173 'test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c/ => ../foo/sub/a/b/c': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar' '../sub/a/b/c/') && + test "$actual" = '../foo/sub/a/b/c' + +ok 173 - test_submodule_relative_url: (null) ../foo/bar ../sub/a/b/c/ => ../foo/sub/a/b/c -expecting success of 1303.8 'add and replace one of many entries': - setup_many && - git config --add section.key bar && - check_regex section.key "b.*r" bar && - git config section.key beer "b.*r" && - check_regex section.key "b.*r" beer +expecting success of 0060.174 'test_submodule_relative_url: (null) ../foo/bar/ ../sub/a/b/c => ../foo/sub/a/b/c': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar/' '../sub/a/b/c') && + test "$actual" = '../foo/sub/a/b/c' + +ok 174 - test_submodule_relative_url: (null) ../foo/bar/ ../sub/a/b/c => ../foo/sub/a/b/c -ok 8 - add and replace one of many entries +expecting success of 0060.175 'test_submodule_relative_url: (null) ../foo/bar ../submodule => ../foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/bar' '../submodule') && + test "$actual" = '../foo/submodule' + +ok 175 - test_submodule_relative_url: (null) ../foo/bar ../submodule => ../foo/submodule -expecting success of 1303.9 'replace many entries': - setup_many && - git config --replace-all section.key bar && - check section.key bar +expecting success of 0060.176 'test_submodule_relative_url: (null) ../foo/submodule ../submodule => ../foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo/submodule' '../submodule') && + test "$actual" = '../foo/submodule' + +ok 176 - test_submodule_relative_url: (null) ../foo/submodule ../submodule => ../foo/submodule -ok 9 - replace many entries +expecting success of 0060.177 'test_submodule_relative_url: (null) ../foo ../submodule => ../submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '../foo' '../submodule') && + test "$actual" = '../submodule' + +ok 177 - test_submodule_relative_url: (null) ../foo ../submodule => ../submodule -expecting success of 1303.10 'unset many entries': - setup_many && - git config --unset-all section.key && - test_must_fail git config section.key +expecting success of 0060.178 'test_submodule_relative_url: (null) ./foo/bar ../submodule => foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' './foo/bar' '../submodule') && + test "$actual" = 'foo/submodule' + +ok 178 - test_submodule_relative_url: (null) ./foo/bar ../submodule => foo/submodule -ok 10 - unset many entries +expecting success of 0060.179 'test_submodule_relative_url: (null) ./foo ../submodule => submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' './foo' '../submodule') && + test "$actual" = 'submodule' + +ok 179 - test_submodule_relative_url: (null) ./foo ../submodule => submodule -expecting success of 1303.11 '--add appends new value after existing empty value': - cat >expect <<-\EOF && +expecting success of 0060.180 'test_submodule_relative_url: (null) //somewhere else/repo ../subrepo => //somewhere else/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../subrepo') && + test "$actual" = '//somewhere else/subrepo' + +ok 180 - test_submodule_relative_url: (null) //somewhere else/repo ../subrepo => //somewhere else/subrepo +expecting success of 0060.181 'test_submodule_relative_url: (null) //somewhere else/repo ../../subrepo => //subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../../subrepo') && + test "$actual" = '//subrepo' + +ok 181 - test_submodule_relative_url: (null) //somewhere else/repo ../../subrepo => //subrepo - fool - roll - EOF - cp .git/config .git/config.old && - test_when_finished "mv .git/config.old .git/config" && - cat >.git/config <<-\EOF && - [foo] - baz - baz = - baz = fool - EOF - git config --add foo.baz roll && - git config --get-all foo.baz >output && - test_cmp expect output +expecting success of 0060.182 'test_submodule_relative_url: (null) //somewhere else/repo ../../../subrepo => /subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../../../subrepo') && + test "$actual" = '/subrepo' + +ok 182 - test_submodule_relative_url: (null) //somewhere else/repo ../../../subrepo => /subrepo -ok 11 - --add appends new value after existing empty value +expecting success of 0060.183 'test_submodule_relative_url: (null) //somewhere else/repo ../../../../subrepo => subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '//somewhere else/repo' '../../../../subrepo') && + test "$actual" = 'subrepo' + +ok 183 - test_submodule_relative_url: (null) //somewhere else/repo ../../../../subrepo => subrepo -# passed all 11 test(s) -1..11 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1006-cat-file.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1006-cat-file/.git/ -expecting success of 1006.1 'setup': - echo_without_newline "$hello_content" > hello && - git update-index --add hello +expecting success of 0060.184 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r ../subsubsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsubsuper_update_r': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r' '../subsubsuper_update_r') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/subsubsuper_update_r' + +ok 184 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r ../subsubsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsubsuper_update_r -ok 1 - setup +expecting success of 0060.185 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/super_update_r2 ../subsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/super_update_r2' '../subsuper_update_r') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r' + +ok 185 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/super_update_r2 ../subsuper_update_r => /build/git-2.30.2/t/trash directory.t0060-path-utils/subsuper_update_r -expecting success of 1006.2 'blob exists': - git cat-file -e $sha1 - -ok 2 - blob exists +expecting success of 0060.186 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../. => /build/git-2.30.2/t/trash directory.t0060-path-utils/.': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' '../.') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' + +ok 186 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../. => /build/git-2.30.2/t/trash directory.t0060-path-utils/. -expecting success of 1006.3 'Type of blob is correct': - echo $type >expect && - git cat-file -t $sha1 >actual && - test_cmp expect actual - -ok 3 - Type of blob is correct +expecting success of 0060.187 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/.': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils' './.') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' + +ok 187 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/. -expecting success of 1006.4 'Size of blob is correct': - echo $size >expect && - git cat-file -s $sha1 >actual && - test_cmp expect actual - -ok 4 - Size of blob is correct +expecting success of 0060.188 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/addtest' '../repo') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/repo' + +ok 188 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/addtest ../repo => /build/git-2.30.2/t/trash directory.t0060-path-utils/repo -expecting success of 1006.5 'Type of blob is correct using --allow-unknown-type': - echo $type >expect && - git cat-file -t --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 5 - Type of blob is correct using --allow-unknown-type +expecting success of 0060.189 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./å äö => /build/git-2.30.2/t/trash directory.t0060-path-utils/å äö': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils' './å äö') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/å äö' + +ok 189 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils ./å äö => /build/git-2.30.2/t/trash directory.t0060-path-utils/å äö -expecting success of 1006.6 'Size of blob is correct using --allow-unknown-type': - echo $size >expect && - git cat-file -s --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 6 - Size of blob is correct using --allow-unknown-type +expecting success of 0060.190 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/.' '../submodule') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule' + +ok 190 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/. ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule -expecting success of 1006.7 'Content of blob is correct': - maybe_remove_timestamp "$content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file $type $sha1)" $no_ts >actual && - test_cmp expect actual - -ok 7 - Content of blob is correct +expecting success of 0060.191 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule' '../submodule') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule' + +ok 191 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule ../submodule => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule -expecting success of 1006.8 'Pretty content of blob is correct': - maybe_remove_timestamp "$pretty_content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && - test_cmp expect actual - -ok 8 - Pretty content of blob is correct +expecting success of 0060.192 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../remote ../bundle1 => /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../bundle1': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../remote' '../bundle1') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../bundle1' + +ok 192 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../remote ../bundle1 => /build/git-2.30.2/t/trash directory.t0060-path-utils/home2/../bundle1 -expecting success of 1006.9 '--batch output of blob is correct': - maybe_remove_timestamp "$batch_output" $no_ts >expect && - maybe_remove_timestamp "$(echo $sha1 | git cat-file --batch)" $no_ts >actual && - test_cmp expect actual - -ok 9 - --batch output of blob is correct +expecting success of 0060.193 'test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo/.': + actual=$(git submodule--helper resolve-relative-url-test '(null)' '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo' './.') && + test "$actual" = '/build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo/.' + +ok 193 - test_submodule_relative_url: (null) /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo ./. => /build/git-2.30.2/t/trash directory.t0060-path-utils/submodule_update_repo/. -expecting success of 1006.10 '--batch-check output of blob is correct': - echo "$sha1 $type $size" >expect && - echo_without_newline $sha1 | git cat-file --batch-check >actual && - test_cmp expect actual - -ok 10 - --batch-check output of blob is correct +expecting success of 0060.194 'test_submodule_relative_url: (null) file:///tmp/repo ../subrepo => file:///tmp/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'file:///tmp/repo' '../subrepo') && + test "$actual" = 'file:///tmp/subrepo' + +ok 194 - test_submodule_relative_url: (null) file:///tmp/repo ../subrepo => file:///tmp/subrepo -expecting success of 1006.11 'custom --batch-check format': - echo "$type $sha1" >expect && - echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && - test_cmp expect actual - -ok 11 - custom --batch-check format +expecting success of 0060.195 'test_submodule_relative_url: (null) foo/bar ../submodule => foo/submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'foo/bar' '../submodule') && + test "$actual" = 'foo/submodule' + +ok 195 - test_submodule_relative_url: (null) foo/bar ../submodule => foo/submodule -expecting success of 1006.12 '--batch-check with %(rest)': - echo "$type this is some extra content" >expect && - echo "$sha1 this is some extra content" | - git cat-file --batch-check="%(objecttype) %(rest)" >actual && - test_cmp expect actual - -ok 12 - --batch-check with %(rest) +expecting success of 0060.196 'test_submodule_relative_url: (null) foo ../submodule => submodule': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'foo' '../submodule') && + test "$actual" = 'submodule' + +ok 196 - test_submodule_relative_url: (null) foo ../submodule => submodule -expecting success of 1006.13 '--batch without type (blob)': - { - echo "$size" && - maybe_remove_timestamp "$content" $no_ts - } >expect && - echo $sha1 | git cat-file --batch="%(objectsize)" >actual.full && - maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && - test_cmp expect actual - -ok 13 - --batch without type (blob) +expecting success of 0060.197 'test_submodule_relative_url: (null) helper:://hostname/repo ../subrepo => helper:://hostname/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../subrepo') && + test "$actual" = 'helper:://hostname/subrepo' + +ok 197 - test_submodule_relative_url: (null) helper:://hostname/repo ../subrepo => helper:://hostname/subrepo -expecting success of 1006.14 '--batch without size (blob)': - { - echo "$type" && - maybe_remove_timestamp "$content" $no_ts - } >expect && - echo $sha1 | git cat-file --batch="%(objecttype)" >actual.full && - maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && - test_cmp expect actual - -ok 14 - --batch without size (blob) +expecting success of 0060.198 'test_submodule_relative_url: (null) helper:://hostname/repo ../../subrepo => helper:://subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../subrepo') && + test "$actual" = 'helper:://subrepo' + +ok 198 - test_submodule_relative_url: (null) helper:://hostname/repo ../../subrepo => helper:://subrepo -expecting success of 1006.15 '--batch-check without %(rest) considers whole line': - echo "$hello_sha1 blob $hello_size" >expect && - git update-index --add --cacheinfo 100644 $hello_sha1 "white space" && - test_when_finished "git update-index --remove \"white space\"" && - echo ":white space" | git cat-file --batch-check >actual && - test_cmp expect actual +expecting success of 0060.199 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../subrepo => helper::/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../subrepo') && + test "$actual" = 'helper::/subrepo' + +ok 199 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../subrepo => helper::/subrepo -ok 15 - --batch-check without %(rest) considers whole line +expecting success of 0060.200 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../../subrepo => helper::subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../../subrepo') && + test "$actual" = 'helper::subrepo' + +ok 200 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../subrepo => helper::subrepo -expecting success of 1006.16 'tree exists': - git cat-file -e $sha1 - -ok 16 - tree exists +expecting success of 0060.201 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../subrepo => helper:subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../../../subrepo') && + test "$actual" = 'helper:subrepo' + +ok 201 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../subrepo => helper:subrepo -expecting success of 1006.17 'Type of tree is correct': - echo $type >expect && - git cat-file -t $sha1 >actual && - test_cmp expect actual - -ok 17 - Type of tree is correct +expecting success of 0060.202 'test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../../subrepo => .:subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'helper:://hostname/repo' '../../../../../../subrepo') && + test "$actual" = '.:subrepo' + +ok 202 - test_submodule_relative_url: (null) helper:://hostname/repo ../../../../../../subrepo => .:subrepo -expecting success of 1006.18 'Size of tree is correct': - echo $size >expect && - git cat-file -s $sha1 >actual && - test_cmp expect actual - -ok 18 - Size of tree is correct +expecting success of 0060.203 'test_submodule_relative_url: (null) ssh://hostname/repo ../subrepo => ssh://hostname/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../subrepo') && + test "$actual" = 'ssh://hostname/subrepo' + +ok 203 - test_submodule_relative_url: (null) ssh://hostname/repo ../subrepo => ssh://hostname/subrepo -expecting success of 1006.19 'Type of tree is correct using --allow-unknown-type': - echo $type >expect && - git cat-file -t --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 19 - Type of tree is correct using --allow-unknown-type +expecting success of 0060.204 'test_submodule_relative_url: (null) ssh://hostname/repo ../../subrepo => ssh://subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../subrepo') && + test "$actual" = 'ssh://subrepo' + +ok 204 - test_submodule_relative_url: (null) ssh://hostname/repo ../../subrepo => ssh://subrepo -expecting success of 1006.20 'Size of tree is correct using --allow-unknown-type': - echo $size >expect && - git cat-file -s --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 20 - Size of tree is correct using --allow-unknown-type +expecting success of 0060.205 'test_submodule_relative_url: (null) ssh://hostname/repo ../../../subrepo => ssh:/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../../subrepo') && + test "$actual" = 'ssh:/subrepo' + +ok 205 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../subrepo => ssh:/subrepo -expecting success of 1006.21 'Pretty content of tree is correct': - maybe_remove_timestamp "$pretty_content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && - test_cmp expect actual - -ok 21 - Pretty content of tree is correct +expecting success of 0060.206 'test_submodule_relative_url: (null) ssh://hostname/repo ../../../../subrepo => ssh:subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../../../subrepo') && + test "$actual" = 'ssh:subrepo' + +ok 206 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../../subrepo => ssh:subrepo -expecting success of 1006.22 '--batch-check output of tree is correct': - echo "$sha1 $type $size" >expect && - echo_without_newline $sha1 | git cat-file --batch-check >actual && - test_cmp expect actual - -ok 22 - --batch-check output of tree is correct +expecting success of 0060.207 'test_submodule_relative_url: (null) ssh://hostname/repo ../../../../../subrepo => .:subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname/repo' '../../../../../subrepo') && + test "$actual" = '.:subrepo' + +ok 207 - test_submodule_relative_url: (null) ssh://hostname/repo ../../../../../subrepo => .:subrepo -expecting success of 1006.23 'custom --batch-check format': - echo "$type $sha1" >expect && - echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && - test_cmp expect actual - -ok 23 - custom --batch-check format +expecting success of 0060.208 'test_submodule_relative_url: (null) ssh://hostname:22/repo ../subrepo => ssh://hostname:22/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'ssh://hostname:22/repo' '../subrepo') && + test "$actual" = 'ssh://hostname:22/subrepo' + +ok 208 - test_submodule_relative_url: (null) ssh://hostname:22/repo ../subrepo => ssh://hostname:22/subrepo -expecting success of 1006.24 '--batch-check with %(rest)': - echo "$type this is some extra content" >expect && - echo "$sha1 this is some extra content" | - git cat-file --batch-check="%(objecttype) %(rest)" >actual && - test_cmp expect actual - -ok 24 - --batch-check with %(rest) +expecting success of 0060.209 'test_submodule_relative_url: (null) user@host:path/to/repo ../subrepo => user@host:path/to/subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'user@host:path/to/repo' '../subrepo') && + test "$actual" = 'user@host:path/to/subrepo' + +ok 209 - test_submodule_relative_url: (null) user@host:path/to/repo ../subrepo => user@host:path/to/subrepo -expecting success of 1006.25 'commit exists': - git cat-file -e $sha1 - -ok 25 - commit exists +expecting success of 0060.210 'test_submodule_relative_url: (null) user@host:repo ../subrepo => user@host:subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'user@host:repo' '../subrepo') && + test "$actual" = 'user@host:subrepo' + +ok 210 - test_submodule_relative_url: (null) user@host:repo ../subrepo => user@host:subrepo -expecting success of 1006.26 'Type of commit is correct': - echo $type >expect && - git cat-file -t $sha1 >actual && - test_cmp expect actual - -ok 26 - Type of commit is correct +expecting success of 0060.211 'test_submodule_relative_url: (null) user@host:repo ../../subrepo => .:subrepo': + actual=$(git submodule--helper resolve-relative-url-test '(null)' 'user@host:repo' '../../subrepo') && + test "$actual" = '.:subrepo' + +ok 211 - test_submodule_relative_url: (null) user@host:repo ../../subrepo => .:subrepo -expecting success of 1006.27 'Size of commit is correct': - echo $size >expect && - git cat-file -s $sha1 >actual && - test_cmp expect actual - -ok 27 - Size of commit is correct +expecting success of 0060.212 'match .gitmodules': + test-tool path-utils is_dotgitmodules \ + .gitmodules \ + \ + .git${u200c}modules \ + \ + .Gitmodules \ + .gitmoduleS \ + \ + ".gitmodules " \ + ".gitmodules." \ + ".gitmodules " \ + ".gitmodules. " \ + ".gitmodules ." \ + ".gitmodules.." \ + ".gitmodules " \ + ".gitmodules. " \ + ".gitmodules . " \ + ".gitmodules ." \ + \ + ".Gitmodules " \ + ".Gitmodules." \ + ".Gitmodules " \ + ".Gitmodules. " \ + ".Gitmodules ." \ + ".Gitmodules.." \ + ".Gitmodules " \ + ".Gitmodules. " \ + ".Gitmodules . " \ + ".Gitmodules ." \ + \ + GITMOD~1 \ + gitmod~1 \ + GITMOD~2 \ + gitmod~3 \ + GITMOD~4 \ + \ + "GITMOD~1 " \ + "gitmod~2." \ + "GITMOD~3 " \ + "gitmod~4. " \ + "GITMOD~1 ." \ + "gitmod~2 " \ + "GITMOD~3. " \ + "gitmod~4 . " \ + \ + GI7EBA~1 \ + gi7eba~9 \ + \ + GI7EB~10 \ + GI7EB~11 \ + GI7EB~99 \ + GI7EB~10 \ + GI7E~100 \ + GI7E~101 \ + GI7E~999 \ + ~1000000 \ + ~9999999 \ + \ + .gitmodules:\$DATA \ + "gitmod~4 . :\$DATA" \ + \ + --not \ + ".gitmodules x" \ + ".gitmodules .x" \ + \ + " .gitmodules" \ + \ + ..gitmodules \ + \ + gitmodules \ + \ + .gitmodule \ + \ + ".gitmodules x " \ + ".gitmodules .x" \ + \ + GI7EBA~ \ + GI7EBA~0 \ + GI7EBA~~1 \ + GI7EBA~X \ + Gx7EBA~1 \ + GI7EBX~1 \ + \ + GI7EB~1 \ + GI7EB~01 \ + GI7EB~1X \ + \ + .gitmodules,:\$DATA -expecting success of 1006.28 'Type of commit is correct using --allow-unknown-type': - echo $type >expect && - git cat-file -t --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 28 - Type of commit is correct using --allow-unknown-type +ok: '.gitmodules' is .gitmodules +ok: '.git‌modules' is .gitmodules +ok: '.Gitmodules' is .gitmodules +ok: '.gitmoduleS' is .gitmodules +ok: '.gitmodules ' is .gitmodules +ok: '.gitmodules.' is .gitmodules +ok: '.gitmodules ' is .gitmodules +ok: '.gitmodules. ' is .gitmodules +ok: '.gitmodules .' is .gitmodules +ok: '.gitmodules..' is .gitmodules +ok: '.gitmodules ' is .gitmodules +ok: '.gitmodules. ' is .gitmodules +ok: '.gitmodules . ' is .gitmodules +ok: '.gitmodules .' is .gitmodules +ok: '.Gitmodules ' is .gitmodules +ok: '.Gitmodules.' is .gitmodules +ok: '.Gitmodules ' is .gitmodules +ok: '.Gitmodules. ' is .gitmodules +ok: '.Gitmodules .' is .gitmodules +ok: '.Gitmodules..' is .gitmodules +ok: '.Gitmodules ' is .gitmodules +ok: '.Gitmodules. ' is .gitmodules +ok: '.Gitmodules . ' is .gitmodules +ok: '.Gitmodules .' is .gitmodules +ok: 'GITMOD~1' is .gitmodules +ok: 'gitmod~1' is .gitmodules +ok: 'GITMOD~2' is .gitmodules +ok: 'gitmod~3' is .gitmodules +ok: 'GITMOD~4' is .gitmodules +ok: 'GITMOD~1 ' is .gitmodules +ok: 'gitmod~2.' is .gitmodules +ok: 'GITMOD~3 ' is .gitmodules +ok: 'gitmod~4. ' is .gitmodules +ok: 'GITMOD~1 .' is .gitmodules +ok: 'gitmod~2 ' is .gitmodules +ok: 'GITMOD~3. ' is .gitmodules +ok: 'gitmod~4 . ' is .gitmodules +ok: 'GI7EBA~1' is .gitmodules +ok: 'gi7eba~9' is .gitmodules +ok: 'GI7EB~10' is .gitmodules +ok: 'GI7EB~11' is .gitmodules +ok: 'GI7EB~99' is .gitmodules +ok: 'GI7EB~10' is .gitmodules +ok: 'GI7E~100' is .gitmodules +ok: 'GI7E~101' is .gitmodules +ok: 'GI7E~999' is .gitmodules +ok: '~1000000' is .gitmodules +ok: '~9999999' is .gitmodules +ok: '.gitmodules:$DATA' is .gitmodules +ok: 'gitmod~4 . :$DATA' is .gitmodules +ok: '.gitmodules x' is not .gitmodules +ok: '.gitmodules .x' is not .gitmodules +ok: ' .gitmodules' is not .gitmodules +ok: '..gitmodules' is not .gitmodules +ok: 'gitmodules' is not .gitmodules +ok: '.gitmodule' is not .gitmodules +ok: '.gitmodules x ' is not .gitmodules +ok: '.gitmodules .x' is not .gitmodules +ok: 'GI7EBA~' is not .gitmodules +ok: 'GI7EBA~0' is not .gitmodules +ok: 'GI7EBA~~1' is not .gitmodules +ok: 'GI7EBA~X' is not .gitmodules +ok: 'Gx7EBA~1' is not .gitmodules +ok: 'GI7EBX~1' is not .gitmodules +ok: 'GI7EB~1' is not .gitmodules +ok: 'GI7EB~01' is not .gitmodules +ok: 'GI7EB~1X' is not .gitmodules +ok: '.gitmodules,:$DATA' is not .gitmodules +ok 212 - match .gitmodules -expecting success of 1006.29 'Size of commit is correct using --allow-unknown-type': - echo $size >expect && - git cat-file -s --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 29 - Size of commit is correct using --allow-unknown-type +ok 213 # skip is_valid_path() on Windows (missing MINGW) -expecting success of 1006.30 'Content of commit is correct': - maybe_remove_timestamp "$content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file $type $sha1)" $no_ts >actual && +# passed all 213 test(s) +1..213 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0211-trace2-perf.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0211-trace2-perf/.git/ +expecting success of 0211.1 'perf stream, return code 0': + test_when_finished "rm trace.perf actual expect" && + GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && + cat >expect <<-EOF && + d0|main|version|||||$V + d0|main|start||_T_ABS_|||_EXE_ trace2 001return 0 + d0|main|cmd_name|||||trace2 (trace2) + d0|main|exit||_T_ABS_|||code:0 + d0|main|atexit||_T_ABS_|||code:0 + EOF test_cmp expect actual - -ok 30 - Content of commit is correct -expecting success of 1006.31 'Pretty content of commit is correct': - maybe_remove_timestamp "$pretty_content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && - test_cmp expect actual - -ok 31 - Pretty content of commit is correct +ok 1 - perf stream, return code 0 -expecting success of 1006.32 '--batch output of commit is correct': - maybe_remove_timestamp "$batch_output" $no_ts >expect && - maybe_remove_timestamp "$(echo $sha1 | git cat-file --batch)" $no_ts >actual && +expecting success of 0211.2 'perf stream, return code 1': + test_when_finished "rm trace.perf actual expect" && + test_must_fail env GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 001return 1 && + perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && + cat >expect <<-EOF && + d0|main|version|||||$V + d0|main|start||_T_ABS_|||_EXE_ trace2 001return 1 + d0|main|cmd_name|||||trace2 (trace2) + d0|main|exit||_T_ABS_|||code:1 + d0|main|atexit||_T_ABS_|||code:1 + EOF test_cmp expect actual - -ok 32 - --batch output of commit is correct -expecting success of 1006.33 '--batch-check output of commit is correct': - echo "$sha1 $type $size" >expect && - echo_without_newline $sha1 | git cat-file --batch-check >actual && - test_cmp expect actual - -ok 33 - --batch-check output of commit is correct +ok 2 - perf stream, return code 1 -expecting success of 1006.34 'custom --batch-check format': - echo "$type $sha1" >expect && - echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && +expecting success of 0211.3 'perf stream, error event': + test_when_finished "rm trace.perf actual expect" && + GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 003error "hello world" "this is a test" && + perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && + cat >expect <<-EOF && + d0|main|version|||||$V + d0|main|start||_T_ABS_|||_EXE_ trace2 003error 'hello world' 'this is a test' + d0|main|cmd_name|||||trace2 (trace2) + d0|main|error|||||hello world + d0|main|error|||||this is a test + d0|main|exit||_T_ABS_|||code:0 + d0|main|atexit||_T_ABS_|||code:0 + EOF test_cmp expect actual - -ok 34 - custom --batch-check format -expecting success of 1006.35 '--batch-check with %(rest)': - echo "$type this is some extra content" >expect && - echo "$sha1 this is some extra content" | - git cat-file --batch-check="%(objecttype) %(rest)" >actual && - test_cmp expect actual - -ok 35 - --batch-check with %(rest) +error: hello world +error: this is a test +ok 3 - perf stream, error event -expecting success of 1006.36 '--batch without type (commit)': - { - echo "$size" && - maybe_remove_timestamp "$content" $no_ts - } >expect && - echo $sha1 | git cat-file --batch="%(objectsize)" >actual.full && - maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && +expecting success of 0211.4 'perf stream, child processes': + test_when_finished "rm trace.perf actual expect" && + GIT_TRACE2_PERF="$(pwd)/trace.perf" test-tool trace2 004child test-tool trace2 004child test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && + cat >expect <<-EOF && + d0|main|version|||||$V + d0|main|start||_T_ABS_|||_EXE_ trace2 004child test-tool trace2 004child test-tool trace2 001return 0 + d0|main|cmd_name|||||trace2 (trace2) + d0|main|child_start||_T_ABS_|||[ch0] class:? argv:[test-tool trace2 004child test-tool trace2 001return 0] + d1|main|version|||||$V + d1|main|start||_T_ABS_|||_EXE_ trace2 004child test-tool trace2 001return 0 + d1|main|cmd_name|||||trace2 (trace2/trace2) + d1|main|child_start||_T_ABS_|||[ch0] class:? argv:[test-tool trace2 001return 0] + d2|main|version|||||$V + d2|main|start||_T_ABS_|||_EXE_ trace2 001return 0 + d2|main|cmd_name|||||trace2 (trace2/trace2/trace2) + d2|main|exit||_T_ABS_|||code:0 + d2|main|atexit||_T_ABS_|||code:0 + d1|main|child_exit||_T_ABS_|_T_REL_||[ch0] pid:_PID_ code:0 + d1|main|exit||_T_ABS_|||code:0 + d1|main|atexit||_T_ABS_|||code:0 + d0|main|child_exit||_T_ABS_|_T_REL_||[ch0] pid:_PID_ code:0 + d0|main|exit||_T_ABS_|||code:0 + d0|main|atexit||_T_ABS_|||code:0 + EOF test_cmp expect actual - -ok 36 - --batch without type (commit) -expecting success of 1006.37 '--batch without size (commit)': - { - echo "$type" && - maybe_remove_timestamp "$content" $no_ts - } >expect && - echo $sha1 | git cat-file --batch="%(objecttype)" >actual.full && - maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && +ok 4 - perf stream, child processes + +expecting success of 0211.5 'using global config, perf stream, return code 0': + test_when_finished "rm trace.perf actual expect" && + test_config_global trace2.perfBrief 1 && + test_config_global trace2.perfTarget "$(pwd)/trace.perf" && + test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0211/scrub_perf.perl" actual && + cat >expect <<-EOF && + d0|main|version|||||$V + d0|main|start||_T_ABS_|||_EXE_ trace2 001return 0 + d0|main|cmd_name|||||trace2 (trace2) + d0|main|exit||_T_ABS_|||code:0 + d0|main|atexit||_T_ABS_|||code:0 + EOF test_cmp expect actual - -ok 37 - --batch without size (commit) -expecting success of 1006.38 'tag exists': - git cat-file -e $sha1 - -ok 38 - tag exists +ok 5 - using global config, perf stream, return code 0 -expecting success of 1006.39 'Type of tag is correct': - echo $type >expect && - git cat-file -t $sha1 >actual && +# passed all 5 test(s) +1..5 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0210-trace2-normal.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0210-trace2-normal/.git/ +expecting success of 0210.1 'normal stream, return code 0': + test_when_finished "rm trace.normal actual expect" && + GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 001return 0 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:0 + atexit elapsed:_TIME_ code:0 + EOF test_cmp expect actual - -ok 39 - Type of tag is correct -expecting success of 1006.40 'Size of tag is correct': - echo $size >expect && - git cat-file -s $sha1 >actual && - test_cmp expect actual - -ok 40 - Size of tag is correct +ok 1 - normal stream, return code 0 -expecting success of 1006.41 'Type of tag is correct using --allow-unknown-type': - echo $type >expect && - git cat-file -t --allow-unknown-type $sha1 >actual && +expecting success of 0210.2 'normal stream, return code 1': + test_when_finished "rm trace.normal actual expect" && + test_must_fail env GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 001return 1 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 001return 1 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:1 + atexit elapsed:_TIME_ code:1 + EOF test_cmp expect actual - -ok 41 - Type of tag is correct using --allow-unknown-type -expecting success of 1006.42 'Size of tag is correct using --allow-unknown-type': - echo $size >expect && - git cat-file -s --allow-unknown-type $sha1 >actual && - test_cmp expect actual - -ok 42 - Size of tag is correct using --allow-unknown-type +ok 2 - normal stream, return code 1 -expecting success of 1006.43 'Content of tag is correct': - maybe_remove_timestamp "$content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file $type $sha1)" $no_ts >actual && +expecting success of 0210.3 'automatic filename': + test_when_finished "rm -r traces actual expect" && + mkdir traces && + GIT_TRACE2="$(pwd)/traces" test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" <"$(ls traces/*)" >actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 001return 0 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:0 + atexit elapsed:_TIME_ code:0 + EOF test_cmp expect actual - -ok 43 - Content of tag is correct -expecting success of 1006.44 'Pretty content of tag is correct': - maybe_remove_timestamp "$pretty_content" $no_ts >expect && - maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && - test_cmp expect actual - -ok 44 - Pretty content of tag is correct +ok 3 - automatic filename -expecting success of 1006.45 '--batch output of tag is correct': - maybe_remove_timestamp "$batch_output" $no_ts >expect && - maybe_remove_timestamp "$(echo $sha1 | git cat-file --batch)" $no_ts >actual && +expecting success of 0210.4 'normal stream, exit code 0': + test_when_finished "rm trace.normal actual expect" && + GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 002exit 0 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 002exit 0 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:0 + atexit elapsed:_TIME_ code:0 + EOF test_cmp expect actual - -ok 45 - --batch output of tag is correct -expecting success of 1006.46 '--batch-check output of tag is correct': - echo "$sha1 $type $size" >expect && - echo_without_newline $sha1 | git cat-file --batch-check >actual && - test_cmp expect actual - -ok 46 - --batch-check output of tag is correct +ok 4 - normal stream, exit code 0 -expecting success of 1006.47 'custom --batch-check format': - echo "$type $sha1" >expect && - echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && +expecting success of 0210.5 'normal stream, exit code 1': + test_when_finished "rm trace.normal actual expect" && + test_must_fail env GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 002exit 1 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 002exit 1 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:1 + atexit elapsed:_TIME_ code:1 + EOF test_cmp expect actual - -ok 47 - custom --batch-check format -expecting success of 1006.48 '--batch-check with %(rest)': - echo "$type this is some extra content" >expect && - echo "$sha1 this is some extra content" | - git cat-file --batch-check="%(objecttype) %(rest)" >actual && +ok 5 - normal stream, exit code 1 + +expecting success of 0210.6 'normal stream, error event': + test_when_finished "rm trace.normal actual expect" && + GIT_TRACE2="$(pwd)/trace.normal" test-tool trace2 003error "hello world" "this is a test" && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 003error 'hello world' 'this is a test' + cmd_name trace2 (trace2) + error hello world + error this is a test + exit elapsed:_TIME_ code:0 + atexit elapsed:_TIME_ code:0 + EOF test_cmp expect actual - -ok 48 - --batch-check with %(rest) -expecting success of 1006.49 '--batch without type (tag)': - { - echo "$size" && - maybe_remove_timestamp "$content" $no_ts - } >expect && - echo $sha1 | git cat-file --batch="%(objectsize)" >actual.full && - maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && +error: hello world +error: this is a test +ok 6 - normal stream, error event + +expecting success of 0210.7 'using global config, normal stream, return code 0': + test_when_finished "rm trace.normal actual expect" && + test_config_global trace2.normalBrief 1 && + test_config_global trace2.normalTarget "$(pwd)/trace.normal" && + test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 001return 0 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:0 + atexit elapsed:_TIME_ code:0 + EOF test_cmp expect actual - -ok 49 - --batch without type (tag) -expecting success of 1006.50 '--batch without size (tag)': - { - echo "$type" && - maybe_remove_timestamp "$content" $no_ts - } >expect && - echo $sha1 | git cat-file --batch="%(objecttype)" >actual.full && - maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && +ok 7 - using global config, normal stream, return code 0 + +expecting success of 0210.8 'using global config with include': + test_when_finished "rm trace.normal actual expect real.gitconfig" && + test_config_global trace2.normalBrief 1 && + test_config_global trace2.normalTarget "$(pwd)/trace.normal" && + mv "$(pwd)/.gitconfig" "$(pwd)/real.gitconfig" && + test_config_global include.path "$(pwd)/real.gitconfig" && + test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0210/scrub_normal.perl" actual && + cat >expect <<-EOF && + version $V + start _EXE_ trace2 001return 0 + cmd_name trace2 (trace2) + exit elapsed:_TIME_ code:0 + atexit elapsed:_TIME_ code:0 + EOF test_cmp expect actual - -ok 50 - --batch without size (tag) -expecting success of 1006.51 'Reach a blob from a tag pointing to it': test 'Hello World' = "$(git cat-file blob bb50ec8a71343279c59ba488a3445888e3fb624b)" -ok 51 - Reach a blob from a tag pointing to it +ok 8 - using global config with include -expecting success of 1006.52 'Passing -t with --batch fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0000-basic.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0000-basic/.git/ +expecting success of 0000.1 'verify that the running shell supports "local"': + x="notlocal" && + y="alsonotlocal" && + echo "local alsolocal" >expected1 && + try_local_xy >actual1 && + test_cmp expected1 actual1 && + echo "notlocal alsonotlocal" >expected2 && + echo "$x $y" >actual2 && + test_cmp expected2 actual2 - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 1 - verify that the running shell supports "local" -ok 52 - Passing -t with --batch fails +expecting success of 0000.2 '.git/objects should be empty after git init in an empty repo': + find .git/objects -type f -print >should-be-empty && + test_line_count = 0 should-be-empty -expecting success of 1006.53 'Passing --batch with -t fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 2 - .git/objects should be empty after git init in an empty repo - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.3 '.git/objects should have 3 subdirectories': + find .git/objects -type d -print >full-of-directories && + test_line_count = 3 full-of-directories -ok 53 - Passing --batch with -t fails +ok 3 - .git/objects should have 3 subdirectories -expecting success of 1006.54 'Passing -s with --batch fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.4 'success is reported like this': + : - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 4 - success is reported like this -ok 54 - Passing -s with --batch fails +expecting success of 0000.5 'pretend we have a fully passing test suite': + run_sub_test_lib_test full-pass '3 passing tests' <<-\EOF && + for i in 1 2 3 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test full-pass <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 - passing test #3 + > # passed all 3 test(s) + > 1..3 + EOF -expecting success of 1006.55 'Passing --batch with -s fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 5 - pretend we have a fully passing test suite - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.6 'pretend we have a partially passing test suite': + run_sub_test_lib_test_err partial-pass '2/3 tests passing' <<-\EOF && + test_expect_success 'passing test #1' 'true' + test_expect_success 'failing test #2' 'false' + test_expect_success 'passing test #3' 'true' + test_done + EOF + check_sub_test_lib_test partial-pass <<-\EOF + > ok 1 - passing test #1 + > not ok 2 - failing test #2 + # false + > ok 3 - passing test #3 + > # failed 1 among 3 test(s) + > 1..3 + EOF -ok 55 - Passing --batch with -s fails +ok 6 - pretend we have a partially passing test suite -expecting success of 1006.56 'Passing -e with --batch fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.7 'pretend we have a known breakage': + run_sub_test_lib_test failing-todo 'A failing TODO test' <<-\EOF && + test_expect_success 'passing test' 'true' + test_expect_failure 'pretend we have a known breakage' 'false' + test_done + EOF + check_sub_test_lib_test failing-todo <<-\EOF + > ok 1 - passing test + > not ok 2 - pretend we have a known breakage # TODO known breakage + > # still have 1 known breakage(s) + > # passed all remaining 1 test(s) + > 1..2 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 7 - pretend we have a known breakage -ok 56 - Passing -e with --batch fails +expecting success of 0000.8 'pretend we have fixed a known breakage': + run_sub_test_lib_test passing-todo 'A passing TODO test' <<-\EOF && + test_expect_failure 'pretend we have fixed a known breakage' 'true' + test_done + EOF + check_sub_test_lib_test passing-todo <<-\EOF + > ok 1 - pretend we have fixed a known breakage # TODO known breakage vanished + > # 1 known breakage(s) vanished; please update test(s) + > 1..1 + EOF -expecting success of 1006.57 'Passing --batch with -e fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 8 - pretend we have fixed a known breakage - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.9 'pretend we have fixed one of two known breakages (run in sub test-lib)': + run_sub_test_lib_test partially-passing-todos '2 TODO tests, one passing' <<-\EOF && + test_expect_failure 'pretend we have a known breakage' 'false' + test_expect_success 'pretend we have a passing test' 'true' + test_expect_failure 'pretend we have fixed another known breakage' 'true' + test_done + EOF + check_sub_test_lib_test partially-passing-todos <<-\EOF + > not ok 1 - pretend we have a known breakage # TODO known breakage + > ok 2 - pretend we have a passing test + > ok 3 - pretend we have fixed another known breakage # TODO known breakage vanished + > # 1 known breakage(s) vanished; please update test(s) + > # still have 1 known breakage(s) + > # passed all remaining 1 test(s) + > 1..3 + EOF -ok 57 - Passing --batch with -e fails +ok 9 - pretend we have fixed one of two known breakages (run in sub test-lib) -expecting success of 1006.58 'Passing -p with --batch fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.10 'pretend we have a pass, fail, and known breakage': + run_sub_test_lib_test_err mixed-results1 'mixed results #1' <<-\EOF && + test_expect_success 'passing test' 'true' + test_expect_success 'failing test' 'false' + test_expect_failure 'pretend we have a known breakage' 'false' + test_done + EOF + check_sub_test_lib_test mixed-results1 <<-\EOF + > ok 1 - passing test + > not ok 2 - failing test + > # false + > not ok 3 - pretend we have a known breakage # TODO known breakage + > # still have 1 known breakage(s) + > # failed 1 among remaining 2 test(s) + > 1..3 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 10 - pretend we have a pass, fail, and known breakage -ok 58 - Passing -p with --batch fails +expecting success of 0000.11 'pretend we have a mix of all possible results': + run_sub_test_lib_test_err mixed-results2 'mixed results #2' <<-\EOF && + test_expect_success 'passing test' 'true' + test_expect_success 'passing test' 'true' + test_expect_success 'passing test' 'true' + test_expect_success 'passing test' 'true' + test_expect_success 'failing test' 'false' + test_expect_success 'failing test' 'false' + test_expect_success 'failing test' 'false' + test_expect_failure 'pretend we have a known breakage' 'false' + test_expect_failure 'pretend we have a known breakage' 'false' + test_expect_failure 'pretend we have fixed a known breakage' 'true' + test_done + EOF + check_sub_test_lib_test mixed-results2 <<-\EOF + > ok 1 - passing test + > ok 2 - passing test + > ok 3 - passing test + > ok 4 - passing test + > not ok 5 - failing test + > # false + > not ok 6 - failing test + > # false + > not ok 7 - failing test + > # false + > not ok 8 - pretend we have a known breakage # TODO known breakage + > not ok 9 - pretend we have a known breakage # TODO known breakage + > ok 10 - pretend we have fixed a known breakage # TODO known breakage vanished + > # 1 known breakage(s) vanished; please update test(s) + > # still have 2 known breakage(s) + > # failed 3 among remaining 7 test(s) + > 1..10 + EOF -expecting success of 1006.59 'Passing --batch with -p fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 11 - pretend we have a mix of all possible results - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +checking prerequisite: C_LOCALE_OUTPUT -ok 59 - Passing --batch with -p fails +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 1006.60 'Passing with --batch fails': - test_must_fail git cat-file --$batch blob $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +) +prerequisite C_LOCALE_OUTPUT ok +expecting success of 0000.12 'test --verbose': + run_sub_test_lib_test_err \ + t1234-verbose "test verbose" --verbose <<-\EOF && + test_expect_success "passing test" true + test_expect_success "test with output" "echo foo" + test_expect_success "failing test" false + test_done + EOF + mv t1234-verbose/out t1234-verbose/out+ && + grep -v "^Initialized empty" t1234-verbose/out+ >t1234-verbose/out && + check_sub_test_lib_test t1234-verbose <<-\EOF + > expecting success of 1234.1 'passing test': true + > ok 1 - passing test + > Z + > expecting success of 1234.2 'test with output': echo foo + > foo + > ok 2 - test with output + > Z + > expecting success of 1234.3 'failing test': false + > not ok 3 - failing test + > # false + > Z + > # failed 1 among 3 test(s) + > 1..3 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 12 - test --verbose -ok 60 - Passing with --batch fails +expecting success of 0000.13 'test --verbose-only': + run_sub_test_lib_test_err \ + t2345-verbose-only-2 "test verbose-only=2" \ + --verbose-only=2 <<-\EOF && + test_expect_success "passing test" true + test_expect_success "test with output" "echo foo" + test_expect_success "failing test" false + test_done + EOF + check_sub_test_lib_test t2345-verbose-only-2 <<-\EOF + > ok 1 - passing test + > Z + > expecting success of 2345.2 'test with output': echo foo + > foo + > ok 2 - test with output + > Z + > not ok 3 - failing test + > # false + > # failed 1 among 3 test(s) + > 1..3 + EOF -expecting success of 1006.61 'Passing --batch with fails': - test_must_fail git cat-file blob --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 13 - test --verbose-only - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.14 'GIT_SKIP_TESTS': + ( + GIT_SKIP_TESTS='git.2' && export GIT_SKIP_TESTS && + run_sub_test_lib_test git-skip-tests-basic 'GIT_SKIP_TESTS' <<-\EOF && + for i in 1 2 3 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test git-skip-tests-basic <<-\EOF + > ok 1 - passing test #1 + > ok 2 # skip passing test #2 (GIT_SKIP_TESTS) + > ok 3 - passing test #3 + > # passed all 3 test(s) + > 1..3 + EOF + ) -ok 61 - Passing --batch with fails +ok 14 - GIT_SKIP_TESTS -expecting success of 1006.62 'Passing sha1 with --batch fails': - test_must_fail git cat-file --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.15 'GIT_SKIP_TESTS several tests': + ( + GIT_SKIP_TESTS='git.2 git.5' && export GIT_SKIP_TESTS && + run_sub_test_lib_test git-skip-tests-several 'GIT_SKIP_TESTS several tests' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test git-skip-tests-several <<-\EOF + > ok 1 - passing test #1 + > ok 2 # skip passing test #2 (GIT_SKIP_TESTS) + > ok 3 - passing test #3 + > ok 4 - passing test #4 + > ok 5 # skip passing test #5 (GIT_SKIP_TESTS) + > ok 6 - passing test #6 + > # passed all 6 test(s) + > 1..6 + EOF + ) - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 15 - GIT_SKIP_TESTS several tests -ok 62 - Passing sha1 with --batch fails +expecting success of 0000.16 'GIT_SKIP_TESTS sh pattern': + ( + GIT_SKIP_TESTS='git.[2-5]' && export GIT_SKIP_TESTS && + run_sub_test_lib_test git-skip-tests-sh-pattern 'GIT_SKIP_TESTS sh pattern' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test git-skip-tests-sh-pattern <<-\EOF + > ok 1 - passing test #1 + > ok 2 # skip passing test #2 (GIT_SKIP_TESTS) + > ok 3 # skip passing test #3 (GIT_SKIP_TESTS) + > ok 4 # skip passing test #4 (GIT_SKIP_TESTS) + > ok 5 # skip passing test #5 (GIT_SKIP_TESTS) + > ok 6 - passing test #6 + > # passed all 6 test(s) + > 1..6 + EOF + ) -expecting success of 1006.63 'Passing -t with --batch-check fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 16 - GIT_SKIP_TESTS sh pattern - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.17 'GIT_SKIP_TESTS entire suite': + ( + GIT_SKIP_TESTS='git' && export GIT_SKIP_TESTS && + run_sub_test_lib_test git-skip-tests-entire-suite 'GIT_SKIP_TESTS entire suite' <<-\EOF && + for i in 1 2 3 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test git-skip-tests-entire-suite <<-\EOF + > 1..0 # SKIP skip all tests in git + EOF + ) -ok 63 - Passing -t with --batch-check fails +ok 17 - GIT_SKIP_TESTS entire suite -expecting success of 1006.64 'Passing --batch-check with -t fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.18 'GIT_SKIP_TESTS does not skip unmatched suite': + ( + GIT_SKIP_TESTS='notgit' && export GIT_SKIP_TESTS && + run_sub_test_lib_test git-skip-tests-unmatched-suite 'GIT_SKIP_TESTS does not skip unmatched suite' <<-\EOF && + for i in 1 2 3 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test git-skip-tests-unmatched-suite <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 - passing test #3 + > # passed all 3 test(s) + > 1..3 + EOF + ) - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 18 - GIT_SKIP_TESTS does not skip unmatched suite -ok 64 - Passing --batch-check with -t fails +expecting success of 0000.19 '--run basic': + run_sub_test_lib_test run-basic '--run basic' --run='1,3,5' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-basic <<-\EOF + > ok 1 - passing test #1 + > ok 2 # skip passing test #2 (--run) + > ok 3 - passing test #3 + > ok 4 # skip passing test #4 (--run) + > ok 5 - passing test #5 + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -expecting success of 1006.65 'Passing -s with --batch-check fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 19 - --run basic - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.20 '--run with a range': + run_sub_test_lib_test run-range '--run with a range' --run='1-3' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-range <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 - passing test #3 + > ok 4 # skip passing test #4 (--run) + > ok 5 # skip passing test #5 (--run) + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -ok 65 - Passing -s with --batch-check fails +ok 20 - --run with a range -expecting success of 1006.66 'Passing --batch-check with -s fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.21 '--run with two ranges': + run_sub_test_lib_test run-two-ranges '--run with two ranges' --run='1-2,5-6' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-two-ranges <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 # skip passing test #3 (--run) + > ok 4 # skip passing test #4 (--run) + > ok 5 - passing test #5 + > ok 6 - passing test #6 + > # passed all 6 test(s) + > 1..6 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 21 - --run with two ranges -ok 66 - Passing --batch-check with -s fails +expecting success of 0000.22 '--run with a left open range': + run_sub_test_lib_test run-left-open-range '--run with a left open range' --run='-3' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-left-open-range <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 - passing test #3 + > ok 4 # skip passing test #4 (--run) + > ok 5 # skip passing test #5 (--run) + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -expecting success of 1006.67 'Passing -e with --batch-check fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 22 - --run with a left open range - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.23 '--run with a right open range': + run_sub_test_lib_test run-right-open-range '--run with a right open range' --run='4-' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-right-open-range <<-\EOF + > ok 1 # skip passing test #1 (--run) + > ok 2 # skip passing test #2 (--run) + > ok 3 # skip passing test #3 (--run) + > ok 4 - passing test #4 + > ok 5 - passing test #5 + > ok 6 - passing test #6 + > # passed all 6 test(s) + > 1..6 + EOF -ok 67 - Passing -e with --batch-check fails +ok 23 - --run with a right open range -expecting success of 1006.68 'Passing --batch-check with -e fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.24 '--run with basic negation': + run_sub_test_lib_test run-basic-neg '--run with basic negation' --run='!3' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-basic-neg <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 # skip passing test #3 (--run) + > ok 4 - passing test #4 + > ok 5 - passing test #5 + > ok 6 - passing test #6 + > # passed all 6 test(s) + > 1..6 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 24 - --run with basic negation -ok 68 - Passing --batch-check with -e fails +expecting success of 0000.25 '--run with two negations': + run_sub_test_lib_test run-two-neg '--run with two negations' --run='!3,!6' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-two-neg <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 # skip passing test #3 (--run) + > ok 4 - passing test #4 + > ok 5 - passing test #5 + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -expecting success of 1006.69 'Passing -p with --batch-check fails': - test_must_fail git cat-file --$batch -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 25 - --run with two negations - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.26 '--run a range and negation': + run_sub_test_lib_test run-range-and-neg '--run a range and negation' --run='-4,!2' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-range-and-neg <<-\EOF + > ok 1 - passing test #1 + > ok 2 # skip passing test #2 (--run) + > ok 3 - passing test #3 + > ok 4 - passing test #4 + > ok 5 # skip passing test #5 (--run) + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -ok 69 - Passing -p with --batch-check fails +ok 26 - --run a range and negation -expecting success of 1006.70 'Passing --batch-check with -p fails': - test_must_fail git cat-file -$opt --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.27 '--run range negation': + run_sub_test_lib_test run-range-neg '--run range negation' --run='!1-3' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-range-neg <<-\EOF + > ok 1 # skip passing test #1 (--run) + > ok 2 # skip passing test #2 (--run) + > ok 3 # skip passing test #3 (--run) + > ok 4 - passing test #4 + > ok 5 - passing test #5 + > ok 6 - passing test #6 + > # passed all 6 test(s) + > 1..6 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 27 - --run range negation -ok 70 - Passing --batch-check with -p fails +expecting success of 0000.28 '--run include, exclude and include': + run_sub_test_lib_test run-inc-neg-inc '--run include, exclude and include' --run='1-5,!1-3,2' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-inc-neg-inc <<-\EOF + > ok 1 # skip passing test #1 (--run) + > ok 2 - passing test #2 + > ok 3 # skip passing test #3 (--run) + > ok 4 - passing test #4 + > ok 5 - passing test #5 + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -expecting success of 1006.71 'Passing with --batch-check fails': - test_must_fail git cat-file --$batch blob $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 28 - --run include, exclude and include - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.29 '--run include, exclude and include, comma separated': + run_sub_test_lib_test run-inc-neg-inc-comma '--run include, exclude and include, comma separated' --run=1-5,\!1-3,2 <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-inc-neg-inc-comma <<-\EOF + > ok 1 # skip passing test #1 (--run) + > ok 2 - passing test #2 + > ok 3 # skip passing test #3 (--run) + > ok 4 - passing test #4 + > ok 5 - passing test #5 + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -ok 71 - Passing with --batch-check fails +ok 29 - --run include, exclude and include, comma separated -expecting success of 1006.72 'Passing --batch-check with fails': - test_must_fail git cat-file blob --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.30 '--run exclude and include': + run_sub_test_lib_test run-neg-inc '--run exclude and include' --run='!3-,5' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-neg-inc <<-\EOF + > ok 1 - passing test #1 + > ok 2 - passing test #2 + > ok 3 # skip passing test #3 (--run) + > ok 4 # skip passing test #4 (--run) + > ok 5 - passing test #5 + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 30 - --run exclude and include -ok 72 - Passing --batch-check with fails +expecting success of 0000.31 '--run empty selectors': + run_sub_test_lib_test run-empty-sel '--run empty selectors' --run='1,,3,,,5' <<-\EOF && + for i in 1 2 3 4 5 6 + do + test_expect_success "passing test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-empty-sel <<-\EOF + > ok 1 - passing test #1 + > ok 2 # skip passing test #2 (--run) + > ok 3 - passing test #3 + > ok 4 # skip passing test #4 (--run) + > ok 5 - passing test #5 + > ok 6 # skip passing test #6 (--run) + > # passed all 6 test(s) + > 1..6 + EOF -expecting success of 1006.73 'Passing sha1 with --batch-check fails': - test_must_fail git cat-file --$batch $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 31 - --run empty selectors - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.32 '--run substring selector': + run_sub_test_lib_test run-substring-selector '--run empty selectors' --run='relevant' <<-\EOF && + test_expect_success "relevant test" 'true' + for i in 1 2 3 4 5 6 + do + test_expect_success "other test #$i" 'true' + done + test_done + EOF + check_sub_test_lib_test run-substring-selector <<-\EOF + > ok 1 - relevant test + > ok 2 # skip other test #1 (--run) + > ok 3 # skip other test #2 (--run) + > ok 4 # skip other test #3 (--run) + > ok 5 # skip other test #4 (--run) + > ok 6 # skip other test #5 (--run) + > ok 7 # skip other test #6 (--run) + > # passed all 7 test(s) + > 1..7 + EOF -ok 73 - Passing sha1 with --batch-check fails +ok 32 - --run substring selector -expecting success of 1006.74 'Passing -t with --follow-symlinks fails': - test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +expecting success of 0000.33 '--run keyword selection': + run_sub_test_lib_test_err run-inv-range-start '--run invalid range start' --run='a-5' <<-\EOF && + test_expect_success "passing test #1" 'true' + test_done + EOF + check_sub_test_lib_test_err run-inv-range-start <<-\EOF_OUT 3<<-\EOF_ERR + > FATAL: Unexpected exit with code 1 + EOF_OUT + > error: --run: invalid non-numeric in range start: 'a-5' + EOF_ERR - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 33 - --run keyword selection -ok 74 - Passing -t with --follow-symlinks fails +expecting success of 0000.34 '--run invalid range end': + run_sub_test_lib_test_err run-inv-range-end '--run invalid range end' --run='1-z' <<-\EOF && + test_expect_success "passing test #1" 'true' + test_done + EOF + check_sub_test_lib_test_err run-inv-range-end <<-\EOF_OUT 3<<-\EOF_ERR + > FATAL: Unexpected exit with code 1 + EOF_OUT + > error: --run: invalid non-numeric in range end: '1-z' + EOF_ERR -expecting success of 1006.75 'Passing -s with --follow-symlinks fails': - test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 34 - --run invalid range end - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.35 'test runs if prerequisite is satisfied': + test_have_prereq HAVEIT && + haveit=yes -ok 75 - Passing -s with --follow-symlinks fails +ok 35 - test runs if prerequisite is satisfied -expecting success of 1006.76 'Passing -e with --follow-symlinks fails': - test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 36 # skip unmet prerequisite causes test to be skipped (missing DONTHAVEIT) - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +expecting success of 0000.37 'test runs if prerequisites are satisfied': + test_have_prereq HAVEIT && + test_have_prereq HAVETHIS && + haveit=yes -ok 76 - Passing -e with --follow-symlinks fails +ok 37 - test runs if prerequisites are satisfied -expecting success of 1006.77 'Passing -p with --follow-symlinks fails': - test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 - -usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] - or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] +ok 38 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of HAVEIT,DONTHAVEIT) - can be one of: blob, tree, commit, tag - -t show object type - -s show object size - -e exit with zero when there's no error - -p pretty-print object's content - --textconv for blob objects, run textconv on object's content - --filters for blob objects, run filters on object's content - --path use a specific path for --textconv/--filters - --allow-unknown-type allow -s and -t to work with broken/corrupt objects - --buffer buffer --batch output - --batch[=] show info and content of objects fed from the standard input - --batch-check[=] - show info about objects fed from the standard input - --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) - --batch-all-objects show all objects with --batch or --batch-check - --unordered do not order --batch-all-objects output +ok 39 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of DONTHAVEIT,HAVEIT) -ok 77 - Passing -p with --follow-symlinks fails +checking prerequisite: LAZY_TRUE -expecting success of 1006.78 '--batch-check for a non-existent named object': - test "foobar42 missing -foobar84 missing" = \ - "$( ( echo foobar42; echo_without_newline foobar84; ) | git cat-file --batch-check)" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-LAZY_TRUE" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-LAZY_TRUE" &&true +) +prerequisite LAZY_TRUE ok +expecting success of 0000.40 'test runs if lazy prereq is satisfied': + havetrue=yes -ok 78 - --batch-check for a non-existent named object +ok 40 - test runs if lazy prereq is satisfied -expecting success of 1006.79 '--batch-check for a non-existent hash': - test "0000000000000000000000000000000000000042 missing -0000000000000000000000000000000000000084 missing" = \ - "$( ( echo 0000000000000000000000000000000000000042; - echo_without_newline 0000000000000000000000000000000000000084; ) | - git cat-file --batch-check)" +ok 41 # skip missing lazy prereqs skip tests (missing !LAZY_TRUE) -ok 79 - --batch-check for a non-existent hash +checking prerequisite: LAZY_FALSE -expecting success of 1006.80 '--batch for an existent and a non-existent hash': - test "$tag_sha1 tag $tag_size -$tag_content -0000000000000000000000000000000000000000 missing" = \ - "$( ( echo $tag_sha1; - echo_without_newline 0000000000000000000000000000000000000000; ) | - git cat-file --batch)" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-LAZY_FALSE" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-LAZY_FALSE" &&false +) +prerequisite LAZY_FALSE not satisfied +expecting success of 0000.42 'negative lazy prereqs checked': + nothavefalse=yes -ok 80 - --batch for an existent and a non-existent hash +ok 42 - negative lazy prereqs checked -expecting success of 1006.81 '--batch-check for an empty line': - test " missing" = "$(echo | git cat-file --batch-check)" +ok 43 # skip missing negative lazy prereqs will skip (missing LAZY_FALSE) -ok 81 - --batch-check for an empty line +expecting success of 0000.44 'tests clean up after themselves': + test_when_finished clean=yes -expecting success of 1006.82 'empty --batch-check notices missing object': - echo "$ZERO_OID missing" >expect && - echo "$ZERO_OID" | git cat-file --batch-check="" >actual && - test_cmp expect actual +ok 44 - tests clean up after themselves -ok 82 - empty --batch-check notices missing object +checking prerequisite: NESTED_PREREQ -expecting success of 1006.83 '--batch with multiple sha1s gives correct format': - test "$(maybe_remove_timestamp "$batch_output" 1)" = "$(maybe_remove_timestamp "$(echo_without_newline "$batch_input" | git cat-file --batch)" 1)" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NESTED_PREREQ" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NESTED_PREREQ" && + >outer && + test_have_prereq NESTED_INNER && + echo "can create new file in cwd" >file && + test -f outer && + test ! -f inner -ok 83 - --batch with multiple sha1s gives correct format +) +checking prerequisite: NESTED_INNER -expecting success of 1006.84 '--batch-check with multiple sha1s gives correct format': - test "$batch_check_output" = \ - "$(echo_without_newline "$batch_check_input" | git cat-file --batch-check)" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NESTED_INNER" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NESTED_INNER" && + >inner && + rm -f outer -ok 84 - --batch-check with multiple sha1s gives correct format +) +prerequisite NESTED_INNER ok +prerequisite NESTED_PREREQ ok +expecting success of 0000.45 'evaluating nested lazy prereqs dont interfere with each other': + nestedworks=yes -expecting success of 1006.85 'setup blobs which are likely to delta': - test-tool genrandom foo 10240 >foo && - { cat foo; echo plus; } >foo-plus && - git add foo foo-plus && - git commit -m foo && - cat >blobs <<-\EOF - HEAD:foo - HEAD:foo-plus - EOF +ok 45 - evaluating nested lazy prereqs dont interfere with each other -[master (root-commit) 8ebd92f] foo - Author: A U Thor - 3 files changed, 1 insertion(+) - create mode 100644 foo - create mode 100644 foo-plus - create mode 100644 hello -ok 85 - setup blobs which are likely to delta +expecting success of 0000.46 'lazy prereqs do not turn off tracing': + run_sub_test_lib_test lazy-prereq-and-tracing 'lazy prereqs and -x' -v -x <<-\EOF && + test_lazy_prereq LAZY true -expecting success of 1006.86 'confirm that neither loose blob is a delta': - cat >expect <<-EOF && - $ZERO_OID - $ZERO_OID + test_expect_success lazy 'test_have_prereq LAZY && echo trace' + + test_done EOF - git cat-file --batch-check="%(deltabase)" actual && - test_cmp expect actual -ok 86 - confirm that neither loose blob is a delta + grep 'echo trace' lazy-prereq-and-tracing/err -expecting success of 1006.87 '%(deltabase) reports packed delta bases': - git repack -ad && - git cat-file --batch-check="%(deltabase)" actual && - { - grep "$(git rev-parse HEAD:foo)" actual || - grep "$(git rev-parse HEAD:foo-plus)" actual - } +++ echo trace +ok 46 - lazy prereqs do not turn off tracing -9b546ef00c80e00a1733cb882d607028fcd562fc -ok 87 - %(deltabase) reports packed delta bases +expecting success of 0000.47 'tests clean up even on failures': + run_sub_test_lib_test_err failing-cleanup 'Failing tests with cleanup commands' <<-\EOF && + test_expect_success 'tests clean up even after a failure' ' + touch clean-after-failure && + test_when_finished rm clean-after-failure && + (exit 1) + ' + test_expect_success 'failure to clean up causes the test to fail' ' + test_when_finished "(exit 2)" + ' + test_done + EOF + check_sub_test_lib_test failing-cleanup <<-\EOF + > not ok 1 - tests clean up even after a failure + > # Z + > # touch clean-after-failure && + > # test_when_finished rm clean-after-failure && + > # (exit 1) + > # Z + > not ok 2 - failure to clean up causes the test to fail + > # Z + > # test_when_finished "(exit 2)" + > # Z + > # failed 2 among 2 test(s) + > 1..2 + EOF -expecting success of 1006.88 'Type of broken object is correct': - echo $bogus_type >expect && - git cat-file -t --allow-unknown-type $bogus_sha1 >actual && - test_cmp expect actual +ok 47 - tests clean up even on failures -ok 88 - Type of broken object is correct +expecting success of 0000.48 'test_atexit is run': + run_sub_test_lib_test_err atexit-cleanup 'Run atexit commands' -i <<-\EOF && + test_expect_success 'tests clean up even after a failure' ' + > ../../clean-atexit && + test_atexit rm ../../clean-atexit && + > ../../also-clean-atexit && + test_atexit rm ../../also-clean-atexit && + > ../../dont-clean-atexit && + (exit 1) + ' + test_done + EOF + test_path_is_file dont-clean-atexit && + test_path_is_missing clean-atexit && + test_path_is_missing also-clean-atexit -expecting success of 1006.89 'Size of broken object is correct': - echo $bogus_size >expect && - git cat-file -s --allow-unknown-type $bogus_sha1 >actual && - test_cmp expect actual +ok 48 - test_atexit is run -ok 89 - Size of broken object is correct +expecting success of 0000.49 'test_oid provides sane info by default': + test_oid zero >actual && + grep "^00*\$" actual && + rawsz="$(test_oid rawsz)" && + hexsz="$(test_oid hexsz)" && + test "$hexsz" -eq $(wc -c expect && - git cat-file -t --allow-unknown-type $bogus_sha1 >actual && - test_cmp expect actual +0000000000000000000000000000000000000000 +ok 49 - test_oid provides sane info by default -ok 90 - Type of broken object is correct when type is large +expecting success of 0000.50 'test_oid can look up data for SHA-1': + test_when_finished "test_detect_hash" && + test_set_hash sha1 && + test_oid zero >actual && + grep "^00*\$" actual && + rawsz="$(test_oid rawsz)" && + hexsz="$(test_oid hexsz)" && + test $(wc -c expect && - git cat-file -s --allow-unknown-type $bogus_sha1 >actual && - test_cmp expect actual +0000000000000000000000000000000000000000 +ok 50 - test_oid can look up data for SHA-1 -ok 91 - Size of large broken object is correct when type is large +expecting success of 0000.51 'test_oid can look up data for SHA-256': + test_when_finished "test_detect_hash" && + test_set_hash sha256 && + test_oid zero >actual && + grep "^00*\$" actual && + rawsz="$(test_oid rawsz)" && + hexsz="$(test_oid hexsz)" && + test $(wc -c morx && - test_ln_s_add morx same-dir-link && - test_ln_s_add dir link-to-dir && - test_ln_s_add ../fleem out-of-repo-link && - test_ln_s_add .. out-of-repo-link-dir && - test_ln_s_add same-dir-link link-to-link && - test_ln_s_add nope broken-same-dir-link && - mkdir dir && - test_ln_s_add ../morx dir/parent-dir-link && - test_ln_s_add .. dir/link-dir && - test_ln_s_add ../../escape dir/out-of-repo-link && - test_ln_s_add ../.. dir/out-of-repo-link-dir && - test_ln_s_add nope dir/broken-link-in-dir && - mkdir dir/subdir && - test_ln_s_add ../../morx dir/subdir/grandparent-dir-link && - test_ln_s_add ../../../great-escape dir/subdir/out-of-repo-link && - test_ln_s_add ../../.. dir/subdir/out-of-repo-link-dir && - test_ln_s_add ../../../ dir/subdir/out-of-repo-link-dir-trailing && - test_ln_s_add ../parent-dir-link dir/subdir/parent-dir-link-to-link && - echo_without_newline "$hello_content" >dir/subdir/ind2 && - echo_without_newline "$hello_content" >dir/ind1 && - test_ln_s_add dir dirlink && - test_ln_s_add dir/subdir subdirlink && - test_ln_s_add subdir/ind2 dir/link-to-child && - test_ln_s_add dir/link-to-child link-to-down-link && - test_ln_s_add dir/.. up-down && - test_ln_s_add dir/../ up-down-trailing && - test_ln_s_add dir/../morx up-down-file && - test_ln_s_add dir/../../morx up-up-down-file && - test_ln_s_add subdirlink/../../morx up-two-down-file && - test_ln_s_add loop1 loop2 && - test_ln_s_add loop2 loop1 && - git add morx dir/subdir/ind2 dir/ind1 && - git commit -am "test" && - echo $hello_sha1 blob $hello_size >found +0000000000000000000000000000000000000000000000000000000000000000 +ok 51 - test_oid can look up data for SHA-256 -checking prerequisite: SYMLINKS +expecting success of 0000.52 'test_oid can look up data for a specified algorithm': + rawsz="$(test_oid --hash=sha1 rawsz)" && + hexsz="$(test_oid --hash=sha1 hexsz)" && + test "$rawsz" -eq 20 && + test "$hexsz" -eq 40 && + rawsz="$(test_oid --hash=sha256 rawsz)" && + hexsz="$(test_oid --hash=sha256 hexsz)" && + test "$rawsz" -eq 32 && + test "$hexsz" -eq 64 -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +ok 52 - test_oid can look up data for a specified algorithm -) -prerequisite SYMLINKS ok -[master 4673f52] test - Author: A U Thor - 30 files changed, 30 insertions(+) - create mode 120000 broken-same-dir-link - create mode 120000 dir/broken-link-in-dir - create mode 100644 dir/ind1 - create mode 120000 dir/link-dir - create mode 120000 dir/link-to-child - create mode 120000 dir/out-of-repo-link - create mode 120000 dir/out-of-repo-link-dir - create mode 120000 dir/parent-dir-link - create mode 120000 dir/subdir/grandparent-dir-link - create mode 100644 dir/subdir/ind2 - create mode 120000 dir/subdir/out-of-repo-link - create mode 120000 dir/subdir/out-of-repo-link-dir - create mode 120000 dir/subdir/out-of-repo-link-dir-trailing - create mode 120000 dir/subdir/parent-dir-link-to-link - create mode 120000 dirlink - create mode 120000 link-to-dir - create mode 120000 link-to-down-link - create mode 120000 link-to-link - create mode 120000 loop1 - create mode 120000 loop2 - create mode 100644 morx - create mode 120000 out-of-repo-link - create mode 120000 out-of-repo-link-dir - create mode 120000 same-dir-link - create mode 120000 subdirlink - create mode 120000 up-down - create mode 120000 up-down-file - create mode 120000 up-down-trailing - create mode 120000 up-two-down-file - create mode 120000 up-up-down-file -ok 92 - prep for symlink tests +expecting success of 0000.53 'test_bool_env': + ( + sane_unset envvar && -expecting success of 1006.93 'git cat-file --batch-check --follow-symlinks works for non-links': - echo HEAD:morx | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual && - echo HEAD:nope missing >expect && - echo HEAD:nope | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual + test_bool_env envvar true && + ! test_bool_env envvar false && -ok 93 - git cat-file --batch-check --follow-symlinks works for non-links + envvar= && + export envvar && + ! test_bool_env envvar true && + ! test_bool_env envvar false && -expecting success of 1006.94 'git cat-file --batch-check --follow-symlinks works for in-repo, same-dir links': - echo HEAD:same-dir-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual + envvar=true && + test_bool_env envvar true && + test_bool_env envvar false && -ok 94 - git cat-file --batch-check --follow-symlinks works for in-repo, same-dir links + envvar=false && + ! test_bool_env envvar true && + ! test_bool_env envvar false && -expecting success of 1006.95 'git cat-file --batch-check --follow-symlinks works for in-repo, links to dirs': - echo HEAD:link-to-dir/ind1 | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual + envvar=invalid && + # When encountering an invalid bool value, test_bool_env + # prints its error message to the original stderr of the + # test script, hence the redirection of fd 7, and aborts + # with "exit 1", hence the subshell. + ! ( test_bool_env envvar true ) 7>err && + grep "error: test_bool_env requires bool values" err && -ok 95 - git cat-file --batch-check --follow-symlinks works for in-repo, links to dirs + envvar=true && + ! ( test_bool_env envvar invalid ) 7>err && + grep "error: test_bool_env requires bool values" err + ) -expecting success of 1006.96 'git cat-file --batch-check --follow-symlinks works for broken in-repo, same-dir links': - echo dangling 25 >expect && - echo HEAD:broken-same-dir-link >>expect && - echo HEAD:broken-same-dir-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +fatal: bad numeric config value 'invalid' for 'envvar': invalid unit +error: test_bool_env requires bool values both for $envvar and for the default fallback +error: option `--default' expects a boolean value with `--type=bool`, not `invalid` +usage: git env--helper --type=[bool|ulong] -ok 96 - git cat-file --batch-check --follow-symlinks works for broken in-repo, same-dir links + --type value is given this type + --default default for git_env_*(...) to fall back on + --exit-code be quiet only use git_env_*() value as exit code -expecting success of 1006.97 'git cat-file --batch-check --follow-symlinks works for same-dir links-to-links': - echo HEAD:link-to-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual +error: test_bool_env requires bool values both for $envvar and for the default fallback +ok 53 - test_bool_env -ok 97 - git cat-file --batch-check --follow-symlinks works for same-dir links-to-links +expecting success of 0000.54 'git update-index without --add should fail adding': + test_must_fail git update-index should-be-empty -expecting success of 1006.98 'git cat-file --batch-check --follow-symlinks works for parent-dir links': - echo HEAD:dir/parent-dir-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual && - echo notdir 29 >expect && - echo HEAD:dir/parent-dir-link/nope >>expect && - echo HEAD:dir/parent-dir-link/nope | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +error: should-be-empty: cannot add to the index - missing --add option? +fatal: Unable to process path should-be-empty +ok 54 - git update-index without --add should fail adding -ok 98 - git cat-file --batch-check --follow-symlinks works for parent-dir links +expecting success of 0000.55 'git update-index with --add should succeed': + git update-index --add should-be-empty -expecting success of 1006.99 'git cat-file --batch-check --follow-symlinks works for .. links': - echo dangling 22 >expect && - echo HEAD:dir/link-dir/nope >>expect && - echo HEAD:dir/link-dir/nope | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:dir/link-dir/morx | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual && - echo dangling 27 >expect && - echo HEAD:dir/broken-link-in-dir >>expect && - echo HEAD:dir/broken-link-in-dir | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +ok 55 - git update-index with --add should succeed -ok 99 - git cat-file --batch-check --follow-symlinks works for .. links +expecting success of 0000.56 'writing tree out with git write-tree': + tree=$(git write-tree) -expecting success of 1006.100 'git cat-file --batch-check --follow-symlinks works for ../.. links': - echo notdir 41 >expect && - echo HEAD:dir/subdir/grandparent-dir-link/nope >>expect && - echo HEAD:dir/subdir/grandparent-dir-link/nope | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:dir/subdir/grandparent-dir-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual && - echo HEAD:dir/subdir/parent-dir-link-to-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual +ok 56 - writing tree out with git write-tree -ok 100 - git cat-file --batch-check --follow-symlinks works for ../.. links +expecting success of 0000.57 'validate object ID of a known tree': + test "$tree" = "$(test_oid simpletree)" + +ok 57 - validate object ID of a known tree -expecting success of 1006.101 'git cat-file --batch-check --follow-symlinks works for dir/ links': - echo dangling 17 >expect && - echo HEAD:dirlink/morx >>expect && - echo HEAD:dirlink/morx | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo $hello_sha1 blob $hello_size >expect && - echo HEAD:dirlink/ind1 | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +expecting success of 0000.58 'git update-index without --remove should fail removing': + rm -f should-be-empty full-of-directories && + test_must_fail git update-index should-be-empty -ok 101 - git cat-file --batch-check --follow-symlinks works for dir/ links +error: should-be-empty: does not exist and --remove not passed +fatal: Unable to process path should-be-empty +ok 58 - git update-index without --remove should fail removing -expecting success of 1006.102 'git cat-file --batch-check --follow-symlinks works for dir/subdir links': - echo dangling 20 >expect && - echo HEAD:subdirlink/morx >>expect && - echo HEAD:subdirlink/morx | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:subdirlink/ind2 | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual +expecting success of 0000.59 'git update-index with --remove should be able to remove': + git update-index --remove should-be-empty -ok 102 - git cat-file --batch-check --follow-symlinks works for dir/subdir links +ok 59 - git update-index with --remove should be able to remove -expecting success of 1006.103 'git cat-file --batch-check --follow-symlinks works for dir ->subdir links': - echo notdir 27 >expect && - echo HEAD:dir/link-to-child/morx >>expect && - echo HEAD:dir/link-to-child/morx | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:dir/link-to-child | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual && - echo HEAD:link-to-down-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual +expecting success of 0000.60 'git write-tree should be able to write an empty tree': + tree=$(git write-tree) -ok 103 - git cat-file --batch-check --follow-symlinks works for dir ->subdir links +ok 60 - git write-tree should be able to write an empty tree -expecting success of 1006.104 'git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks': - echo symlink 8 >expect && - echo ../fleem >>expect && - echo HEAD:out-of-repo-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo symlink 2 >expect && - echo .. >>expect && - echo HEAD:out-of-repo-link-dir | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +expecting success of 0000.61 'validate object ID of a known tree': + test "$tree" = $EMPTY_TREE -ok 104 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks +ok 61 - validate object ID of a known tree -expecting success of 1006.105 'git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in dirs': - echo symlink 9 >expect && - echo ../escape >>expect && - echo HEAD:dir/out-of-repo-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo symlink 2 >expect && - echo .. >>expect && - echo HEAD:dir/out-of-repo-link-dir | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +expecting success of 0000.62 'adding various types of objects with git update-index --add': + mkdir path2 path3 path3/subp3 && + paths="path0 path2/file2 path3/file3 path3/subp3/file3" && + ( + for p in $paths + do + echo "hello $p" >$p || exit 1 + test_ln_s_add "hello $p" ${p}sym || exit 1 + done + ) && + find path* ! -type d -print | xargs git update-index --add -ok 105 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in dirs +checking prerequisite: SYMLINKS -expecting success of 1006.106 'git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in subdirs': - echo symlink 15 >expect && - echo ../great-escape >>expect && - echo HEAD:dir/subdir/out-of-repo-link | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo symlink 2 >expect && - echo .. >>expect && - echo HEAD:dir/subdir/out-of-repo-link-dir | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo symlink 3 >expect && - echo ../ >>expect && - echo HEAD:dir/subdir/out-of-repo-link-dir-trailing | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -ok 106 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in subdirs +) +prerequisite SYMLINKS ok +ok 62 - adding various types of objects with git update-index --add -expecting success of 1006.107 'git cat-file --batch-check --follow-symlinks works for symlinks with internal ..': - echo HEAD: | git cat-file --batch-check >expect && - echo HEAD:up-down | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:up-down-trailing | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:up-down-file | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual && - echo symlink 7 >expect && - echo ../morx >>expect && - echo HEAD:up-up-down-file | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual && - echo HEAD:up-two-down-file | git cat-file --batch-check --follow-symlinks >actual && - test_cmp found actual +expecting success of 0000.63 'showing stage with git ls-files --stage': + git ls-files --stage >current -ok 107 - git cat-file --batch-check --follow-symlinks works for symlinks with internal .. +ok 63 - showing stage with git ls-files --stage -expecting success of 1006.108 'git cat-file --batch-check --follow-symlink breaks loops': - echo loop 10 >expect && - echo HEAD:loop1 >>expect && - echo HEAD:loop1 | git cat-file --batch-check --follow-symlinks >actual && - test_cmp expect actual +expecting success of 0000.64 'validate git ls-files output for a known tree': + cat >expected <<-EOF && + 100644 $(test_oid path0f) 0 path0 + 120000 $(test_oid path0s) 0 path0sym + 100644 $(test_oid path2f) 0 path2/file2 + 120000 $(test_oid path2s) 0 path2/file2sym + 100644 $(test_oid path3f) 0 path3/file3 + 120000 $(test_oid path3s) 0 path3/file3sym + 100644 $(test_oid subp3f) 0 path3/subp3/file3 + 120000 $(test_oid subp3s) 0 path3/subp3/file3sym + EOF + test_cmp expected current -ok 108 - git cat-file --batch-check --follow-symlink breaks loops +ok 64 - validate git ls-files output for a known tree -expecting success of 1006.109 'git cat-file --batch --follow-symlink returns correct sha and mode': - echo HEAD:morx | git cat-file --batch >expect && - echo HEAD:morx | git cat-file --batch --follow-symlinks >actual && - test_cmp expect actual +expecting success of 0000.65 'writing tree out with git write-tree': + tree=$(git write-tree) -ok 109 - git cat-file --batch --follow-symlink returns correct sha and mode +ok 65 - writing tree out with git write-tree -expecting success of 1006.110 'cat-file --batch-all-objects shows all objects': - # make new repos so we know the full set of objects; we will - # also make sure that there are some packed and some loose - # objects, some referenced and some not, some duplicates, and that - # there are some available only via alternates. - git init all-one && - ( - cd all-one && - echo content >file && - git add file && - git commit -qm base && - git rev-parse HEAD HEAD^{tree} HEAD:file && - git repack -ad && - echo not-cloned | git hash-object -w --stdin - ) >expect.unsorted && - git clone -s all-one all-two && - ( - cd all-two && - echo local-unref | git hash-object -w --stdin - ) >>expect.unsorted && - git -C all-two rev-parse HEAD:file | - git -C all-two pack-objects .git/objects/pack/pack && - sort expect && - git -C all-two cat-file --batch-all-objects \ - --batch-check="%(objectname)" >actual && - test_cmp expect actual +expecting success of 0000.66 'validate object ID for a known tree': + test "$tree" = "$(test_oid root)" -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1006-cat-file/all-one/.git/ -Cloning into 'all-two'... -done. -2d40090ddd2c612f2679520aaab9f69d52e41628 -ok 110 - cat-file --batch-all-objects shows all objects +ok 66 - validate object ID for a known tree -expecting success of 1006.111 'cat-file --unordered works': - git -C all-two cat-file --batch-all-objects --unordered \ - --batch-check="%(objectname)" >actual.unsorted && - sort actual && - test_cmp expect actual +expecting success of 0000.67 'showing tree with git ls-tree': + git ls-tree $tree >current -ok 111 - cat-file --unordered works +ok 67 - showing tree with git ls-tree -# passed all 111 test(s) -1..111 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1301-shared-repo.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/.git/ -expecting success of 1301.1 'shared = 0400 (faulty permission u-w)': - test_when_finished "rm -rf sub" && - mkdir sub && ( - cd sub && - test_must_fail git init --shared=0400 - ) +expecting success of 0000.68 'git ls-tree output for a known tree': + cat >expected <<-EOF && + 100644 blob $(test_oid path0f) path0 + 120000 blob $(test_oid path0s) path0sym + 040000 tree $(test_oid path2d) path2 + 040000 tree $(test_oid path3d) path3 + EOF + test_cmp expected current -fatal: problem with core.sharedRepository filemode value (0400). -The owner of files must always have read and write permissions. -ok 1 - shared = 0400 (faulty permission u-w) +ok 68 - git ls-tree output for a known tree -expecting success of 1301.2 'shared=1 does not clear bits preset by umask 002': - mkdir sub && ( - cd sub && - umask $u && - git init --shared=1 && - test 1 = "$(git config core.sharedrepository)" - ) && - actual=$(ls -l sub/.git/HEAD) && - case "$actual" in - -rw-rw-r--*) - : happy - ;; - *) - echo Oops, .git/HEAD is not 0664 but $actual - false - ;; - esac - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ -ok 2 - shared=1 does not clear bits preset by umask 002 +expecting success of 0000.69 'showing tree with git ls-tree -r': + git ls-tree -r $tree >current -expecting success of 1301.3 'shared=1 does not clear bits preset by umask 022': - mkdir sub && ( - cd sub && - umask $u && - git init --shared=1 && - test 1 = "$(git config core.sharedrepository)" - ) && - actual=$(ls -l sub/.git/HEAD) && - case "$actual" in - -rw-rw-r--*) - : happy - ;; - *) - echo Oops, .git/HEAD is not 0664 but $actual - false - ;; - esac - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ -ok 3 - shared=1 does not clear bits preset by umask 022 +ok 69 - showing tree with git ls-tree -r -expecting success of 1301.4 'shared=all': - mkdir sub && - cd sub && - git init --shared=all && - test 2 = $(git config core.sharedrepository) +expecting success of 0000.70 'git ls-tree -r output for a known tree': + cat >expected <<-EOF && + 100644 blob $(test_oid path0f) path0 + 120000 blob $(test_oid path0s) path0sym + 100644 blob $(test_oid path2f) path2/file2 + 120000 blob $(test_oid path2s) path2/file2sym + 100644 blob $(test_oid path3f) path3/file3 + 120000 blob $(test_oid path3s) path3/file3sym + 100644 blob $(test_oid subp3f) path3/subp3/file3 + 120000 blob $(test_oid subp3s) path3/subp3/file3sym + EOF + test_cmp expected current -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ -ok 4 - shared=all +ok 70 - git ls-tree -r output for a known tree -expecting success of 1301.5 'update-server-info honors core.sharedRepository': - : > a1 && - git add a1 && - test_tick && - git commit -m a1 && - umask 0277 && - git update-server-info && - actual="$(ls -l .git/info/refs)" && - case "$actual" in - -r--r--r--*) - : happy - ;; - *) - echo Oops, .git/info/refs is not 0444 - false - ;; - esac +expecting success of 0000.71 'showing tree with git ls-tree -r -t': + git ls-tree -r -t $tree >current -[master (root-commit) a2bd363] a1 - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 a1 -ok 5 - update-server-info honors core.sharedRepository +ok 71 - showing tree with git ls-tree -r -t -expecting success of 1301.6 'shared = 0660 (r--r-----) ro': +expecting success of 0000.72 'git ls-tree -r output for a known tree': + cat >expected <<-EOF && + 100644 blob $(test_oid path0f) path0 + 120000 blob $(test_oid path0s) path0sym + 040000 tree $(test_oid path2d) path2 + 100644 blob $(test_oid path2f) path2/file2 + 120000 blob $(test_oid path2s) path2/file2sym + 040000 tree $(test_oid path3d) path3 + 100644 blob $(test_oid path3f) path3/file3 + 120000 blob $(test_oid path3s) path3/file3sym + 040000 tree $(test_oid subp3d) path3/subp3 + 100644 blob $(test_oid subp3f) path3/subp3/file3 + 120000 blob $(test_oid subp3s) path3/subp3/file3sym + EOF + test_cmp expected current - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$y" +ok 72 - git ls-tree -r output for a known tree - -ok 6 - shared = 0660 (r--r-----) ro +expecting success of 0000.73 'writing partial tree out with git write-tree --prefix': + ptree=$(git write-tree --prefix=path3) -expecting success of 1301.7 'shared = 0660 (rw-rw----) rw': +ok 73 - writing partial tree out with git write-tree --prefix - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$x" +expecting success of 0000.74 'validate object ID for a known tree': + test "$ptree" = $(test_oid path3d) - -ok 7 - shared = 0660 (rw-rw----) rw +ok 74 - validate object ID for a known tree -expecting success of 1301.8 'shared = 0640 (r--r-----) ro': +expecting success of 0000.75 'writing partial tree out with git write-tree --prefix': + ptree=$(git write-tree --prefix=path3/subp3) - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$y" +ok 75 - writing partial tree out with git write-tree --prefix - -ok 8 - shared = 0640 (r--r-----) ro +expecting success of 0000.76 'validate object ID for a known tree': + test "$ptree" = $(test_oid subp3d) -expecting success of 1301.9 'shared = 0640 (rw-r-----) rw': +ok 76 - validate object ID for a known tree - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$x" +expecting success of 0000.77 'put invalid objects into the index': + rm -f .git/index && + suffix=$(echo $ZERO_OID | sed -e "s/^.//") && + cat >badobjects <<-EOF && + 100644 blob $(test_oid 001) dir/file1 + 100644 blob $(test_oid 002) dir/file2 + 100644 blob $(test_oid 003) dir/file3 + 100644 blob $(test_oid 004) dir/file4 + 100644 blob $(test_oid 005) dir/file5 + EOF + git update-index --index-info expected <current && + test_cmp expected current - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$y" +ok 81 - validate git diff-files output for a know cache/work tree state - -ok 12 - shared = 0666 (r--r--r--) ro +expecting success of 0000.82 'git update-index --refresh should succeed': + git update-index --refresh -expecting success of 1301.13 'shared = 0666 (rw-rw-rw-) rw': +ok 82 - git update-index --refresh should succeed - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$x" +expecting success of 0000.83 'no diff after checkout and git update-index --refresh': + git diff-files >current && + cmp -s current /dev/null - -ok 13 - shared = 0666 (rw-rw-rw-) rw +ok 83 - no diff after checkout and git update-index --refresh -expecting success of 1301.14 'shared = 0664 (r--r--r--) ro': +expecting success of 0000.84 'git commit-tree records the correct tree in a commit': + commit0=$(echo NO | git commit-tree $P) && + tree=$(git show --pretty=raw $commit0 | + sed -n -e "s/^tree //p" -e "/^author /q") && + test "z$tree" = "z$P" - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$y" +ok 84 - git commit-tree records the correct tree in a commit - -ok 14 - shared = 0664 (r--r--r--) ro +expecting success of 0000.85 'git commit-tree records the correct parent in a commit': + commit1=$(echo NO | git commit-tree $P -p $commit0) && + parent=$(git show --pretty=raw $commit1 | + sed -n -e "s/^parent //p" -e "/^author /q") && + test "z$commit0" = "z$parent" -expecting success of 1301.15 'shared = 0664 (rw-rw-r--) rw': +ok 85 - git commit-tree records the correct parent in a commit - rm -f .git/info/refs && - git update-server-info && - actual="$(test_modebits .git/info/refs)" && - verbose test "x$actual" = "x-$x" +expecting success of 0000.86 'git commit-tree omits duplicated parent in a commit': + commit2=$(echo NO | git commit-tree $P -p $commit0 -p $commit0) && + parent=$(git show --pretty=raw $commit2 | + sed -n -e "s/^parent //p" -e "/^author /q" | + sort -u) && + test "z$commit0" = "z$parent" && + numparent=$(git show --pretty=raw $commit2 | + sed -n -e "s/^parent //p" -e "/^author /q" | + wc -l) && + test $numparent = 1 - -ok 15 - shared = 0664 (rw-rw-r--) rw +error: duplicate parent d664f4b2f72710b8e019acf96c4773c8ac3993b8 ignored +ok 86 - git commit-tree omits duplicated parent in a commit -expecting success of 1301.16 'info/refs respects umask in unshared repo': - rm -f .git/info/refs && - test_unconfig core.sharedrepository && - umask 002 && - git update-server-info && - echo "-rw-rw-r--" >expect && - test_modebits .git/info/refs >actual && - test_cmp expect actual +expecting success of 0000.87 'update-index D/F conflict': + mv path0 tmp && + mv path2 path0 && + mv tmp path2 && + git update-index --add --replace path2 path0/file2 && + numpath0=$(git ls-files path0 | wc -l) && + test $numpath0 = 1 -ok 16 - info/refs respects umask in unshared repo +ok 87 - update-index D/F conflict -expecting success of 1301.17 'git reflog expire honors core.sharedRepository': - umask 077 && - git config core.sharedRepository group && - git reflog expire --all && - actual="$(ls -l .git/logs/refs/heads/master)" && - case "$actual" in - -rw-rw-*) - : happy - ;; - *) - echo Ooops, .git/logs/refs/heads/master is not 0662 [$actual] - false - ;; - esac +expecting success of 0000.88 'very long name in the index handled sanely': -ok 17 - git reflog expire honors core.sharedRepository + a=a && # 1 + a=$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a && # 16 + a=$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a && # 256 + a=$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a && # 4096 + a=${a}q && -expecting success of 1301.18 'forced modes': - mkdir -p templates/hooks && - echo update-server-info >templates/hooks/post-update && - chmod +x templates/hooks/post-update && - echo : >random-file && - mkdir new && + >path4 && + git update-index --add path4 && ( - cd new && - umask 002 && - git init --shared=0660 --template=templates && - >frotz && - git add frotz && - git commit -a -m initial && - git repack - ) && - # List repository files meant to be protected; note that - # COMMIT_EDITMSG does not matter---0mode is not about a - # repository with a work tree. - find new/.git -type f -name COMMIT_EDITMSG -prune -o -print | - xargs ls -ld >actual && + git ls-files -s path4 | + sed -e "s/ .*/ /" | + tr -d "\012" && + echo "$a" + ) | git update-index --index-info && + len=$(git ls-files "a*" | wc -c) && + test $len = 4098 - # Everything must be unaccessible to others - test -z "$(sed -e "/^.......---/d" actual)" && +ok 88 - very long name in the index handled sanely - # All directories must have either 2770 or 770 - test -z "$(sed -n -e "/^drwxrw[sx]---/d" -e "/^d/p" actual)" && +expecting success of 0000.89 'test_must_fail on a failing git command': + test_must_fail git notacommand - # post-update hook must be 0770 - test -z "$(sed -n -e "/post-update/{ - /^-rwxrwx---/d - p - }" actual)" && +git: 'notacommand' is not a git command. See 'git --help'. +ok 89 - test_must_fail on a failing git command - # All files inside objects must be accessible by us - test -z "$(sed -n -e "/objects\//{ - /^d/d - /^-r.-r.----/d - p - }" actual)" +expecting success of 0000.90 'test_must_fail on a failing git command with env': + test_must_fail env var1=a var2=b git notacommand -warning: templates not found in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/new/templates -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/new/.git/ -[master (root-commit) e4c5dc6] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 frotz -ok 18 - forced modes +git: 'notacommand' is not a git command. See 'git --help'. +ok 90 - test_must_fail on a failing git command with env -expecting success of 1301.19 'remote init does not use config from cwd': - git config core.sharedrepository 0666 && - umask 0022 && - git init --bare child.git && - echo "-rw-r--r--" >expect && - test_modebits child.git/config >actual && +expecting success of 0000.91 'test_must_fail rejects a non-git command': + ! test_must_fail grep ^$ notafile 2>err && + grep -F "test_must_fail: only 'git' is allowed" err + +test_must_fail: only 'git' is allowed: grep ^$ notafile +ok 91 - test_must_fail rejects a non-git command + +expecting success of 0000.92 'test_must_fail rejects a non-git command with env': + ! test_must_fail env var1=a var2=b grep ^$ notafile 2>err && + grep -F "test_must_fail: only 'git' is allowed" err + +test_must_fail: only 'git' is allowed: env var1=a var2=b grep ^$ notafile +ok 92 - test_must_fail rejects a non-git command with env + +# passed all 92 test(s) +1..92 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0212-trace2-event.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0212-trace2-event/.git/ +expecting success of 0212.1 'event stream, error event': + test_when_finished "rm trace.event actual expect" && + GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool trace2 003error "hello world" "this is a test" && + perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && + sed -e "s/^|//" >expect <<-EOF && + |VAR1 = { + | "_SID0_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "003error", + | "hello world", + | "this is a test" + | ], + | "errors":[ + | "%s", + | "%s" + | ], + | "exit_code":0, + | "hierarchy":"trace2", + | "name":"trace2", + | "version":"$V" + | } + |}; + EOF test_cmp expect actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ -ok 19 - remote init does not use config from cwd +error: hello world +error: this is a test +ok 1 - event stream, error event -expecting success of 1301.20 're-init respects core.sharedrepository (local)': - git config core.sharedrepository 0666 && - umask 0022 && - echo whatever >templates/foo && - git init --template=templates && - echo "-rw-rw-rw-" >expect && - test_modebits .git/foo >actual && +expecting success of 0212.2 'event stream, return code 0': + test_when_finished "rm trace.event actual expect" && + GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool trace2 004child test-tool trace2 004child test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && + sed -e "s/^|//" >expect <<-EOF && + |VAR1 = { + | "_SID0_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "004child", + | "test-tool", + | "trace2", + | "004child", + | "test-tool", + | "trace2", + | "001return", + | "0" + | ], + | "child":{ + | "0":{ + | "child_argv":[ + | "_EXE_", + | "trace2", + | "004child", + | "test-tool", + | "trace2", + | "001return", + | "0" + | ], + | "child_class":"?", + | "child_code":0, + | "use_shell":0 + | } + | }, + | "exit_code":0, + | "hierarchy":"trace2", + | "name":"trace2", + | "version":"$V" + | }, + | "_SID0_/_SID1_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "004child", + | "test-tool", + | "trace2", + | "001return", + | "0" + | ], + | "child":{ + | "0":{ + | "child_argv":[ + | "_EXE_", + | "trace2", + | "001return", + | "0" + | ], + | "child_class":"?", + | "child_code":0, + | "use_shell":0 + | } + | }, + | "exit_code":0, + | "hierarchy":"trace2/trace2", + | "name":"trace2", + | "version":"$V" + | }, + | "_SID0_/_SID1_/_SID2_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "001return", + | "0" + | ], + | "exit_code":0, + | "hierarchy":"trace2/trace2/trace2", + | "name":"trace2", + | "version":"$V" + | } + |}; + EOF test_cmp expect actual -Reinitialized existing shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ -ok 20 - re-init respects core.sharedrepository (local) +ok 2 - event stream, return code 0 -expecting success of 1301.21 're-init respects core.sharedrepository (remote)': - rm -rf child.git && - umask 0022 && - git init --bare --shared=0666 child.git && - test_path_is_missing child.git/foo && - git init --bare --template=templates child.git && - echo "-rw-rw-rw-" >expect && - test_modebits child.git/foo >actual && +expecting success of 0212.3 'event stream, list config': + test_when_finished "rm trace.event actual expect" && + git config --local t0212.abc 1 && + git config --local t0212.def "hello world" && + GIT_TRACE2_EVENT="$(pwd)/trace.event" GIT_TRACE2_CONFIG_PARAMS="t0212.*" test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && + sed -e "s/^|//" >expect <<-EOF && + |VAR1 = { + | "_SID0_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "001return", + | "0" + | ], + | "exit_code":0, + | "hierarchy":"trace2", + | "name":"trace2", + | "params":[ + | { + | "param":"t0212.abc", + | "value":"1" + | }, + | { + | "param":"t0212.def", + | "value":"hello world" + | } + | ], + | "version":"$V" + | } + |}; + EOF test_cmp expect actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ -Reinitialized existing shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ -ok 21 - re-init respects core.sharedrepository (remote) +ok 3 - event stream, list config -expecting success of 1301.22 'template can set core.sharedrepository': - rm -rf child.git && - umask 0022 && - git config core.sharedrepository 0666 && - cp .git/config templates/config && - git init --bare --template=templates child.git && - echo "-rw-rw-rw-" >expect && - test_modebits child.git/HEAD >actual && +expecting success of 0212.4 'event stream, list env vars': + test_when_finished "rm trace.event actual expect" && + GIT_TRACE2_EVENT="$(pwd)/trace.event" \ + GIT_TRACE2_ENV_VARS="A_VAR,OTHER_VAR,MISSING" \ + A_VAR=1 OTHER_VAR="hello world" test-tool trace2 001return 0 && + perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && + sed -e "s/^|//" >expect <<-EOF && + |VAR1 = { + | "_SID0_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "001return", + | "0" + | ], + | "exit_code":0, + | "hierarchy":"trace2", + | "name":"trace2", + | "params":[ + | { + | "param":"A_VAR", + | "value":"1" + | }, + | { + | "param":"OTHER_VAR", + | "value":"hello world" + | } + | ], + | "version":"$V" + | } + |}; + EOF test_cmp expect actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ -ok 22 - template can set core.sharedrepository +ok 4 - event stream, list env vars -# passed all 22 test(s) -1..22 +expecting success of 0212.5 'basic trace2_data': + test_when_finished "rm trace.event actual expect" && + GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool trace2 006data test_category k1 v1 test_category k2 v2 && + perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && + sed -e "s/^|//" >expect <<-EOF && + |VAR1 = { + | "_SID0_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "006data", + | "test_category", + | "k1", + | "v1", + | "test_category", + | "k2", + | "v2" + | ], + | "data":{ + | "test_category":{ + | "k1":"v1", + | "k2":"v2" + | } + | }, + | "exit_code":0, + | "hierarchy":"trace2", + | "name":"trace2", + | "version":"$V" + | } + |}; + EOF + test_cmp expect actual + +ok 5 - basic trace2_data + +expecting success of 0212.6 'using global config, event stream, error event': + test_when_finished "rm trace.event actual expect" && + test_config_global trace2.eventTarget "$(pwd)/trace.event" && + test-tool trace2 003error "hello world" "this is a test" && + perl "$TEST_DIRECTORY/t0212/parse_events.perl" actual && + sed -e "s/^|//" >expect <<-EOF && + |VAR1 = { + | "_SID0_":{ + | "argv":[ + | "_EXE_", + | "trace2", + | "003error", + | "hello world", + | "this is a test" + | ], + | "errors":[ + | "%s", + | "%s" + | ], + | "exit_code":0, + | "hierarchy":"trace2", + | "name":"trace2", + | "version":"$V" + | } + |}; + EOF + test_cmp expect actual + +error: hello world +error: this is a test +ok 6 - using global config, event stream, error event + +expecting success of 0212.7 'discard traces when there are too many files': + mkdir trace_target_dir && + test_when_finished "rm -r trace_target_dir" && + ( + GIT_TRACE2_MAX_FILES=5 && + export GIT_TRACE2_MAX_FILES && + cd trace_target_dir && + test_seq $GIT_TRACE2_MAX_FILES >../expected_filenames.txt && + xargs touch <../expected_filenames.txt && + cd .. && + GIT_TRACE2_EVENT="$(pwd)/trace_target_dir" test-tool trace2 001return 0 + ) && + echo git-trace2-discard >>expected_filenames.txt && + ls trace_target_dir >ls_output.txt && + test_cmp expected_filenames.txt ls_output.txt && + head -n1 trace_target_dir/git-trace2-discard | grep \"event\":\"version\" && + head -n2 trace_target_dir/git-trace2-discard | tail -n1 | grep \"event\":\"too_many_files\" + +{"event":"version","sid":"20230429T161624.894651Z-H5c947e1c-P00003182","thread":"main","time":"2023-04-29T16:16:24.894889Z","file":"common-main.c","line":48,"evt":"2","exe":"2.30.2"} +{"event":"too_many_files","sid":"20230429T161624.894651Z-H5c947e1c-P00003182","thread":"main","time":"2023-04-29T16:16:24.894940Z","file":"common-main.c","line":48} +ok 7 - discard traces when there are too many files + +# passed all 7 test(s) +1..7 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0301-credential-cache.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0301-credential-cache/.git/ -expecting success of 0301.1 'helper (cache) has no existing data': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - +*** t0303-credential-external.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0303-credential-external/.git/ +1..0 # SKIP used to test external credential helpers +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0500-progress-display.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0500-progress-display/.git/ +expecting success of 0500.1 'simple progress display': + cat >expect <<-\EOF && + Working hard: 1 + Working hard: 2 + Working hard: 5 + Working hard: 5, done. + EOF + + cat >in <<-\EOF && + update + progress 1 + update + progress 2 + progress 3 + progress 4 + update + progress 5 + EOF + test-tool progress "Working hard" stderr && + + show_cr out && + test_i18ncmp expect out + checking prerequisite: C_LOCALE_OUTPUT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && @@ -28285,699 +21487,479 @@ ) prerequisite C_LOCALE_OUTPUT ok -ok 1 - helper (cache) has no existing data +ok 1 - simple progress display -expecting success of 0301.2 'helper (cache) stores password': - check approve $HELPER <<-\EOF - protocol=https - host=example.com - username=store-user - password=store-pass - EOF - -ok 2 - helper (cache) stores password +expecting success of 0500.2 'progress display with total': + cat >expect <<-\EOF && + Working hard: 33% (1/3) + Working hard: 66% (2/3) + Working hard: 100% (3/3) + Working hard: 100% (3/3), done. + EOF -expecting success of 0301.3 'helper (cache) can retrieve password': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=store-user - password=store-pass - -- - EOF - -ok 3 - helper (cache) can retrieve password + cat >in <<-\EOF && + progress 1 + progress 2 + progress 3 + EOF + test-tool progress --total=3 "Working hard" stderr && -expecting success of 0301.4 'helper (cache) requires matching protocol': - check fill $HELPER <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://example.com': - askpass: Password for 'http://askpass-username@example.com': - EOF - -ok 4 - helper (cache) requires matching protocol + show_cr out && + test_i18ncmp expect out -expecting success of 0301.5 'helper (cache) requires matching host': - check fill $HELPER <<-\EOF - protocol=https - host=other.tld - -- - protocol=https - host=other.tld - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://other.tld': - askpass: Password for 'https://askpass-username@other.tld': - EOF - -ok 5 - helper (cache) requires matching host +ok 2 - progress display with total -expecting success of 0301.6 'helper (cache) requires matching username': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=other - -- - protocol=https - host=example.com - username=other - password=askpass-password - -- - askpass: Password for 'https://other@example.com': - EOF - -ok 6 - helper (cache) requires matching username +expecting success of 0500.3 'progress display breaks long lines #1': + sed -e "s/Z$//" >expect <<\EOF && +Working hard.......2.........3.........4.........5.........6: 0% (100/100000) +Working hard.......2.........3.........4.........5.........6: 1% (1000/100000) +Working hard.......2.........3.........4.........5.........6: Z + 10% (10000/100000) + 100% (100000/100000) + 100% (100000/100000), done. +EOF -expecting success of 0301.7 'helper (cache) requires matching path': - test_config credential.usehttppath true && - check approve $HELPER <<-\EOF && - protocol=http - host=path.tld - path=foo.git - username=user - password=pass - EOF - check fill $HELPER <<-\EOF - protocol=http - host=path.tld - path=bar.git - -- - protocol=http - host=path.tld - path=bar.git - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://path.tld/bar.git': - askpass: Password for 'http://askpass-username@path.tld/bar.git': - EOF - -ok 7 - helper (cache) requires matching path + cat >in <<-\EOF && + progress 100 + progress 1000 + progress 10000 + progress 100000 + EOF + test-tool progress --total=100000 \ + "Working hard.......2.........3.........4.........5.........6" \ + stderr && -expecting success of 0301.8 'helper (cache) can forget host': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 8 - helper (cache) can forget host - -expecting success of 0301.9 'helper (cache) can store multiple users': - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - check fill $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 9 - helper (cache) can store multiple users - -expecting success of 0301.10 'helper (cache) can forget user': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=askpass-password - -- - askpass: Password for 'https://user1@example.com': - EOF - -ok 10 - helper (cache) can forget user + show_cr out && + test_i18ncmp expect out -expecting success of 0301.11 'helper (cache) remembers other user': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 11 - helper (cache) remembers other user +ok 3 - progress display breaks long lines #1 -expecting success of 0301.12 'helper (cache) can store empty username': - check approve $HELPER <<-\EOF && - protocol=https - host=sso.tld - username= - password= - EOF - check fill $HELPER <<-\EOF - protocol=https - host=sso.tld - -- - protocol=https - host=sso.tld - username= - password= - EOF - -ok 12 - helper (cache) can store empty username +expecting success of 0500.4 'progress display breaks long lines #2': + # Note: we do not need that many spaces after the title to cover up + # the last line before breaking the progress line. + sed -e "s/Z$//" >expect <<\EOF && +Working hard.......2.........3.........4.........5.........6: 0% (1/100000) +Working hard.......2.........3.........4.........5.........6: 0% (2/100000) +Working hard.......2.........3.........4.........5.........6: Z + 10% (10000/100000) + 100% (100000/100000) + 100% (100000/100000), done. +EOF -expecting success of 0301.13 'socket defaults to ~/.cache/git/credential/socket': - test_when_finished " - git credential-cache exit && - rmdir -p .cache/git/credential/ - " && - test_path_is_missing "$HOME/.git-credential-cache" && - test -S "$HOME/.cache/git/credential/socket" + cat >in <<-\EOF && + update + progress 1 + update + progress 2 + progress 10000 + progress 100000 + EOF + test-tool progress --total=100000 \ + "Working hard.......2.........3.........4.........5.........6" \ + stderr && -ok 13 - socket defaults to ~/.cache/git/credential/socket + show_cr out && + test_i18ncmp expect out -expecting success of 0301.14 'helper (cache) has no existing data': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 14 - helper (cache) has no existing data +ok 4 - progress display breaks long lines #2 -expecting success of 0301.15 'helper (cache) stores password': - check approve $HELPER <<-\EOF - protocol=https - host=example.com - username=store-user - password=store-pass - EOF - -ok 15 - helper (cache) stores password +expecting success of 0500.5 'progress display breaks long lines #3 - even the first is too long': + # Note: we do not actually need any spaces at the end of the title + # line, because there is no previous progress line to cover up. + sed -e "s/Z$//" >expect <<\EOF && +Working hard.......2.........3.........4.........5.........6: Z + 25% (25000/100000) + 50% (50000/100000) + 75% (75000/100000) + 100% (100000/100000) + 100% (100000/100000), done. +EOF -expecting success of 0301.16 'helper (cache) can retrieve password': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=store-user - password=store-pass - -- - EOF - -ok 16 - helper (cache) can retrieve password + cat >in <<-\EOF && + progress 25000 + progress 50000 + progress 75000 + progress 100000 + EOF + test-tool progress --total=100000 \ + "Working hard.......2.........3.........4.........5.........6" \ + stderr && -expecting success of 0301.17 'helper (cache) requires matching protocol': - check fill $HELPER <<-\EOF - protocol=http - host=example.com - -- - protocol=http - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://example.com': - askpass: Password for 'http://askpass-username@example.com': - EOF - -ok 17 - helper (cache) requires matching protocol + show_cr out && + test_i18ncmp expect out -expecting success of 0301.18 'helper (cache) requires matching host': - check fill $HELPER <<-\EOF - protocol=https - host=other.tld - -- - protocol=https - host=other.tld - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://other.tld': - askpass: Password for 'https://askpass-username@other.tld': - EOF - -ok 18 - helper (cache) requires matching host +ok 5 - progress display breaks long lines #3 - even the first is too long -expecting success of 0301.19 'helper (cache) requires matching username': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=other - -- - protocol=https - host=example.com - username=other - password=askpass-password - -- - askpass: Password for 'https://other@example.com': - EOF - -ok 19 - helper (cache) requires matching username +expecting success of 0500.6 'progress display breaks long lines #4 - title line matches terminal width': + cat >expect <<\EOF && +Working hard.......2.........3.........4.........5.........6.........7.........: + 25% (25000/100000) + 50% (50000/100000) + 75% (75000/100000) + 100% (100000/100000) + 100% (100000/100000), done. +EOF -expecting success of 0301.20 'helper (cache) requires matching path': - test_config credential.usehttppath true && - check approve $HELPER <<-\EOF && - protocol=http - host=path.tld - path=foo.git - username=user - password=pass - EOF - check fill $HELPER <<-\EOF - protocol=http - host=path.tld - path=bar.git - -- - protocol=http - host=path.tld - path=bar.git - username=askpass-username - password=askpass-password - -- - askpass: Username for 'http://path.tld/bar.git': - askpass: Password for 'http://askpass-username@path.tld/bar.git': - EOF - -ok 20 - helper (cache) requires matching path + cat >in <<-\EOF && + progress 25000 + progress 50000 + progress 75000 + progress 100000 + EOF + test-tool progress --total=100000 \ + "Working hard.......2.........3.........4.........5.........6.........7........." \ + stderr && -expecting success of 0301.21 'helper (cache) can forget host': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - -- - protocol=https - host=example.com - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://example.com': - askpass: Password for 'https://askpass-username@example.com': - EOF - -ok 21 - helper (cache) can forget host + show_cr out && + test_i18ncmp expect out -expecting success of 0301.22 'helper (cache) can store multiple users': - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check approve $HELPER <<-\EOF && - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - check fill $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=pass1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 22 - helper (cache) can store multiple users +ok 6 - progress display breaks long lines #4 - title line matches terminal width -expecting success of 0301.23 'helper (cache) can forget user': - check reject $HELPER <<-\EOF && - protocol=https - host=example.com - username=user1 - EOF - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user1 - -- - protocol=https - host=example.com - username=user1 - password=askpass-password - -- - askpass: Password for 'https://user1@example.com': - EOF - -ok 23 - helper (cache) can forget user +expecting success of 0500.7 'progress shortens - crazy caller': + cat >expect <<-\EOF && + Working hard: 10% (100/1000) + Working hard: 20% (200/1000) + Working hard: 0% (1/1000) + Working hard: 100% (1000/1000) + Working hard: 100% (1000/1000), done. + EOF -expecting success of 0301.24 'helper (cache) remembers other user': - check fill $HELPER <<-\EOF - protocol=https - host=example.com - username=user2 - -- - protocol=https - host=example.com - username=user2 - password=pass2 - EOF - -ok 24 - helper (cache) remembers other user + cat >in <<-\EOF && + progress 100 + progress 200 + progress 1 + progress 1000 + EOF + test-tool progress --total=1000 "Working hard" stderr && -expecting success of 0301.25 'helper (cache) can store empty username': - check approve $HELPER <<-\EOF && - protocol=https - host=sso.tld - username= - password= - EOF - check fill $HELPER <<-\EOF - protocol=https - host=sso.tld - -- - protocol=https - host=sso.tld - username= - password= - EOF - -ok 25 - helper (cache) can store empty username + show_cr out && + test_i18ncmp expect out -expecting success of 0301.26 'use custom XDG_CACHE_HOME if set and default sockets are not created': - test_when_finished "git credential-cache exit" && - test -S "$XDG_CACHE_HOME/git/credential/socket" && - test_path_is_missing "$HOME/.git-credential-cache/socket" && - test_path_is_missing "$HOME/.cache/git/credential/socket" +ok 7 - progress shortens - crazy caller -ok 26 - use custom XDG_CACHE_HOME if set and default sockets are not created +expecting success of 0500.8 'progress display with throughput': + cat >expect <<-\EOF && + Working hard: 10 + Working hard: 20, 200.00 KiB | 100.00 KiB/s + Working hard: 30, 300.00 KiB | 100.00 KiB/s + Working hard: 40, 400.00 KiB | 100.00 KiB/s + Working hard: 40, 400.00 KiB | 100.00 KiB/s, done. + EOF -expecting success of 0301.27 'credential-cache --socket option overrides default location': - test_when_finished " - git credential-cache exit --socket \"\$HOME/dir/socket\" && - rmdir \"\$HOME/dir\" - " && - check approve "cache --socket \"\$HOME/dir/socket\"" <<-\EOF && - protocol=https - host=example.com - username=store-user - password=store-pass + cat >in <<-\EOF && + throughput 102400 1000 + update + progress 10 + throughput 204800 2000 + update + progress 20 + throughput 307200 3000 + update + progress 30 + throughput 409600 4000 + update + progress 40 EOF - test -S "$HOME/dir/socket" + test-tool progress "Working hard" stderr && -ok 27 - credential-cache --socket option overrides default location + show_cr out && + test_i18ncmp expect out -expecting success of 0301.28 'use custom XDG_CACHE_HOME even if xdg socket exists': - test_when_finished " - git credential-cache exit && - sane_unset XDG_CACHE_HOME - " && - check approve cache <<-\EOF && - protocol=https - host=example.com - username=store-user - password=store-pass +ok 8 - progress display with throughput + +expecting success of 0500.9 'progress display with throughput and total': + cat >expect <<-\EOF && + Working hard: 25% (10/40) + Working hard: 50% (20/40), 200.00 KiB | 100.00 KiB/s + Working hard: 75% (30/40), 300.00 KiB | 100.00 KiB/s + Working hard: 100% (40/40), 400.00 KiB | 100.00 KiB/s + Working hard: 100% (40/40), 400.00 KiB | 100.00 KiB/s, done. EOF - test -S "$HOME/.cache/git/credential/socket" && - XDG_CACHE_HOME="$HOME/xdg" && - export XDG_CACHE_HOME && - check approve cache <<-\EOF && - protocol=https - host=example.com - username=store-user - password=store-pass + + cat >in <<-\EOF && + throughput 102400 1000 + progress 10 + throughput 204800 2000 + progress 20 + throughput 307200 3000 + progress 30 + throughput 409600 4000 + progress 40 EOF - test -S "$XDG_CACHE_HOME/git/credential/socket" + test-tool progress --total=40 "Working hard" stderr && -ok 28 - use custom XDG_CACHE_HOME even if xdg socket exists + show_cr out && + test_i18ncmp expect out -expecting success of 0301.29 'use user socket if user directory exists': - test_when_finished " - git credential-cache exit && - rmdir \"\$HOME/.git-credential-cache/\" - " && - mkdir -p -m 700 "$HOME/.git-credential-cache/" && - check approve cache <<-\EOF && - protocol=https - host=example.com - username=store-user - password=store-pass +ok 9 - progress display with throughput and total + +expecting success of 0500.10 'cover up after throughput shortens': + cat >expect <<-\EOF && + Working hard: 1 + Working hard: 2, 800.00 KiB | 400.00 KiB/s + Working hard: 3, 1.17 MiB | 400.00 KiB/s + Working hard: 4, 1.56 MiB | 400.00 KiB/s + Working hard: 4, 1.56 MiB | 400.00 KiB/s, done. EOF - test -S "$HOME/.git-credential-cache/socket" -ok 29 - use user socket if user directory exists + cat >in <<-\EOF && + throughput 409600 1000 + update + progress 1 + throughput 819200 2000 + update + progress 2 + throughput 1228800 3000 + update + progress 3 + throughput 1638400 4000 + update + progress 4 + EOF + test-tool progress "Working hard" stderr && -checking prerequisite: SYMLINKS + show_cr out && + test_i18ncmp expect out -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +ok 10 - cover up after throughput shortens -) -prerequisite SYMLINKS ok -expecting success of 0301.30 'use user socket if user directory is a symlink to a directory': - test_when_finished " - git credential-cache exit && - rmdir \"\$HOME/dir/\" && - rm \"\$HOME/.git-credential-cache\" - " && - mkdir -p -m 700 "$HOME/dir/" && - ln -s "$HOME/dir" "$HOME/.git-credential-cache" && - check approve cache <<-\EOF && - protocol=https - host=example.com - username=store-user - password=store-pass +expecting success of 0500.11 'cover up after throughput shortens a lot': + cat >expect <<-\EOF && + Working hard: 1 + Working hard: 2, 1000.00 KiB | 1000.00 KiB/s + Working hard: 3, 3.00 MiB | 1.50 MiB/s + Working hard: 3, 3.00 MiB | 1024.00 KiB/s, done. EOF - test -S "$HOME/.git-credential-cache/socket" -ok 30 - use user socket if user directory is a symlink to a directory + cat >in <<-\EOF && + throughput 1 1000 + update + progress 1 + throughput 1024000 2000 + update + progress 2 + throughput 3145728 3000 + update + progress 3 + EOF + test-tool progress "Working hard" stderr && -expecting success of 0301.31 'helper (cache --timeout=1) times out': - check approve "$HELPER" <<-\EOF && - protocol=https - host=timeout.tld - username=user - password=pass - EOF - sleep 2 && - check fill "$HELPER" <<-\EOF - protocol=https - host=timeout.tld - -- - protocol=https - host=timeout.tld - username=askpass-username - password=askpass-password - -- - askpass: Username for 'https://timeout.tld': - askpass: Password for 'https://askpass-username@timeout.tld': - EOF - -ok 31 - helper (cache --timeout=1) times out + show_cr out && + test_i18ncmp expect out -# passed all 31 test(s) -1..31 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1307-config-blob.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1307-config-blob/.git/ -expecting success of 1307.1 'create config blob': - cat >config <<-\EOF && - [some] - value = 1 - EOF - git add config && - git commit -m foo +ok 11 - cover up after throughput shortens a lot -[master (root-commit) 5571afa] foo - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 config -ok 1 - create config blob +expecting success of 0500.12 'progress generates traces': + cat >in <<-\EOF && + throughput 102400 1000 + update + progress 10 + throughput 204800 2000 + update + progress 20 + throughput 307200 3000 + update + progress 30 + throughput 409600 4000 + update + progress 40 + EOF -expecting success of 1307.2 'list config blob contents': - echo some.value=1 >expect && - git config --blob=HEAD:config --list >actual && - test_cmp expect actual + GIT_TRACE2_EVENT="$(pwd)/trace.event" test-tool progress --total=40 \ + "Working hard" stderr && -ok 2 - list config blob contents + # t0212/parse_events.perl intentionally omits regions and data. + grep -e "region_enter" -e "\"category\":\"progress\"" trace.event && + grep -e "region_leave" -e "\"category\":\"progress\"" trace.event && + grep "\"key\":\"total_objects\",\"value\":\"40\"" trace.event && + grep "\"key\":\"total_bytes\",\"value\":\"409600\"" trace.event -expecting success of 1307.3 'fetch value from blob': - echo true >expect && - git config --blob=HEAD:config --bool some.value >actual && - test_cmp expect actual +{"event":"region_enter","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.696965Z","file":"progress.c","line":268,"repo":0,"nesting":1,"category":"progress","label":"Working hard"} +{"event":"data","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697085Z","file":"progress.c","line":328,"repo":0,"t_abs":0.000725,"t_rel":0.000120,"nesting":2,"category":"progress","key":"total_objects","value":"40"} +{"event":"data","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697111Z","file":"progress.c","line":332,"repo":0,"t_abs":0.000752,"t_rel":0.000147,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"} +{"event":"region_leave","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697134Z","file":"progress.c","line":336,"repo":0,"t_rel":0.000169,"nesting":1,"category":"progress","label":"Working hard"} +{"event":"region_enter","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.696965Z","file":"progress.c","line":268,"repo":0,"nesting":1,"category":"progress","label":"Working hard"} +{"event":"data","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697085Z","file":"progress.c","line":328,"repo":0,"t_abs":0.000725,"t_rel":0.000120,"nesting":2,"category":"progress","key":"total_objects","value":"40"} +{"event":"data","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697111Z","file":"progress.c","line":332,"repo":0,"t_abs":0.000752,"t_rel":0.000147,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"} +{"event":"region_leave","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697134Z","file":"progress.c","line":336,"repo":0,"t_rel":0.000169,"nesting":1,"category":"progress","label":"Working hard"} +{"event":"data","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697085Z","file":"progress.c","line":328,"repo":0,"t_abs":0.000725,"t_rel":0.000120,"nesting":2,"category":"progress","key":"total_objects","value":"40"} +{"event":"data","sid":"20230429T161626.696731Z-H5c947e1c-P00003715","thread":"main","time":"2023-04-29T16:16:26.697111Z","file":"progress.c","line":332,"repo":0,"t_abs":0.000752,"t_rel":0.000147,"nesting":2,"category":"progress","key":"total_bytes","value":"409600"} +ok 12 - progress generates traces -ok 3 - fetch value from blob +# passed all 12 test(s) +1..12 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0008-ignores.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0008-ignores/.git/ +expecting success of 0008.1 'setup': + init_vars && + mkdir -p a/b/ignored-dir a/submodule b && + if test_have_prereq SYMLINKS + then + ln -s b a/symlink + fi && + ( + cd a/submodule && + git init && + echo a >a && + git add a && + git commit -m"commit in submodule" + ) && + git add a/submodule && + cat <<-\EOF >.gitignore && + one + ignored-* + top-level-dir/ + EOF + for dir in . a + do + : >$dir/not-ignored && + : >$dir/ignored-and-untracked && + : >$dir/ignored-but-in-index + done && + git add -f ignored-but-in-index a/ignored-but-in-index && + cat <<-\EOF >a/.gitignore && + two* + *three + EOF + cat <<-\EOF >a/b/.gitignore && + four + five + # this comment should affect the line numbers + six + ignored-dir/ + # and so should this blank line: -expecting success of 1307.4 'reading non-existing value from blob is an error': - test_must_fail git config --blob=HEAD:config non.existing + !on* + !two + EOF + echo "seven" >a/b/ignored-dir/.gitignore && + test -n "$HOME" && + cat <<-\EOF >"$global_excludes" && + globalone + !globaltwo + globalthree + EOF + cat <<-\EOF >>.git/info/exclude + per-repo + EOF -ok 4 - reading non-existing value from blob is an error +checking prerequisite: SYMLINKS -expecting success of 1307.5 'reading from blob and file is an error': - test_must_fail git config --blob=HEAD:config --system --list +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -error: only one config file at a time -usage: git config [] +) +prerequisite SYMLINKS ok +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0008-ignores/a/submodule/.git/ +[master (root-commit) d93acdf] commit in submodule + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 a +warning: adding embedded git repository: a/submodule +hint: You've added another git repository inside your current repository. +hint: Clones of the outer repository will not contain the contents of +hint: the embedded repository and will not know how to obtain it. +hint: If you meant to add a submodule, use: +hint: +hint: git submodule add a/submodule +hint: +hint: If you added this path by mistake, you can remove it from the +hint: index with: +hint: +hint: git rm --cached a/submodule +hint: +hint: See "git help submodule" for more information. +ok 1 - setup -Config file location - --global use global config file - --system use system config file - --local use repository config file - --worktree use per-worktree config file - -f, --file use given config file - --blob read config from given blob object +expecting success of 0008.2 '. corner-case': + expect "$expect" && + eval "$code" + +ok 2 - . corner-case -Action - --get get value: name [value-pattern] - --get-all get all values: key [value-pattern] - --get-regexp get values for regexp: name-regex [value-pattern] - --get-urlmatch get value specific for the URL: section[.var] URL - --replace-all replace all matching variables: name value [value-pattern] - --add add a new variable: name value - --unset remove a variable: name [value-pattern] - --unset-all remove all matches: name [value-pattern] - --rename-section rename section: old-name new-name - --remove-section remove a section: name - -l, --list list all - --fixed-value use string equality when comparing values to 'value-pattern' - -e, --edit open an editor - --get-color find the color configured: slot [default] - --get-colorbool find the color setting: slot [stdout-is-tty] +expecting success of 0008.3 '. corner-case with -q': + expect '' && + + test_check_ignore . 1 -Type - -t, --type <> value is given this type - --bool value is "true" or "false" - --int value is decimal number - --bool-or-int value is --bool or --int - --bool-or-str value is --bool or string - --path value is a path (file or directory name) - --expiry-date value is an expiry date + +ok 3 - . corner-case with -q -Other - -z, --null terminate values with NUL byte - --name-only show variable names only - --includes respect include directives on lookup - --show-origin show origin of config (file, standard input, blob, command line) - --show-scope show scope of config (worktree, local, global, system, command) - --default with --get, use default value when missing entry +expecting success of 0008.4 '. corner-case with --quiet': + expect '' && + + test_check_ignore . 1 -ok 5 - reading from blob and file is an error + +ok 4 - . corner-case with --quiet -expecting success of 1307.6 'reading from missing ref is an error': - test_must_fail git config --blob=HEAD:doesnotexist --list +expecting success of 0008.5 '. corner-case with -v': + expect '' && + + test_check_ignore . 1 -error: unable to resolve config blob 'HEAD:doesnotexist' -fatal: error processing config file(s) -ok 6 - reading from missing ref is an error + +ok 5 - . corner-case with -v -expecting success of 1307.7 'reading from non-blob is an error': - test_must_fail git config --blob=HEAD --list +expecting success of 0008.6 '. corner-case with -v -n': + expect ':: .' && + + test_check_ignore . 1 -error: reference 'HEAD' does not point to a blob -fatal: error processing config file(s) -ok 7 - reading from non-blob is an error + +ok 6 - . corner-case with -v -n -expecting success of 1307.8 'setting a value in a blob is an error': - test_must_fail git config --blob=HEAD:config some.value foo +expecting success of 0008.7 '. corner-case with -v --non-matching': + expect ':: .' && + + test_check_ignore . 1 -fatal: writing config blobs is not supported -ok 8 - setting a value in a blob is an error + +ok 7 - . corner-case with -v --non-matching -expecting success of 1307.9 'deleting a value in a blob is an error': - test_must_fail git config --blob=HEAD:config --unset some.value +expecting success of 0008.8 '. corner-case with --verbose': + expect '' && + + test_check_ignore . 1 -fatal: writing config blobs is not supported -ok 9 - deleting a value in a blob is an error + +ok 8 - . corner-case with --verbose -expecting success of 1307.10 'editing a blob is an error': - test_must_fail git config --blob=HEAD:config --edit +expecting success of 0008.9 '. corner-case with --verbose -n': + expect ':: .' && + + test_check_ignore . 1 -fatal: editing blobs is not supported -ok 10 - editing a blob is an error + +ok 9 - . corner-case with --verbose -n -expecting success of 1307.11 'parse errors in blobs are properly attributed': - cat >config <<-\EOF && - [some] - value = " - EOF - git add config && - git commit -m broken && +expecting success of 0008.10 '. corner-case with --verbose --non-matching': + expect ':: .' && + + test_check_ignore . 1 - test_must_fail git config --blob=HEAD:config some.value 2>err && - test_i18ngrep "HEAD:config" err + +ok 10 - . corner-case with --verbose --non-matching -[master 91b4611] broken - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) +expecting success of 0008.11 'empty command line': + expect "$expect" && + eval "$code" + checking prerequisite: C_LOCALE_OUTPUT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && @@ -28987,10103 +21969,11387 @@ ) prerequisite C_LOCALE_OUTPUT ok -error: bad config line 2 in blob HEAD:config -ok 11 - parse errors in blobs are properly attributed +fatal: no path specified +ok 11 - empty command line -expecting success of 1307.12 'can parse blob ending with CR': - printf "[some]key = value\\r" >config && - git add config && - git commit -m CR && - echo value >expect && - git config --blob=HEAD:config some.key >actual && - test_cmp expect actual +expecting success of 0008.12 'empty command line with -q': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -[master 2e1cb03] CR - Author: A U Thor - 1 file changed, 1 insertion(+), 2 deletions(-) -ok 12 - can parse blob ending with CR + +fatal: no path specified +ok 12 - empty command line with -q -expecting success of 1307.13 'config --blob outside of a repository is an error': - nongit test_must_fail git config --blob=foo --list +expecting success of 0008.13 'empty command line with --quiet': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -fatal: --blob can only be used inside a git repository -ok 13 - config --blob outside of a repository is an error + +fatal: no path specified +ok 13 - empty command line with --quiet -# passed all 13 test(s) -1..13 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1306-xdg-files.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1306-xdg-files/.git/ -expecting success of 1306.1 'read config: xdg file exists and ~/.gitconfig doesn't': - mkdir -p .config/git && - echo "[alias]" >.config/git/config && - echo " myalias = !echo in_config" >>.config/git/config && - echo in_config >expected && - git myalias >actual && - test_cmp expected actual +expecting success of 0008.14 'empty command line with -v': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -ok 1 - read config: xdg file exists and ~/.gitconfig doesn't + +fatal: no path specified +ok 14 - empty command line with -v -expecting success of 1306.2 'read config: xdg file exists and ~/.gitconfig exists': - >.gitconfig && - echo "[alias]" >.gitconfig && - echo " myalias = !echo in_gitconfig" >>.gitconfig && - echo in_gitconfig >expected && - git myalias >actual && - test_cmp expected actual +expecting success of 0008.15 'empty command line with -v -n': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -ok 2 - read config: xdg file exists and ~/.gitconfig exists + +fatal: no path specified +ok 15 - empty command line with -v -n -expecting success of 1306.3 'read with --get: xdg file exists and ~/.gitconfig doesn't': - rm .gitconfig && - echo "[user]" >.config/git/config && - echo " name = read_config" >>.config/git/config && - echo read_config >expected && - git config --get user.name >actual && - test_cmp expected actual +expecting success of 0008.16 'empty command line with -v --non-matching': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -ok 3 - read with --get: xdg file exists and ~/.gitconfig doesn't + +fatal: no path specified +ok 16 - empty command line with -v --non-matching -expecting success of 1306.4 '"$XDG_CONFIG_HOME overrides $HOME/.config/git': - mkdir -p "$HOME"/xdg/git && - echo "[user]name = in_xdg" >"$HOME"/xdg/git/config && - echo in_xdg >expected && - XDG_CONFIG_HOME="$HOME"/xdg git config --get-all user.name >actual && - test_cmp expected actual +expecting success of 0008.17 'empty command line with --verbose': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -ok 4 - "$XDG_CONFIG_HOME overrides $HOME/.config/git + +fatal: no path specified +ok 17 - empty command line with --verbose -expecting success of 1306.5 'read with --get: xdg file exists and ~/.gitconfig exists': - >.gitconfig && - echo "[user]" >.gitconfig && - echo " name = read_gitconfig" >>.gitconfig && - echo read_gitconfig >expected && - git config --get user.name >actual && - test_cmp expected actual +expecting success of 0008.18 'empty command line with --verbose -n': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -ok 5 - read with --get: xdg file exists and ~/.gitconfig exists + +fatal: no path specified +ok 18 - empty command line with --verbose -n -expecting success of 1306.6 'read with --list: xdg file exists and ~/.gitconfig doesn't': - rm .gitconfig && - echo user.name=read_config >expected && - git config --global --list >actual && - test_cmp expected actual +expecting success of 0008.19 'empty command line with --verbose --non-matching': + expect '' && + + test_check_ignore "" 128 && + stderr_contains "fatal: no path specified" -ok 6 - read with --list: xdg file exists and ~/.gitconfig doesn't + +fatal: no path specified +ok 19 - empty command line with --verbose --non-matching -expecting success of 1306.7 'read with --list: xdg file exists and ~/.gitconfig exists': - >.gitconfig && - echo "[user]" >.gitconfig && - echo " name = read_gitconfig" >>.gitconfig && - echo user.name=read_gitconfig >expected && - git config --global --list >actual && - test_cmp expected actual +expecting success of 0008.20 '--stdin with empty STDIN': + expect "$expect" && + eval "$code" + +ok 20 - --stdin with empty STDIN -ok 7 - read with --list: xdg file exists and ~/.gitconfig exists +expecting success of 0008.21 '--stdin with empty STDIN with -q': + expect '' && + + test_check_ignore "--stdin" 1 to_be_excluded + +ok 21 - --stdin with empty STDIN with -q -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1306-xdg-files/git/.git/ -ok 8 - Setup +expecting success of 0008.22 '--stdin with empty STDIN with --quiet': + expect '' && + + test_check_ignore "--stdin" 1 "$HOME"/.config/git/ignore && - test_must_fail git add to_be_excluded + +ok 22 - --stdin with empty STDIN with --quiet -The following paths are ignored by one of your .gitignore files: -to_be_excluded -hint: Use -f if you really want to add them. -hint: Turn this message off by running -hint: "git config advice.addIgnoredFile false" -ok 9 - Exclusion of a file in the XDG ignore file +expecting success of 0008.23 '--stdin with empty STDIN with -v': + expect '' && + + test_check_ignore "--stdin" 1 excluded_by_xdg_only && - echo excluded_by_xdg_only >"$HOME"/xdg/git/ignore && - test_when_finished "git read-tree --empty" && - (XDG_CONFIG_HOME="$HOME/xdg" && - export XDG_CONFIG_HOME && - git add to_be_excluded && - test_must_fail git add excluded_by_xdg_only - ) + +ok 23 - --stdin with empty STDIN with -v -The following paths are ignored by one of your .gitignore files: -excluded_by_xdg_only -hint: Use -f if you really want to add them. -hint: Turn this message off by running -hint: "git config advice.addIgnoredFile false" -ok 10 - $XDG_CONFIG_HOME overrides $HOME/.config/git/ignore +expecting success of 0008.24 '--stdin with empty STDIN with -v -n': + expect '' && + + test_check_ignore "--stdin" 1 .gitignore && - test_must_fail git add to_be_excluded + +ok 24 - --stdin with empty STDIN with -v -n -The following paths are ignored by one of your .gitignore files: -to_be_excluded -hint: Use -f if you really want to add them. -hint: Turn this message off by running -hint: "git config advice.addIgnoredFile false" -ok 11 - Exclusion in both XDG and local ignore files +expecting success of 0008.25 '--stdin with empty STDIN with -v --non-matching': + expect '' && + + test_check_ignore "--stdin" 1 "$HOME"/.config/git/ignore && - echo to_be_excluded >"$HOME"/my_gitignore && - git config core.excludesfile "$HOME"/my_gitignore && - test_must_fail git add to_be_excluded + +ok 25 - --stdin with empty STDIN with -v --non-matching -The following paths are ignored by one of your .gitignore files: -to_be_excluded -hint: Use -f if you really want to add them. -hint: Turn this message off by running -hint: "git config advice.addIgnoredFile false" -ok 12 - Exclusion in a non-XDG global ignore file +expecting success of 0008.26 '--stdin with empty STDIN with --verbose': + expect '' && + + test_check_ignore "--stdin" 1 actual) && - test_must_be_empty actual + +ok 26 - --stdin with empty STDIN with --verbose -ok 13 - Checking XDG ignore file when HOME is unset +expecting success of 0008.27 '--stdin with empty STDIN with --verbose -n': + expect '' && + + test_check_ignore "--stdin" 1 f && - git check-attr -a f >actual && - test_line_count -eq 0 actual && - echo "f attr_f" >"$HOME"/.config/git/attributes && - echo "f: attr_f: set" >expected && - git check-attr -a f >actual && - test_cmp expected actual + +ok 27 - --stdin with empty STDIN with --verbose -n -ok 14 - Checking attributes in the XDG attributes file +expecting success of 0008.28 '--stdin with empty STDIN with --verbose --non-matching': + expect '' && + + test_check_ignore "--stdin" 1 actual) && - test_must_be_empty actual + +ok 28 - --stdin with empty STDIN with --verbose --non-matching -ok 15 - Checking XDG attributes when HOME is unset +expecting success of 0008.29 '-q with multiple args': + expect "" && + test_check_ignore "-q one two" 128 && + stderr_contains "fatal: --quiet is only valid with a single pathname" -expecting success of 1306.16 '$XDG_CONFIG_HOME overrides $HOME/.config/git/attributes': - mkdir -p "$HOME"/xdg/git && - echo "f attr_f=xdg" >"$HOME"/xdg/git/attributes && - echo "f: attr_f: xdg" >expected && - XDG_CONFIG_HOME="$HOME/xdg" git check-attr -a f >actual && - test_cmp expected actual +fatal: --quiet is only valid with a single pathname +ok 29 - -q with multiple args -ok 16 - $XDG_CONFIG_HOME overrides $HOME/.config/git/attributes +expecting success of 0008.30 '--quiet with multiple args': + expect "" && + test_check_ignore "--quiet one two" 128 && + stderr_contains "fatal: --quiet is only valid with a single pathname" -expecting success of 1306.17 'Checking attributes in both XDG and local attributes files': - echo "f -attr_f" >.gitattributes && - echo "f: attr_f: unset" >expected && - git check-attr -a f >actual && - test_cmp expected actual +fatal: --quiet is only valid with a single pathname +ok 30 - --quiet with multiple args -ok 17 - Checking attributes in both XDG and local attributes files +expecting success of 0008.31 '-q -v': + expect '' && + test_check_ignore '-q -v foo' 128 && + stderr_contains 'fatal: cannot have both --quiet and --verbose' + +fatal: cannot have both --quiet and --verbose +ok 31 - -q -v -expecting success of 1306.18 'Checking attributes in a non-XDG global attributes file': - rm -f .gitattributes && - echo "f attr_f=test" >"$HOME"/my_gitattributes && - git config core.attributesfile "$HOME"/my_gitattributes && - echo "f: attr_f: test" >expected && - git check-attr -a f >actual && - test_cmp expected actual +expecting success of 0008.32 '--quiet -v': + expect '' && + test_check_ignore '--quiet -v foo' 128 && + stderr_contains 'fatal: cannot have both --quiet and --verbose' + +fatal: cannot have both --quiet and --verbose +ok 32 - --quiet -v -ok 18 - Checking attributes in a non-XDG global attributes file +expecting success of 0008.33 '-q --verbose': + expect '' && + test_check_ignore '-q --verbose foo' 128 && + stderr_contains 'fatal: cannot have both --quiet and --verbose' + +fatal: cannot have both --quiet and --verbose +ok 33 - -q --verbose -expecting success of 1306.19 'write: xdg file exists and ~/.gitconfig doesn't': - mkdir -p "$HOME"/.config/git && - >"$HOME"/.config/git/config && - rm -f "$HOME"/.gitconfig && - git config --global user.name "write_config" && - echo "[user]" >expected && - echo " name = write_config" >>expected && - test_cmp expected "$HOME"/.config/git/config +expecting success of 0008.34 '--quiet --verbose': + expect '' && + test_check_ignore '--quiet --verbose foo' 128 && + stderr_contains 'fatal: cannot have both --quiet and --verbose' + +fatal: cannot have both --quiet and --verbose +ok 34 - --quiet --verbose -ok 19 - write: xdg file exists and ~/.gitconfig doesn't +expecting success of 0008.35 '--quiet with multiple args': + expect "" && + test_check_ignore "--quiet one two" 128 && + stderr_contains "fatal: --quiet is only valid with a single pathname" -expecting success of 1306.20 'write: xdg file exists and ~/.gitconfig exists': - >"$HOME"/.gitconfig && - git config --global user.name "write_gitconfig" && - echo "[user]" >expected && - echo " name = write_gitconfig" >>expected && - test_cmp expected "$HOME"/.gitconfig +fatal: --quiet is only valid with a single pathname +ok 35 - --quiet with multiple args -ok 20 - write: xdg file exists and ~/.gitconfig exists +expecting success of 0008.36 'erroneous use of --': + expect "$expect" && + eval "$code" + +fatal: no path specified +ok 36 - erroneous use of -- -expecting success of 1306.21 'write: ~/.config/git/ exists and config file doesn't': - rm -f "$HOME"/.gitconfig && - rm -f "$HOME"/.config/git/config && - git config --global user.name "write_gitconfig" && - echo "[user]" >expected && - echo " name = write_gitconfig" >>expected && - test_cmp expected "$HOME"/.gitconfig +expecting success of 0008.37 'erroneous use of -- with -q': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -ok 21 - write: ~/.config/git/ exists and config file doesn't + +fatal: no path specified +ok 37 - erroneous use of -- with -q -# passed all 21 test(s) -1..21 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1310-config-default.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1310-config-default/.git/ -expecting success of 1310.1 'uses --default when entry missing': - echo quux >expect && - git config -f config --default=quux core.foo >actual && - test_cmp expect actual +expecting success of 0008.38 'erroneous use of -- with --quiet': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -ok 1 - uses --default when entry missing + +fatal: no path specified +ok 38 - erroneous use of -- with --quiet -expecting success of 1310.2 'does not use --default when entry present': - echo bar >expect && - git -c core.foo=bar config --default=baz core.foo >actual && - test_cmp expect actual +expecting success of 0008.39 'erroneous use of -- with -v': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -ok 2 - does not use --default when entry present + +fatal: no path specified +ok 39 - erroneous use of -- with -v -expecting success of 1310.3 'canonicalizes --default with appropriate type': - echo true >expect && - git config -f config --default=yes --bool core.foo >actual && - test_cmp expect actual +expecting success of 0008.40 'erroneous use of -- with -v -n': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -ok 3 - canonicalizes --default with appropriate type + +fatal: no path specified +ok 40 - erroneous use of -- with -v -n -expecting success of 1310.4 'dies when --default cannot be parsed': - test_must_fail git config -f config --type=expiry-date --default=x --get \ - not.a.section 2>error && - test_i18ngrep "failed to format default config value" error +expecting success of 0008.41 'erroneous use of -- with -v --non-matching': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -checking prerequisite: C_LOCALE_OUTPUT + +fatal: no path specified +ok 41 - erroneous use of -- with -v --non-matching -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0008.42 'erroneous use of -- with --verbose': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -) -prerequisite C_LOCALE_OUTPUT ok -fatal: failed to format default config value: x -ok 4 - dies when --default cannot be parsed + +fatal: no path specified +ok 42 - erroneous use of -- with --verbose -expecting success of 1310.5 'does not allow --default without --get': - test_must_fail git config --default=quux --unset a.section >output 2>&1 && - test_i18ngrep "\-\-default is only applicable to" output +expecting success of 0008.43 'erroneous use of -- with --verbose -n': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -error: --default is only applicable to --get -ok 5 - does not allow --default without --get + +fatal: no path specified +ok 43 - erroneous use of -- with --verbose -n -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1309-early-config.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/.git/ -expecting success of 1309.1 'read early config': - test_config early.config correct && - test-tool config read_early_config early.config >output && - test correct = "$(cat output)" +expecting success of 0008.44 'erroneous use of -- with --verbose --non-matching': + expect '' && + + test_check_ignore "--" 128 && + stderr_contains "fatal: no path specified" -ok 1 - read early config + +fatal: no path specified +ok 44 - erroneous use of -- with --verbose --non-matching -expecting success of 1309.2 'in a sub-directory': - test_config early.config sub && - mkdir -p sub && - ( - cd sub && - test-tool config read_early_config early.config - ) >output && - test sub = "$(cat output)" +expecting success of 0008.45 '--stdin with superfluous arg': + expect "$expect" && + eval "$code" + +fatal: cannot specify pathnames with --stdin +ok 45 - --stdin with superfluous arg -ok 2 - in a sub-directory +expecting success of 0008.46 '--stdin with superfluous arg with -q': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1309.3 'ceiling': - test_config early.config ceiling && - mkdir -p sub && - ( - GIT_CEILING_DIRECTORIES="$PWD" && - export GIT_CEILING_DIRECTORIES && - cd sub && - test-tool config read_early_config early.config - ) >output && - test_must_be_empty output + +fatal: cannot specify pathnames with --stdin +ok 46 - --stdin with superfluous arg with -q -ok 3 - ceiling +expecting success of 0008.47 '--stdin with superfluous arg with --quiet': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1309.4 'ceiling #2': - mkdir -p xdg/git && - git config -f xdg/git/config early.config xdg && - test_config early.config ceiling && - mkdir -p sub && - ( - XDG_CONFIG_HOME="$PWD"/xdg && - GIT_CEILING_DIRECTORIES="$PWD" && - export GIT_CEILING_DIRECTORIES XDG_CONFIG_HOME && - cd sub && - test-tool config read_early_config early.config - ) >output && - test xdg = "$(cat output)" + +fatal: cannot specify pathnames with --stdin +ok 47 - --stdin with superfluous arg with --quiet -ok 4 - ceiling #2 +expecting success of 0008.48 '--stdin with superfluous arg with -v': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1309.5 'read config file in right order': - echo "[test]source = home" >>.gitconfig && - git init foo && - ( - cd foo && - echo "[test]source = repo" >>.git/config && - GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config \ - read_early_config test.source >actual && - cat >expected <<-\EOF && - home - repo - cmdline - EOF - test_cmp expected actual - ) + +fatal: cannot specify pathnames with --stdin +ok 48 - --stdin with superfluous arg with -v -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/foo/.git/ -ok 5 - read config file in right order +expecting success of 0008.49 '--stdin with superfluous arg with -v -n': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1309.6 'ignore .git/ with incompatible repository version': - test_with_config "[core]repositoryformatversion = 999999" 2>err && - test_i18ngrep "warning:.* Expected git repo version <= [1-9]" err + +fatal: cannot specify pathnames with --stdin +ok 49 - --stdin with superfluous arg with -v -n -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0008.50 '--stdin with superfluous arg with -v --non-matching': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + +fatal: cannot specify pathnames with --stdin +ok 50 - --stdin with superfluous arg with -v --non-matching -) -prerequisite C_LOCALE_OUTPUT ok -warning: ignoring git dir '.git': Expected git repo version <= 1, found 999999 -ok 6 - ignore .git/ with incompatible repository version +expecting success of 0008.51 '--stdin with superfluous arg with --verbose': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -checking known breakage of 1309.7 'ignore .git/ with invalid repository version': - test_with_config "[core]repositoryformatversion = invalid" + +fatal: cannot specify pathnames with --stdin +ok 51 - --stdin with superfluous arg with --verbose -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ -fatal: bad numeric config value 'invalid' for 'core.repositoryformatversion' in file .git/config: invalid unit -not ok 7 - ignore .git/ with invalid repository version # TODO known breakage +expecting success of 0008.52 '--stdin with superfluous arg with --verbose -n': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -checking known breakage of 1309.8 'ignore .git/ with invalid config': - test_with_config "[" + +fatal: cannot specify pathnames with --stdin +ok 52 - --stdin with superfluous arg with --verbose -n -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ -fatal: bad config line 1 in file .git/config -not ok 8 - ignore .git/ with invalid config # TODO known breakage +expecting success of 0008.53 '--stdin with superfluous arg with --verbose --non-matching': + expect '' && + + test_check_ignore "--stdin foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1309.9 'early config and onbranch': - echo "[broken" >broken && - test_with_config "[includeif \"onbranch:topic\"]path=../broken" + +fatal: cannot specify pathnames with --stdin +ok 53 - --stdin with superfluous arg with --verbose --non-matching -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ -ok 9 - early config and onbranch +expecting success of 0008.54 '--stdin -z with superfluous arg': + expect "$expect" && + eval "$code" + +fatal: cannot specify pathnames with --stdin +ok 54 - --stdin -z with superfluous arg -expecting success of 1309.10 'onbranch config outside of git repo': - test_config_global includeIf.onbranch:topic.path non-existent && - nongit git help +expecting success of 0008.55 '--stdin -z with superfluous arg with -q': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -usage: git [--version] [--help] [-C ] [-c =] - [--exec-path[=]] [--html-path] [--man-path] [--info-path] - [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare] - [--git-dir=] [--work-tree=] [--namespace=] - [] + +fatal: cannot specify pathnames with --stdin +ok 55 - --stdin -z with superfluous arg with -q -These are common Git commands used in various situations: +expecting success of 0008.56 '--stdin -z with superfluous arg with --quiet': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -start a working area (see also: git help tutorial) - clone Clone a repository into a new directory - init Create an empty Git repository or reinitialize an existing one + +fatal: cannot specify pathnames with --stdin +ok 56 - --stdin -z with superfluous arg with --quiet -work on the current change (see also: git help everyday) - add Add file contents to the index - mv Move or rename a file, a directory, or a symlink - restore Restore working tree files - rm Remove files from the working tree and from the index - sparse-checkout Initialize and modify the sparse-checkout +expecting success of 0008.57 '--stdin -z with superfluous arg with -v': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -examine the history and state (see also: git help revisions) - bisect Use binary search to find the commit that introduced a bug - diff Show changes between commits, commit and working tree, etc - grep Print lines matching a pattern - log Show commit logs - show Show various types of objects - status Show the working tree status + +fatal: cannot specify pathnames with --stdin +ok 57 - --stdin -z with superfluous arg with -v -grow, mark and tweak your common history - branch List, create, or delete branches - commit Record changes to the repository - merge Join two or more development histories together - rebase Reapply commits on top of another base tip - reset Reset current HEAD to the specified state - switch Switch branches - tag Create, list, delete or verify a tag object signed with GPG +expecting success of 0008.58 '--stdin -z with superfluous arg with -v -n': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -collaborate (see also: git help workflows) - fetch Download objects and refs from another repository - pull Fetch from and integrate with another repository or a local branch - push Update remote refs along with associated objects + +fatal: cannot specify pathnames with --stdin +ok 58 - --stdin -z with superfluous arg with -v -n -'git help -a' and 'git help -g' list available subcommands and some -concept guides. See 'git help ' or 'git help ' -to read about a specific subcommand or concept. -See 'git help git' for an overview of the system. -ok 10 - onbranch config outside of git repo +expecting success of 0008.59 '--stdin -z with superfluous arg with -v --non-matching': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -# still have 2 known breakage(s) -# passed all remaining 8 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1305-config-include.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/.git/ -expecting success of 1305.1 'include file by absolute path': - echo "[test]one = 1" >one && - echo "[include]path = \"$(pwd)/one\"" >.gitconfig && - echo 1 >expect && - git config test.one >actual && - test_cmp expect actual + +fatal: cannot specify pathnames with --stdin +ok 59 - --stdin -z with superfluous arg with -v --non-matching -ok 1 - include file by absolute path +expecting success of 0008.60 '--stdin -z with superfluous arg with --verbose': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1305.2 'include file by relative path': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - echo 1 >expect && - git config test.one >actual && - test_cmp expect actual + +fatal: cannot specify pathnames with --stdin +ok 60 - --stdin -z with superfluous arg with --verbose -ok 2 - include file by relative path +expecting success of 0008.61 '--stdin -z with superfluous arg with --verbose -n': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1305.3 'chained relative paths': - mkdir subdir && - echo "[test]three = 3" >subdir/three && - echo "[include]path = three" >subdir/two && - echo "[include]path = subdir/two" >.gitconfig && - echo 3 >expect && - git config test.three >actual && - test_cmp expect actual + +fatal: cannot specify pathnames with --stdin +ok 61 - --stdin -z with superfluous arg with --verbose -n -ok 3 - chained relative paths +expecting success of 0008.62 '--stdin -z with superfluous arg with --verbose --non-matching': + expect '' && + + test_check_ignore "--stdin -z foo" 128 && + stderr_contains "fatal: cannot specify pathnames with --stdin" -expecting success of 1305.4 'include paths get tilde-expansion': - echo "[test]one = 1" >one && - echo "[include]path = ~/one" >.gitconfig && - echo 1 >expect && - git config test.one >actual && - test_cmp expect actual + +fatal: cannot specify pathnames with --stdin +ok 62 - --stdin -z with superfluous arg with --verbose --non-matching -ok 4 - include paths get tilde-expansion +expecting success of 0008.63 '-z without --stdin': + expect "$expect" && + eval "$code" + +fatal: -z only makes sense with --stdin +ok 63 - -z without --stdin -expecting success of 1305.5 'include options can still be examined': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - echo one >expect && - git config include.path >actual && - test_cmp expect actual +expecting success of 0008.64 '-z without --stdin with -q': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 5 - include options can still be examined + +fatal: -z only makes sense with --stdin +ok 64 - -z without --stdin with -q -expecting success of 1305.6 'listing includes option and expansion': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - cat >expect <<-\EOF && - include.path=one - test.one=1 - EOF - git config --list >actual.full && - grep -v -e ^core -e ^extensions actual.full >actual && - test_cmp expect actual +expecting success of 0008.65 '-z without --stdin with --quiet': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 6 - listing includes option and expansion + +fatal: -z only makes sense with --stdin +ok 65 - -z without --stdin with --quiet -expecting success of 1305.7 'single file lookup does not expand includes by default': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - test_must_fail git config -f .gitconfig test.one && - test_must_fail git config --global test.one && - echo 1 >expect && - git config --includes -f .gitconfig test.one >actual && - test_cmp expect actual +expecting success of 0008.66 '-z without --stdin with -v': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 7 - single file lookup does not expand includes by default + +fatal: -z only makes sense with --stdin +ok 66 - -z without --stdin with -v -expecting success of 1305.8 'single file list does not expand includes by default': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - echo "include.path=one" >expect && - git config -f .gitconfig --list >actual && - test_cmp expect actual +expecting success of 0008.67 '-z without --stdin with -v -n': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 8 - single file list does not expand includes by default + +fatal: -z only makes sense with --stdin +ok 67 - -z without --stdin with -v -n -expecting success of 1305.9 'writing config file does not expand includes': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - git config test.two 2 && - echo 2 >expect && - git config --no-includes test.two >actual && - test_cmp expect actual && - test_must_fail git config --no-includes test.one +expecting success of 0008.68 '-z without --stdin with -v --non-matching': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 9 - writing config file does not expand includes + +fatal: -z only makes sense with --stdin +ok 68 - -z without --stdin with -v --non-matching -expecting success of 1305.10 'config modification does not affect includes': - echo "[test]one = 1" >one && - echo "[include]path = one" >.gitconfig && - git config test.one 2 && - echo 1 >expect && - git config -f one test.one >actual && - test_cmp expect actual && - cat >expect <<-\EOF && - 1 - 2 - EOF - git config --get-all test.one >actual && - test_cmp expect actual +expecting success of 0008.69 '-z without --stdin with --verbose': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 10 - config modification does not affect includes + +fatal: -z only makes sense with --stdin +ok 69 - -z without --stdin with --verbose -expecting success of 1305.11 'missing include files are ignored': - cat >.gitconfig <<-\EOF && - [include]path = non-existent - [test]value = yes - EOF - echo yes >expect && - git config test.value >actual && - test_cmp expect actual +expecting success of 0008.70 '-z without --stdin with --verbose -n': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 11 - missing include files are ignored + +fatal: -z only makes sense with --stdin +ok 70 - -z without --stdin with --verbose -n -expecting success of 1305.12 'absolute includes from command line work': - echo "[test]one = 1" >one && - echo 1 >expect && - git -c include.path="$(pwd)/one" config test.one >actual && - test_cmp expect actual +expecting success of 0008.71 '-z without --stdin with --verbose --non-matching': + expect '' && + + test_check_ignore "-z" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -ok 12 - absolute includes from command line work + +fatal: -z only makes sense with --stdin +ok 71 - -z without --stdin with --verbose --non-matching -expecting success of 1305.13 'relative includes from command line fail': - echo "[test]one = 1" >one && - test_must_fail git -c include.path=one config test.one +expecting success of 0008.72 '-z without --stdin and superfluous arg': + expect "$expect" && + eval "$code" + +fatal: -z only makes sense with --stdin +ok 72 - -z without --stdin and superfluous arg -error: relative config includes must come from files -fatal: unable to parse command-line config -ok 13 - relative includes from command line fail +expecting success of 0008.73 '-z without --stdin and superfluous arg with -q': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.14 'absolute includes from blobs work': - echo "[test]one = 1" >one && - echo "[include]path=$(pwd)/one" >blob && - blob=$(git hash-object -w blob) && - echo 1 >expect && - git config --blob=$blob test.one >actual && - test_cmp expect actual + +fatal: -z only makes sense with --stdin +ok 73 - -z without --stdin and superfluous arg with -q -ok 14 - absolute includes from blobs work +expecting success of 0008.74 '-z without --stdin and superfluous arg with --quiet': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.15 'relative includes from blobs fail': - echo "[test]one = 1" >one && - echo "[include]path=one" >blob && - blob=$(git hash-object -w blob) && - test_must_fail git config --blob=$blob test.one + +fatal: -z only makes sense with --stdin +ok 74 - -z without --stdin and superfluous arg with --quiet -error: relative config includes must come from files -error: bad config line 1 in blob d085876092eb24c144128bcd5db5d26e665f4f8a -ok 15 - relative includes from blobs fail +expecting success of 0008.75 '-z without --stdin and superfluous arg with -v': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.16 'absolute includes from stdin work': - echo "[test]one = 1" >one && - echo 1 >expect && - echo "[include]path=\"$(pwd)/one\"" | - git config --file - test.one >actual && - test_cmp expect actual + +fatal: -z only makes sense with --stdin +ok 75 - -z without --stdin and superfluous arg with -v -ok 16 - absolute includes from stdin work +expecting success of 0008.76 '-z without --stdin and superfluous arg with -v -n': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.17 'relative includes from stdin line fail': - echo "[test]one = 1" >one && - echo "[include]path=one" | - test_must_fail git config --file - test.one + +fatal: -z only makes sense with --stdin +ok 76 - -z without --stdin and superfluous arg with -v -n -error: relative config includes must come from files -fatal: bad config line 1 in standard input -ok 17 - relative includes from stdin line fail +expecting success of 0008.77 '-z without --stdin and superfluous arg with -v --non-matching': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.18 'conditional include, both unanchored': - git init foo && - ( - cd foo && - echo "[includeIf \"gitdir:foo/\"]path=bar" >>.git/config && - echo "[test]one=1" >.git/bar && - echo 1 >expect && - git config test.one >actual && - test_cmp expect actual - ) + +fatal: -z only makes sense with --stdin +ok 77 - -z without --stdin and superfluous arg with -v --non-matching -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/foo/.git/ -ok 18 - conditional include, both unanchored +expecting success of 0008.78 '-z without --stdin and superfluous arg with --verbose': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.19 'conditional include, $HOME expansion': - ( - cd foo && - echo "[includeIf \"gitdir:~/foo/\"]path=bar2" >>.git/config && - echo "[test]two=2" >.git/bar2 && - echo 2 >expect && - git config test.two >actual && - test_cmp expect actual - ) + +fatal: -z only makes sense with --stdin +ok 78 - -z without --stdin and superfluous arg with --verbose -ok 19 - conditional include, $HOME expansion +expecting success of 0008.79 '-z without --stdin and superfluous arg with --verbose -n': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.20 'conditional include, full pattern': - ( - cd foo && - echo "[includeIf \"gitdir:**/foo/**\"]path=bar3" >>.git/config && - echo "[test]three=3" >.git/bar3 && - echo 3 >expect && - git config test.three >actual && - test_cmp expect actual - ) + +fatal: -z only makes sense with --stdin +ok 79 - -z without --stdin and superfluous arg with --verbose -n -ok 20 - conditional include, full pattern +expecting success of 0008.80 '-z without --stdin and superfluous arg with --verbose --non-matching': + expect '' && + + test_check_ignore "-z foo" 128 && + stderr_contains "fatal: -z only makes sense with --stdin" -expecting success of 1305.21 'conditional include, relative path': - echo "[includeIf \"gitdir:./foo/.git\"]path=bar4" >>.gitconfig && - echo "[test]four=4" >bar4 && - ( - cd foo && - echo 4 >expect && - git config test.four >actual && - test_cmp expect actual - ) + +fatal: -z only makes sense with --stdin +ok 80 - -z without --stdin and superfluous arg with --verbose --non-matching -ok 21 - conditional include, relative path +expecting success of 0008.81 'needs work tree': + expect "$expect" && + eval "$code" + +fatal: this operation must be run in a work tree +ok 81 - needs work tree -expecting success of 1305.22 'conditional include, both unanchored, icase': +expecting success of 0008.82 'needs work tree with -q': + expect '' && + ( - cd foo && - echo "[includeIf \"gitdir/i:FOO/\"]path=bar5" >>.git/config && - echo "[test]five=5" >.git/bar5 && - echo 5 >expect && - git config test.five >actual && - test_cmp expect actual - ) + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -ok 22 - conditional include, both unanchored, icase + +fatal: this operation must be run in a work tree +ok 82 - needs work tree with -q -expecting success of 1305.23 'conditional include, early config reading': +expecting success of 0008.83 'needs work tree with --quiet': + expect '' && + ( - cd foo && - echo "[includeIf \"gitdir:foo/\"]path=bar6" >>.git/config && - echo "[test]six=6" >.git/bar6 && - echo 6 >expect && - test-tool config read_early_config test.six >actual && - test_cmp expect actual - ) - -ok 23 - conditional include, early config reading - -expecting success of 1305.24 'conditional include with /**/': - REPO=foo/bar/repo && - git init $REPO && - cat >>$REPO/.git/config <<-\EOF && - [includeIf "gitdir:**/foo/**/bar/**"] - path=bar7 - EOF - echo "[test]seven=7" >$REPO/.git/bar7 && - echo 7 >expect && - git -C $REPO config test.seven >actual && - test_cmp expect actual + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/foo/bar/repo/.git/ -ok 24 - conditional include with /**/ + +fatal: this operation must be run in a work tree +ok 83 - needs work tree with --quiet -checking prerequisite: SYMLINKS +expecting success of 0008.84 'needs work tree with -v': + expect '' && + + ( + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y + +fatal: this operation must be run in a work tree +ok 84 - needs work tree with -v -) -prerequisite SYMLINKS ok -expecting success of 1305.25 'conditional include, set up symlinked $HOME': - mkdir real-home && - ln -s real-home home && +expecting success of 0008.85 'needs work tree with -v -n': + expect '' && + ( - HOME="$TRASH_DIRECTORY/home" && - export HOME && - cd "$HOME" && - - git init foo && - cd foo && - mkdir sub - ) + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/real-home/foo/.git/ -ok 25 - conditional include, set up symlinked $HOME + +fatal: this operation must be run in a work tree +ok 85 - needs work tree with -v -n -expecting success of 1305.26 'conditional include, $HOME expansion with symlinks': +expecting success of 0008.86 'needs work tree with -v --non-matching': + expect '' && + ( - HOME="$TRASH_DIRECTORY/home" && - export HOME && - cd "$HOME"/foo && - - echo "[includeIf \"gitdir:~/foo/\"]path=bar2" >>.git/config && - echo "[test]two=2" >.git/bar2 && - echo 2 >expect && - force_setup_explicit_git_dir && - git -C sub config test.two >actual && - test_cmp expect actual - ) + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -ok 26 - conditional include, $HOME expansion with symlinks + +fatal: this operation must be run in a work tree +ok 86 - needs work tree with -v --non-matching -expecting success of 1305.27 'conditional include, relative path with symlinks': - echo "[includeIf \"gitdir:./foo/.git\"]path=bar4" >home/.gitconfig && - echo "[test]four=4" >home/bar4 && +expecting success of 0008.87 'needs work tree with --verbose': + expect '' && + ( - HOME="$TRASH_DIRECTORY/home" && - export HOME && - cd "$HOME"/foo && - - echo 4 >expect && - force_setup_explicit_git_dir && - git -C sub config test.four >actual && - test_cmp expect actual - ) + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -ok 27 - conditional include, relative path with symlinks + +fatal: this operation must be run in a work tree +ok 87 - needs work tree with --verbose -expecting success of 1305.28 'conditional include, gitdir matching symlink': - ln -s foo bar && +expecting success of 0008.88 'needs work tree with --verbose -n': + expect '' && + ( - cd bar && - echo "[includeIf \"gitdir:bar/\"]path=bar7" >>.git/config && - echo "[test]seven=7" >.git/bar7 && - echo 7 >expect && - git config test.seven >actual && - test_cmp expect actual - ) + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -ok 28 - conditional include, gitdir matching symlink + +fatal: this operation must be run in a work tree +ok 88 - needs work tree with --verbose -n -expecting success of 1305.29 'conditional include, gitdir matching symlink, icase': +expecting success of 0008.89 'needs work tree with --verbose --non-matching': + expect '' && + ( - cd bar && - echo "[includeIf \"gitdir/i:BAR/\"]path=bar8" >>.git/config && - echo "[test]eight=8" >.git/bar8 && - echo 8 >expect && - git config test.eight >actual && - test_cmp expect actual - ) + cd .git && + test_check_ignore "foo" 128 + ) && + stderr_contains "fatal: this operation must be run in a work tree" -ok 29 - conditional include, gitdir matching symlink, icase + +fatal: this operation must be run in a work tree +ok 89 - needs work tree with --verbose --non-matching -expecting success of 1305.30 'conditional include, onbranch': - echo "[includeIf \"onbranch:foo-branch\"]path=bar9" >>.git/config && - echo "[test]nine=9" >.git/bar9 && - git checkout -b master && - test_must_fail git config test.nine && - git checkout -b foo-branch && - echo 9 >expect && - git config test.nine >actual && - test_cmp expect actual +expecting success of 0008.90 'non-existent file at top-level not ignored': + expect "$expect" && + eval "$code" + +ok 90 - non-existent file at top-level not ignored -Switched to a new branch 'master' -Switched to a new branch 'foo-branch' -ok 30 - conditional include, onbranch +expecting success of 0008.91 'non-existent file at top-level not ignored with -q': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 91 - non-existent file at top-level not ignored with -q -expecting success of 1305.31 'conditional include, onbranch, wildcard': - echo "[includeIf \"onbranch:?oo-*/**\"]path=bar10" >>.git/config && - echo "[test]ten=10" >.git/bar10 && - git checkout -b not-foo-branch/a && - test_must_fail git config test.ten && +expecting success of 0008.92 'non-existent file at top-level not ignored with --quiet': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 92 - non-existent file at top-level not ignored with --quiet - echo 10 >expect && - git checkout -b foo-branch/a/b/c && - git config test.ten >actual && - test_cmp expect actual && +expecting success of 0008.93 'non-existent file at top-level not ignored with -v': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 93 - non-existent file at top-level not ignored with -v - git checkout -b moo-bar/a && - git config test.ten >actual && - test_cmp expect actual +expecting success of 0008.94 'non-existent file at top-level not ignored with -v -n': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 94 - non-existent file at top-level not ignored with -v -n -Switched to a new branch 'not-foo-branch/a' -Switched to a new branch 'foo-branch/a/b/c' -Switched to a new branch 'moo-bar/a' -ok 31 - conditional include, onbranch, wildcard +expecting success of 0008.95 'non-existent file at top-level not ignored with -v --non-matching': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 95 - non-existent file at top-level not ignored with -v --non-matching -expecting success of 1305.32 'conditional include, onbranch, implicit /** for /': - echo "[includeIf \"onbranch:foo-dir/\"]path=bar11" >>.git/config && - echo "[test]eleven=11" >.git/bar11 && - git checkout -b not-foo-dir/a && - test_must_fail git config test.eleven && +expecting success of 0008.96 'non-existent file at top-level not ignored with --verbose': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 96 - non-existent file at top-level not ignored with --verbose - echo 11 >expect && - git checkout -b foo-dir/a/b/c && - git config test.eleven >actual && - test_cmp expect actual +expecting success of 0008.97 'non-existent file at top-level not ignored with --verbose -n': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 97 - non-existent file at top-level not ignored with --verbose -n -Switched to a new branch 'not-foo-dir/a' -Switched to a new branch 'foo-dir/a/b/c' -ok 32 - conditional include, onbranch, implicit /** for / +expecting success of 0008.98 'non-existent file at top-level not ignored with --verbose --non-matching': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 98 - non-existent file at top-level not ignored with --verbose --non-matching -expecting success of 1305.33 'include cycles are detected': - git init --bare cycle && - git -C cycle config include.path cycle && - git config -f cycle/cycle include.path config && - test_must_fail \ - env GIT_TEST_GETTEXT_POISON=false \ - git -C cycle config --get-all test.value 2>stderr && - grep "exceeded maximum include depth" stderr +expecting success of 0008.99 'non-existent file at top-level not ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 99 - non-existent file at top-level not ignored with --no-index -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/cycle/ -fatal: exceeded maximum include depth (10) while including -ok 33 - include cycles are detected +expecting success of 0008.100 'non-existent file at top-level not ignored with --no-index -q': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 100 - non-existent file at top-level not ignored with --no-index -q -# passed all 33 test(s) -1..33 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1350-config-hooks-path.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1350-config-hooks-path/.git/ -expecting success of 1350.1 'set up a pre-commit hook in core.hooksPath': - mkdir -p .git/custom-hooks .git/hooks && - write_script .git/custom-hooks/pre-commit <<-\EOF && - echo CUSTOM >>actual - EOF - write_script .git/hooks/pre-commit <<-\EOF - echo NORMAL >>actual - EOF +expecting success of 0008.101 'non-existent file at top-level not ignored with --no-index --quiet': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 101 - non-existent file at top-level not ignored with --no-index --quiet -ok 1 - set up a pre-commit hook in core.hooksPath +expecting success of 0008.102 'non-existent file at top-level not ignored with --no-index -v': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 102 - non-existent file at top-level not ignored with --no-index -v -expecting success of 1350.2 'Check that various forms of specifying core.hooksPath work': - test_commit no_custom_hook && - git config core.hooksPath .git/custom-hooks && - test_commit have_custom_hook && - git config core.hooksPath .git/custom-hooks/ && - test_commit have_custom_hook_trailing_slash && - git config core.hooksPath "$PWD/.git/custom-hooks" && - test_commit have_custom_hook_abs_path && - git config core.hooksPath "$PWD/.git/custom-hooks/" && - test_commit have_custom_hook_abs_path_trailing_slash && - cat >expect <<-\EOF && - NORMAL - CUSTOM - CUSTOM - CUSTOM - CUSTOM - EOF - test_cmp expect actual +expecting success of 0008.103 'non-existent file at top-level not ignored with --no-index -v -n': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 103 - non-existent file at top-level not ignored with --no-index -v -n -[master (root-commit) 51fec20] no_custom_hook - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 no_custom_hook.t -[master d6f765a] have_custom_hook - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 have_custom_hook.t -[master c8447a6] have_custom_hook_trailing_slash - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 have_custom_hook_trailing_slash.t -[master acc1a92] have_custom_hook_abs_path - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 have_custom_hook_abs_path.t -[master 3a47fb1] have_custom_hook_abs_path_trailing_slash - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 have_custom_hook_abs_path_trailing_slash.t -ok 2 - Check that various forms of specifying core.hooksPath work +expecting success of 0008.104 'non-existent file at top-level not ignored with --no-index -v --non-matching': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 104 - non-existent file at top-level not ignored with --no-index -v --non-matching -expecting success of 1350.3 'git rev-parse --git-path hooks': - git config core.hooksPath .git/custom-hooks && - git rev-parse --git-path hooks/abc >actual && - test .git/custom-hooks/abc = "$(cat actual)" +expecting success of 0008.105 'non-existent file at top-level not ignored with --no-index --verbose': + expect '' && + test_check_ignore 'non-existent' 1 + +ok 105 - non-existent file at top-level not ignored with --no-index --verbose -ok 3 - git rev-parse --git-path hooks +expecting success of 0008.106 'non-existent file at top-level not ignored with --no-index --verbose -n': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 106 - non-existent file at top-level not ignored with --no-index --verbose -n -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1308-config-set.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1308-config-set/.git/ -expecting success of 1308.1 'setup default config': - cat >.git/config <<-\EOF - [case] - penguin = very blue - Movie = BadPhysics - UPPERCASE = true - MixedCase = true - my = - foo - baz = sam - [Cores] - WhatEver = Second - baz = bar - [cores] - baz = bat - [CORES] - baz = ball - [my "Foo bAr"] - hi = mixed-case - [my "FOO BAR"] - hi = upper-case - [my "foo bar"] - hi = lower-case - [case] - baz = bat - baz = hask - [lamb] - chop = 65 - head = none - [goat] - legs = 4 - head = true - skin = false - nose = 1 - horns - EOF +expecting success of 0008.107 'non-existent file at top-level not ignored with --no-index --verbose --non-matching': + expect ':: non-existent' && + test_check_ignore 'non-existent' 1 + +ok 107 - non-existent file at top-level not ignored with --no-index --verbose --non-matching -ok 1 - setup default config +expecting success of 0008.108 'non-existent file at top-level ignored': + expect "$expect" && + eval "$code" + +ok 108 - non-existent file at top-level ignored -expecting success of 1308.2 'get value for a simple key': - check_config get_value case.penguin "very blue" +expecting success of 0008.109 'non-existent file at top-level ignored with -q': + expect '' && + test_check_ignore 'one' + +ok 109 - non-existent file at top-level ignored with -q -ok 2 - get value for a simple key +expecting success of 0008.110 'non-existent file at top-level ignored with --quiet': + expect '' && + test_check_ignore 'one' + +ok 110 - non-existent file at top-level ignored with --quiet -expecting success of 1308.3 'get value for a key with value as an empty string': - check_config get_value case.my "" +expecting success of 0008.111 'non-existent file at top-level ignored with -v': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 111 - non-existent file at top-level ignored with -v -ok 3 - get value for a key with value as an empty string +expecting success of 0008.112 'non-existent file at top-level ignored with -v -n': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 112 - non-existent file at top-level ignored with -v -n -expecting success of 1308.4 'get value for a key with value as NULL': - check_config get_value case.foo "(NULL)" +expecting success of 0008.113 'non-existent file at top-level ignored with -v --non-matching': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 113 - non-existent file at top-level ignored with -v --non-matching -ok 4 - get value for a key with value as NULL +expecting success of 0008.114 'non-existent file at top-level ignored with --verbose': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 114 - non-existent file at top-level ignored with --verbose -expecting success of 1308.5 'upper case key': - check_config get_value case.UPPERCASE "true" && - check_config get_value case.uppercase "true" +expecting success of 0008.115 'non-existent file at top-level ignored with --verbose -n': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 115 - non-existent file at top-level ignored with --verbose -n -ok 5 - upper case key +expecting success of 0008.116 'non-existent file at top-level ignored with --verbose --non-matching': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 116 - non-existent file at top-level ignored with --verbose --non-matching -expecting success of 1308.6 'mixed case key': - check_config get_value case.MixedCase "true" && - check_config get_value case.MIXEDCASE "true" && - check_config get_value case.mixedcase "true" +expecting success of 0008.117 'non-existent file at top-level ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 117 - non-existent file at top-level ignored with --no-index -ok 6 - mixed case key +expecting success of 0008.118 'non-existent file at top-level ignored with --no-index -q': + expect '' && + test_check_ignore 'one' + +ok 118 - non-existent file at top-level ignored with --no-index -q -expecting success of 1308.7 'key and value with mixed case': - check_config get_value case.Movie "BadPhysics" +expecting success of 0008.119 'non-existent file at top-level ignored with --no-index --quiet': + expect '' && + test_check_ignore 'one' + +ok 119 - non-existent file at top-level ignored with --no-index --quiet -ok 7 - key and value with mixed case +expecting success of 0008.120 'non-existent file at top-level ignored with --no-index -v': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 120 - non-existent file at top-level ignored with --no-index -v -expecting success of 1308.8 'key with case sensitive subsection': - check_config get_value "my.Foo bAr.hi" "mixed-case" && - check_config get_value "my.FOO BAR.hi" "upper-case" && - check_config get_value "my.foo bar.hi" "lower-case" +expecting success of 0008.121 'non-existent file at top-level ignored with --no-index -v -n': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 121 - non-existent file at top-level ignored with --no-index -v -n -ok 8 - key with case sensitive subsection +expecting success of 0008.122 'non-existent file at top-level ignored with --no-index -v --non-matching': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 122 - non-existent file at top-level ignored with --no-index -v --non-matching -expecting success of 1308.9 'key with case insensitive section header': - check_config get_value cores.baz "ball" && - check_config get_value Cores.baz "ball" && - check_config get_value CORES.baz "ball" && - check_config get_value coreS.baz "ball" +expecting success of 0008.123 'non-existent file at top-level ignored with --no-index --verbose': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 123 - non-existent file at top-level ignored with --no-index --verbose -ok 9 - key with case insensitive section header +expecting success of 0008.124 'non-existent file at top-level ignored with --no-index --verbose -n': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 124 - non-existent file at top-level ignored with --no-index --verbose -n -expecting success of 1308.10 'key with case insensitive section header & variable': - check_config get_value CORES.BAZ "ball" && - check_config get_value cores.baz "ball" && - check_config get_value cores.BaZ "ball" && - check_config get_value cOreS.bAz "ball" +expecting success of 0008.125 'non-existent file at top-level ignored with --no-index --verbose --non-matching': + expect '.gitignore:1:one one' && + test_check_ignore 'one' + +ok 125 - non-existent file at top-level ignored with --no-index --verbose --non-matching -ok 10 - key with case insensitive section header & variable +expecting success of 0008.126 'existing untracked file at top-level not ignored': + expect "$expect" && + eval "$code" + +ok 126 - existing untracked file at top-level not ignored -expecting success of 1308.11 'find value with misspelled key': - check_config expect_code 1 get_value "my.fOo Bar.hi" "Value not found for \"my.fOo Bar.hi\"" +expecting success of 0008.127 'existing untracked file at top-level not ignored with -q': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 127 - existing untracked file at top-level not ignored with -q -ok 11 - find value with misspelled key +expecting success of 0008.128 'existing untracked file at top-level not ignored with --quiet': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 128 - existing untracked file at top-level not ignored with --quiet -expecting success of 1308.12 'find value with the highest priority': - check_config get_value case.baz "hask" +expecting success of 0008.129 'existing untracked file at top-level not ignored with -v': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 129 - existing untracked file at top-level not ignored with -v -ok 12 - find value with the highest priority +expecting success of 0008.130 'existing untracked file at top-level not ignored with -v -n': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 130 - existing untracked file at top-level not ignored with -v -n -expecting success of 1308.13 'find integer value for a key': - check_config get_int lamb.chop 65 +expecting success of 0008.131 'existing untracked file at top-level not ignored with -v --non-matching': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 131 - existing untracked file at top-level not ignored with -v --non-matching -ok 13 - find integer value for a key +expecting success of 0008.132 'existing untracked file at top-level not ignored with --verbose': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 132 - existing untracked file at top-level not ignored with --verbose -expecting success of 1308.14 'find string value for a key': - check_config get_string case.baz hask && - check_config expect_code 1 get_string case.ba "Value not found for \"case.ba\"" +expecting success of 0008.133 'existing untracked file at top-level not ignored with --verbose -n': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 133 - existing untracked file at top-level not ignored with --verbose -n -ok 14 - find string value for a key +expecting success of 0008.134 'existing untracked file at top-level not ignored with --verbose --non-matching': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 134 - existing untracked file at top-level not ignored with --verbose --non-matching -expecting success of 1308.15 'check line error when NULL string is queried': - test_expect_code 128 test-tool config get_string case.foo 2>result && - test_i18ngrep "fatal: .*case\.foo.*\.git/config.*line 7" result +expecting success of 0008.135 'existing untracked file at top-level not ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 135 - existing untracked file at top-level not ignored with --no-index -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0008.136 'existing untracked file at top-level not ignored with --no-index -q': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 136 - existing untracked file at top-level not ignored with --no-index -q -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0008.137 'existing untracked file at top-level not ignored with --no-index --quiet': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 137 - existing untracked file at top-level not ignored with --no-index --quiet -) -prerequisite C_LOCALE_OUTPUT ok -fatal: bad config variable 'case.foo' in file '.git/config' at line 7 -ok 15 - check line error when NULL string is queried +expecting success of 0008.138 'existing untracked file at top-level not ignored with --no-index -v': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 138 - existing untracked file at top-level not ignored with --no-index -v -expecting success of 1308.16 'find integer if value is non parse-able': - check_config expect_code 128 get_int lamb.head +expecting success of 0008.139 'existing untracked file at top-level not ignored with --no-index -v -n': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 139 - existing untracked file at top-level not ignored with --no-index -v -n -fatal: bad numeric config value 'none' for 'lamb.head': invalid unit -ok 16 - find integer if value is non parse-able +expecting success of 0008.140 'existing untracked file at top-level not ignored with --no-index -v --non-matching': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 140 - existing untracked file at top-level not ignored with --no-index -v --non-matching -expecting success of 1308.17 'find bool value for the entered key': - check_config get_bool goat.head 1 && - check_config get_bool goat.skin 0 && - check_config get_bool goat.nose 1 && - check_config get_bool goat.horns 1 && - check_config get_bool goat.legs 1 +expecting success of 0008.141 'existing untracked file at top-level not ignored with --no-index --verbose': + expect '' && + test_check_ignore 'not-ignored' 1 + +ok 141 - existing untracked file at top-level not ignored with --no-index --verbose -ok 17 - find bool value for the entered key +expecting success of 0008.142 'existing untracked file at top-level not ignored with --no-index --verbose -n': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 142 - existing untracked file at top-level not ignored with --no-index --verbose -n -expecting success of 1308.18 'find multiple values': - check_config get_value_multi case.baz sam bat hask +expecting success of 0008.143 'existing untracked file at top-level not ignored with --no-index --verbose --non-matching': + expect ':: not-ignored' && + test_check_ignore 'not-ignored' 1 + +ok 143 - existing untracked file at top-level not ignored with --no-index --verbose --non-matching -ok 18 - find multiple values +expecting success of 0008.144 'existing tracked file at top-level not ignored': + expect "$expect" && + eval "$code" + +ok 144 - existing tracked file at top-level not ignored -expecting success of 1308.19 'find value from a configset': - cat >config2 <<-\EOF && - [case] - baz = lama - [my] - new = silk - [case] - baz = ball - EOF - echo silk >expect && - test-tool config configset_get_value my.new config2 .git/config >actual && - test_cmp expect actual +expecting success of 0008.145 'existing tracked file at top-level not ignored with -q': + expect '' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 145 - existing tracked file at top-level not ignored with -q -ok 19 - find value from a configset +expecting success of 0008.146 'existing tracked file at top-level not ignored with --quiet': + expect '' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 146 - existing tracked file at top-level not ignored with --quiet -expecting success of 1308.20 'find value with highest priority from a configset': - echo hask >expect && - test-tool config configset_get_value case.baz config2 .git/config >actual && - test_cmp expect actual +expecting success of 0008.147 'existing tracked file at top-level not ignored with -v': + expect '' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 147 - existing tracked file at top-level not ignored with -v -ok 20 - find value with highest priority from a configset +expecting success of 0008.148 'existing tracked file at top-level not ignored with -v -n': + expect ':: ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 148 - existing tracked file at top-level not ignored with -v -n -expecting success of 1308.21 'find value_list for a key from a configset': - cat >expect <<-\EOF && - lama - ball - sam - bat - hask - EOF - test-tool config configset_get_value_multi case.baz config2 .git/config >actual && - test_cmp expect actual +expecting success of 0008.149 'existing tracked file at top-level not ignored with -v --non-matching': + expect ':: ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 149 - existing tracked file at top-level not ignored with -v --non-matching -ok 21 - find value_list for a key from a configset +expecting success of 0008.150 'existing tracked file at top-level not ignored with --verbose': + expect '' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 150 - existing tracked file at top-level not ignored with --verbose -expecting success of 1308.22 'proper error on non-existent files': - echo "Error (-1) reading configuration file non-existent-file." >expect && - test_expect_code 2 test-tool config configset_get_value foo.bar non-existent-file 2>actual && - test_cmp expect actual +expecting success of 0008.151 'existing tracked file at top-level not ignored with --verbose -n': + expect ':: ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 151 - existing tracked file at top-level not ignored with --verbose -n -ok 22 - proper error on non-existent files +expecting success of 0008.152 'existing tracked file at top-level not ignored with --verbose --non-matching': + expect ':: ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' 1 + +ok 152 - existing tracked file at top-level not ignored with --verbose --non-matching -expecting success of 1308.23 'proper error on directory "files"': - echo "Error (-1) reading configuration file a-directory." >expect && - mkdir a-directory && - test_expect_code 2 test-tool config configset_get_value foo.bar a-directory 2>output && - grep "^warning:" output && - grep "^Error" output >actual && - test_cmp expect actual +expecting success of 0008.153 'existing tracked file at top-level shown as ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 153 - existing tracked file at top-level shown as ignored with --no-index -warning: unable to access 'a-directory': Is a directory -ok 23 - proper error on directory "files" +expecting success of 0008.154 'existing tracked file at top-level shown as ignored with --no-index -q': + expect '' && + test_check_ignore 'ignored-but-in-index' + +ok 154 - existing tracked file at top-level shown as ignored with --no-index -q -checking prerequisite: SANITY +expecting success of 0008.155 'existing tracked file at top-level shown as ignored with --no-index --quiet': + expect '' && + test_check_ignore 'ignored-but-in-index' + +ok 155 - existing tracked file at top-level shown as ignored with --no-index --quiet -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && +expecting success of 0008.156 'existing tracked file at top-level shown as ignored with --no-index -v': + expect '.gitignore:2:ignored-* ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' + +ok 156 - existing tracked file at top-level shown as ignored with --no-index -v - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" +expecting success of 0008.157 'existing tracked file at top-level shown as ignored with --no-index -v -n': + expect '.gitignore:2:ignored-* ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' + +ok 157 - existing tracked file at top-level shown as ignored with --no-index -v -n - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? +expecting success of 0008.158 'existing tracked file at top-level shown as ignored with --no-index -v --non-matching': + expect '.gitignore:2:ignored-* ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' + +ok 158 - existing tracked file at top-level shown as ignored with --no-index -v --non-matching - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status +expecting success of 0008.159 'existing tracked file at top-level shown as ignored with --no-index --verbose': + expect '.gitignore:2:ignored-* ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' + +ok 159 - existing tracked file at top-level shown as ignored with --no-index --verbose -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 1308.24 'proper error on non-accessible files': - chmod -r .git/config && - test_when_finished "chmod +r .git/config" && - echo "Error (-1) reading configuration file .git/config." >expect && - test_expect_code 2 test-tool config configset_get_value foo.bar .git/config 2>output && - grep "^warning:" output && - grep "^Error" output >actual && - test_cmp expect actual +expecting success of 0008.160 'existing tracked file at top-level shown as ignored with --no-index --verbose -n': + expect '.gitignore:2:ignored-* ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' + +ok 160 - existing tracked file at top-level shown as ignored with --no-index --verbose -n -warning: unable to access '.git/config': Permission denied -warning: unable to access '.git/config': Permission denied -ok 24 - proper error on non-accessible files +expecting success of 0008.161 'existing tracked file at top-level shown as ignored with --no-index --verbose --non-matching': + expect '.gitignore:2:ignored-* ignored-but-in-index' && + test_check_ignore 'ignored-but-in-index' + +ok 161 - existing tracked file at top-level shown as ignored with --no-index --verbose --non-matching -expecting success of 1308.25 'proper error on error in default config files': - cp .git/config .git/config.old && - test_when_finished "mv .git/config.old .git/config" && - echo "[" >>.git/config && - echo "fatal: bad config line 34 in file .git/config" >expect && - test_expect_code 128 test-tool config get_value foo.bar 2>actual && - test_i18ncmp expect actual +expecting success of 0008.162 'existing untracked file at top-level ignored': + expect "$expect" && + eval "$code" + +ok 162 - existing untracked file at top-level ignored -ok 25 - proper error on error in default config files +expecting success of 0008.163 'existing untracked file at top-level ignored with -q': + expect '' && + test_check_ignore 'ignored-and-untracked' + +ok 163 - existing untracked file at top-level ignored with -q -expecting success of 1308.26 'proper error on error in custom config files': - echo "[" >>syntax-error && - echo "fatal: bad config line 1 in file syntax-error" >expect && - test_expect_code 128 test-tool config configset_get_value foo.bar syntax-error 2>actual && - test_i18ncmp expect actual +expecting success of 0008.164 'existing untracked file at top-level ignored with --quiet': + expect '' && + test_check_ignore 'ignored-and-untracked' + +ok 164 - existing untracked file at top-level ignored with --quiet -ok 26 - proper error on error in custom config files +expecting success of 0008.165 'existing untracked file at top-level ignored with -v': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 165 - existing untracked file at top-level ignored with -v -expecting success of 1308.27 'check line errors for malformed values': - mv .git/config .git/config.old && - test_when_finished "mv .git/config.old .git/config" && - cat >.git/config <<-\EOF && - [alias] - br - EOF - test_expect_code 128 git br 2>result && - test_i18ngrep "missing value for .alias\.br" result && - test_i18ngrep "fatal: .*\.git/config" result && - test_i18ngrep "fatal: .*line 2" result +expecting success of 0008.166 'existing untracked file at top-level ignored with -v -n': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 166 - existing untracked file at top-level ignored with -v -n -error: missing value for 'alias.br' -fatal: bad config line 2 in file .git/config -fatal: bad config line 2 in file .git/config -ok 27 - check line errors for malformed values +expecting success of 0008.167 'existing untracked file at top-level ignored with -v --non-matching': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 167 - existing untracked file at top-level ignored with -v --non-matching -expecting success of 1308.28 'error on modifying repo config without repo': - nongit test_must_fail git config a.b c 2>err && - test_i18ngrep "not in a git directory" err +expecting success of 0008.168 'existing untracked file at top-level ignored with --verbose': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 168 - existing untracked file at top-level ignored with --verbose -fatal: not in a git directory -ok 28 - error on modifying repo config without repo +expecting success of 0008.169 'existing untracked file at top-level ignored with --verbose -n': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 169 - existing untracked file at top-level ignored with --verbose -n -expecting success of 1308.29 'iteration shows correct origins': - printf "[ignore]\n\tthis = please\n[foo]bar = from-repo\n" >.git/config && - printf "[foo]\n\tbar = from-home\n" >.gitconfig && - if test_have_prereq MINGW - then - # Use Windows path (i.e. *not* $HOME) - HOME_GITCONFIG=$(pwd)/.gitconfig - else - # Do not get fooled by symbolic links, i.e. $HOME != $(pwd) - HOME_GITCONFIG=$HOME/.gitconfig - fi && - cat >expect <<-EOF && - key=foo.bar - value=from-home - origin=file - name=$HOME_GITCONFIG - lno=2 - scope=global +expecting success of 0008.170 'existing untracked file at top-level ignored with --verbose --non-matching': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 170 - existing untracked file at top-level ignored with --verbose --non-matching - key=ignore.this - value=please - origin=file - name=.git/config - lno=2 - scope=local +expecting success of 0008.171 'existing untracked file at top-level ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 171 - existing untracked file at top-level ignored with --no-index - key=foo.bar - value=from-repo - origin=file - name=.git/config - lno=3 - scope=local +expecting success of 0008.172 'existing untracked file at top-level ignored with --no-index -q': + expect '' && + test_check_ignore 'ignored-and-untracked' + +ok 172 - existing untracked file at top-level ignored with --no-index -q - key=foo.bar - value=from-cmdline - origin=command line - name= - lno=-1 - scope=command - EOF - GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config iterate >actual && - test_cmp expect actual +expecting success of 0008.173 'existing untracked file at top-level ignored with --no-index --quiet': + expect '' && + test_check_ignore 'ignored-and-untracked' + +ok 173 - existing untracked file at top-level ignored with --no-index --quiet -ok 29 - iteration shows correct origins +expecting success of 0008.174 'existing untracked file at top-level ignored with --no-index -v': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 174 - existing untracked file at top-level ignored with --no-index -v -# passed all 29 test(s) -1..29 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0000-basic.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0000-basic/.git/ -expecting success of 0000.1 'verify that the running shell supports "local"': - x="notlocal" && - y="alsonotlocal" && - echo "local alsolocal" >expected1 && - try_local_xy >actual1 && - test_cmp expected1 actual1 && - echo "notlocal alsonotlocal" >expected2 && - echo "$x $y" >actual2 && - test_cmp expected2 actual2 +expecting success of 0008.175 'existing untracked file at top-level ignored with --no-index -v -n': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 175 - existing untracked file at top-level ignored with --no-index -v -n -ok 1 - verify that the running shell supports "local" +expecting success of 0008.176 'existing untracked file at top-level ignored with --no-index -v --non-matching': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 176 - existing untracked file at top-level ignored with --no-index -v --non-matching -expecting success of 0000.2 '.git/objects should be empty after git init in an empty repo': - find .git/objects -type f -print >should-be-empty && - test_line_count = 0 should-be-empty +expecting success of 0008.177 'existing untracked file at top-level ignored with --no-index --verbose': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 177 - existing untracked file at top-level ignored with --no-index --verbose -ok 2 - .git/objects should be empty after git init in an empty repo +expecting success of 0008.178 'existing untracked file at top-level ignored with --no-index --verbose -n': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 178 - existing untracked file at top-level ignored with --no-index --verbose -n -expecting success of 0000.3 '.git/objects should have 3 subdirectories': - find .git/objects -type d -print >full-of-directories && - test_line_count = 3 full-of-directories +expecting success of 0008.179 'existing untracked file at top-level ignored with --no-index --verbose --non-matching': + expect '.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore 'ignored-and-untracked' + +ok 179 - existing untracked file at top-level ignored with --no-index --verbose --non-matching -ok 3 - .git/objects should have 3 subdirectories +expecting success of 0008.180 'mix of file types at top-level': + expect "$expect" && + eval "$code" + +ok 180 - mix of file types at top-level -expecting success of 0000.4 'success is reported like this': - : +expecting success of 0008.181 'mix of file types at top-level with -v': + expect '.gitignore:1:one one +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 181 - mix of file types at top-level with -v -ok 4 - success is reported like this +expecting success of 0008.182 'mix of file types at top-level with -v -n': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +:: ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 182 - mix of file types at top-level with -v -n -expecting success of 0000.5 'pretend we have a fully passing test suite': - run_sub_test_lib_test full-pass '3 passing tests' <<-\EOF && - for i in 1 2 3 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test full-pass <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 - passing test #3 - > # passed all 3 test(s) - > 1..3 - EOF +expecting success of 0008.183 'mix of file types at top-level with -v --non-matching': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +:: ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 183 - mix of file types at top-level with -v --non-matching -ok 5 - pretend we have a fully passing test suite +expecting success of 0008.184 'mix of file types at top-level with --verbose': + expect '.gitignore:1:one one +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 184 - mix of file types at top-level with --verbose -expecting success of 0000.6 'pretend we have a partially passing test suite': - run_sub_test_lib_test_err partial-pass '2/3 tests passing' <<-\EOF && - test_expect_success 'passing test #1' 'true' - test_expect_success 'failing test #2' 'false' - test_expect_success 'passing test #3' 'true' - test_done - EOF - check_sub_test_lib_test partial-pass <<-\EOF - > ok 1 - passing test #1 - > not ok 2 - failing test #2 - # false - > ok 3 - passing test #3 - > # failed 1 among 3 test(s) - > 1..3 - EOF +expecting success of 0008.185 'mix of file types at top-level with --verbose -n': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +:: ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 185 - mix of file types at top-level with --verbose -n -ok 6 - pretend we have a partially passing test suite +expecting success of 0008.186 'mix of file types at top-level with --verbose --non-matching': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +:: ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 186 - mix of file types at top-level with --verbose --non-matching -expecting success of 0000.7 'pretend we have a known breakage': - run_sub_test_lib_test failing-todo 'A failing TODO test' <<-\EOF && - test_expect_success 'passing test' 'true' - test_expect_failure 'pretend we have a known breakage' 'false' - test_done - EOF - check_sub_test_lib_test failing-todo <<-\EOF - > ok 1 - passing test - > not ok 2 - pretend we have a known breakage # TODO known breakage - > # still have 1 known breakage(s) - > # passed all remaining 1 test(s) - > 1..2 - EOF +expecting success of 0008.187 'mix of file types at top-level with --no-index': + expect "$expect" && + eval "$code" + +ok 187 - mix of file types at top-level with --no-index -ok 7 - pretend we have a known breakage +expecting success of 0008.188 'mix of file types at top-level with --no-index -v': + expect '.gitignore:1:one one +.gitignore:2:ignored-* ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 188 - mix of file types at top-level with --no-index -v -expecting success of 0000.8 'pretend we have fixed a known breakage': - run_sub_test_lib_test passing-todo 'A passing TODO test' <<-\EOF && - test_expect_failure 'pretend we have fixed a known breakage' 'true' - test_done - EOF - check_sub_test_lib_test passing-todo <<-\EOF - > ok 1 - pretend we have fixed a known breakage # TODO known breakage vanished - > # 1 known breakage(s) vanished; please update test(s) - > 1..1 - EOF +expecting success of 0008.189 'mix of file types at top-level with --no-index -v -n': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +.gitignore:2:ignored-* ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 189 - mix of file types at top-level with --no-index -v -n -ok 8 - pretend we have fixed a known breakage +expecting success of 0008.190 'mix of file types at top-level with --no-index -v --non-matching': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +.gitignore:2:ignored-* ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 190 - mix of file types at top-level with --no-index -v --non-matching -expecting success of 0000.9 'pretend we have fixed one of two known breakages (run in sub test-lib)': - run_sub_test_lib_test partially-passing-todos '2 TODO tests, one passing' <<-\EOF && - test_expect_failure 'pretend we have a known breakage' 'false' - test_expect_success 'pretend we have a passing test' 'true' - test_expect_failure 'pretend we have fixed another known breakage' 'true' - test_done - EOF - check_sub_test_lib_test partially-passing-todos <<-\EOF - > not ok 1 - pretend we have a known breakage # TODO known breakage - > ok 2 - pretend we have a passing test - > ok 3 - pretend we have fixed another known breakage # TODO known breakage vanished - > # 1 known breakage(s) vanished; please update test(s) - > # still have 1 known breakage(s) - > # passed all remaining 1 test(s) - > 1..3 - EOF +expecting success of 0008.191 'mix of file types at top-level with --no-index --verbose': + expect '.gitignore:1:one one +.gitignore:2:ignored-* ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 191 - mix of file types at top-level with --no-index --verbose -ok 9 - pretend we have fixed one of two known breakages (run in sub test-lib) +expecting success of 0008.192 'mix of file types at top-level with --no-index --verbose -n': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +.gitignore:2:ignored-* ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 192 - mix of file types at top-level with --no-index --verbose -n -expecting success of 0000.10 'pretend we have a pass, fail, and known breakage': - run_sub_test_lib_test_err mixed-results1 'mixed results #1' <<-\EOF && - test_expect_success 'passing test' 'true' - test_expect_success 'failing test' 'false' - test_expect_failure 'pretend we have a known breakage' 'false' - test_done - EOF - check_sub_test_lib_test mixed-results1 <<-\EOF - > ok 1 - passing test - > not ok 2 - failing test - > # false - > not ok 3 - pretend we have a known breakage # TODO known breakage - > # still have 1 known breakage(s) - > # failed 1 among remaining 2 test(s) - > 1..3 - EOF +expecting success of 0008.193 'mix of file types at top-level with --no-index --verbose --non-matching': + expect ':: non-existent +.gitignore:1:one one +:: not-ignored +.gitignore:2:ignored-* ignored-but-in-index +.gitignore:2:ignored-* ignored-and-untracked' && + test_check_ignore ' + non-existent + one + not-ignored + ignored-but-in-index + ignored-and-untracked' + + +ok 193 - mix of file types at top-level with --no-index --verbose --non-matching -ok 10 - pretend we have a pass, fail, and known breakage +expecting success of 0008.194 'non-existent file in subdir a/ not ignored': + expect "$expect" && + eval "$code" + +ok 194 - non-existent file in subdir a/ not ignored -expecting success of 0000.11 'pretend we have a mix of all possible results': - run_sub_test_lib_test_err mixed-results2 'mixed results #2' <<-\EOF && - test_expect_success 'passing test' 'true' - test_expect_success 'passing test' 'true' - test_expect_success 'passing test' 'true' - test_expect_success 'passing test' 'true' - test_expect_success 'failing test' 'false' - test_expect_success 'failing test' 'false' - test_expect_success 'failing test' 'false' - test_expect_failure 'pretend we have a known breakage' 'false' - test_expect_failure 'pretend we have a known breakage' 'false' - test_expect_failure 'pretend we have fixed a known breakage' 'true' - test_done - EOF - check_sub_test_lib_test mixed-results2 <<-\EOF - > ok 1 - passing test - > ok 2 - passing test - > ok 3 - passing test - > ok 4 - passing test - > not ok 5 - failing test - > # false - > not ok 6 - failing test - > # false - > not ok 7 - failing test - > # false - > not ok 8 - pretend we have a known breakage # TODO known breakage - > not ok 9 - pretend we have a known breakage # TODO known breakage - > ok 10 - pretend we have fixed a known breakage # TODO known breakage vanished - > # 1 known breakage(s) vanished; please update test(s) - > # still have 2 known breakage(s) - > # failed 3 among remaining 7 test(s) - > 1..10 - EOF +expecting success of 0008.195 'non-existent file in subdir a/ not ignored with -q': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 195 - non-existent file in subdir a/ not ignored with -q -ok 11 - pretend we have a mix of all possible results +expecting success of 0008.196 'non-existent file in subdir a/ not ignored with --quiet': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 196 - non-existent file in subdir a/ not ignored with --quiet -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 0008.197 'non-existent file in subdir a/ not ignored with -v': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 197 - non-existent file in subdir a/ not ignored with -v -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0008.198 'non-existent file in subdir a/ not ignored with -v -n': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 198 - non-existent file in subdir a/ not ignored with -v -n -) -prerequisite C_LOCALE_OUTPUT ok -expecting success of 0000.12 'test --verbose': - run_sub_test_lib_test_err \ - t1234-verbose "test verbose" --verbose <<-\EOF && - test_expect_success "passing test" true - test_expect_success "test with output" "echo foo" - test_expect_success "failing test" false - test_done - EOF - mv t1234-verbose/out t1234-verbose/out+ && - grep -v "^Initialized empty" t1234-verbose/out+ >t1234-verbose/out && - check_sub_test_lib_test t1234-verbose <<-\EOF - > expecting success of 1234.1 'passing test': true - > ok 1 - passing test - > Z - > expecting success of 1234.2 'test with output': echo foo - > foo - > ok 2 - test with output - > Z - > expecting success of 1234.3 'failing test': false - > not ok 3 - failing test - > # false - > Z - > # failed 1 among 3 test(s) - > 1..3 - EOF +expecting success of 0008.199 'non-existent file in subdir a/ not ignored with -v --non-matching': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 199 - non-existent file in subdir a/ not ignored with -v --non-matching -ok 12 - test --verbose +expecting success of 0008.200 'non-existent file in subdir a/ not ignored with --verbose': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 200 - non-existent file in subdir a/ not ignored with --verbose -expecting success of 0000.13 'test --verbose-only': - run_sub_test_lib_test_err \ - t2345-verbose-only-2 "test verbose-only=2" \ - --verbose-only=2 <<-\EOF && - test_expect_success "passing test" true - test_expect_success "test with output" "echo foo" - test_expect_success "failing test" false - test_done - EOF - check_sub_test_lib_test t2345-verbose-only-2 <<-\EOF - > ok 1 - passing test - > Z - > expecting success of 2345.2 'test with output': echo foo - > foo - > ok 2 - test with output - > Z - > not ok 3 - failing test - > # false - > # failed 1 among 3 test(s) - > 1..3 - EOF +expecting success of 0008.201 'non-existent file in subdir a/ not ignored with --verbose -n': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 201 - non-existent file in subdir a/ not ignored with --verbose -n -ok 13 - test --verbose-only +expecting success of 0008.202 'non-existent file in subdir a/ not ignored with --verbose --non-matching': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 202 - non-existent file in subdir a/ not ignored with --verbose --non-matching -expecting success of 0000.14 'GIT_SKIP_TESTS': - ( - GIT_SKIP_TESTS='git.2' && export GIT_SKIP_TESTS && - run_sub_test_lib_test git-skip-tests-basic 'GIT_SKIP_TESTS' <<-\EOF && - for i in 1 2 3 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test git-skip-tests-basic <<-\EOF - > ok 1 - passing test #1 - > ok 2 # skip passing test #2 (GIT_SKIP_TESTS) - > ok 3 - passing test #3 - > # passed all 3 test(s) - > 1..3 - EOF - ) +expecting success of 0008.203 'non-existent file in subdir a/ not ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 203 - non-existent file in subdir a/ not ignored with --no-index -ok 14 - GIT_SKIP_TESTS +expecting success of 0008.204 'non-existent file in subdir a/ not ignored with --no-index -q': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 204 - non-existent file in subdir a/ not ignored with --no-index -q -expecting success of 0000.15 'GIT_SKIP_TESTS several tests': - ( - GIT_SKIP_TESTS='git.2 git.5' && export GIT_SKIP_TESTS && - run_sub_test_lib_test git-skip-tests-several 'GIT_SKIP_TESTS several tests' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test git-skip-tests-several <<-\EOF - > ok 1 - passing test #1 - > ok 2 # skip passing test #2 (GIT_SKIP_TESTS) - > ok 3 - passing test #3 - > ok 4 - passing test #4 - > ok 5 # skip passing test #5 (GIT_SKIP_TESTS) - > ok 6 - passing test #6 - > # passed all 6 test(s) - > 1..6 - EOF - ) +expecting success of 0008.205 'non-existent file in subdir a/ not ignored with --no-index --quiet': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 205 - non-existent file in subdir a/ not ignored with --no-index --quiet -ok 15 - GIT_SKIP_TESTS several tests +expecting success of 0008.206 'non-existent file in subdir a/ not ignored with --no-index -v': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 206 - non-existent file in subdir a/ not ignored with --no-index -v -expecting success of 0000.16 'GIT_SKIP_TESTS sh pattern': - ( - GIT_SKIP_TESTS='git.[2-5]' && export GIT_SKIP_TESTS && - run_sub_test_lib_test git-skip-tests-sh-pattern 'GIT_SKIP_TESTS sh pattern' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test git-skip-tests-sh-pattern <<-\EOF - > ok 1 - passing test #1 - > ok 2 # skip passing test #2 (GIT_SKIP_TESTS) - > ok 3 # skip passing test #3 (GIT_SKIP_TESTS) - > ok 4 # skip passing test #4 (GIT_SKIP_TESTS) - > ok 5 # skip passing test #5 (GIT_SKIP_TESTS) - > ok 6 - passing test #6 - > # passed all 6 test(s) - > 1..6 - EOF - ) +expecting success of 0008.207 'non-existent file in subdir a/ not ignored with --no-index -v -n': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 207 - non-existent file in subdir a/ not ignored with --no-index -v -n -ok 16 - GIT_SKIP_TESTS sh pattern +expecting success of 0008.208 'non-existent file in subdir a/ not ignored with --no-index -v --non-matching': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 208 - non-existent file in subdir a/ not ignored with --no-index -v --non-matching -expecting success of 0000.17 'GIT_SKIP_TESTS entire suite': - ( - GIT_SKIP_TESTS='git' && export GIT_SKIP_TESTS && - run_sub_test_lib_test git-skip-tests-entire-suite 'GIT_SKIP_TESTS entire suite' <<-\EOF && - for i in 1 2 3 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test git-skip-tests-entire-suite <<-\EOF - > 1..0 # SKIP skip all tests in git - EOF - ) +expecting success of 0008.209 'non-existent file in subdir a/ not ignored with --no-index --verbose': + expect '' && + test_check_ignore 'a/non-existent' 1 + +ok 209 - non-existent file in subdir a/ not ignored with --no-index --verbose -ok 17 - GIT_SKIP_TESTS entire suite +expecting success of 0008.210 'non-existent file in subdir a/ not ignored with --no-index --verbose -n': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 210 - non-existent file in subdir a/ not ignored with --no-index --verbose -n -expecting success of 0000.18 'GIT_SKIP_TESTS does not skip unmatched suite': - ( - GIT_SKIP_TESTS='notgit' && export GIT_SKIP_TESTS && - run_sub_test_lib_test git-skip-tests-unmatched-suite 'GIT_SKIP_TESTS does not skip unmatched suite' <<-\EOF && - for i in 1 2 3 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test git-skip-tests-unmatched-suite <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 - passing test #3 - > # passed all 3 test(s) - > 1..3 - EOF - ) +expecting success of 0008.211 'non-existent file in subdir a/ not ignored with --no-index --verbose --non-matching': + expect ':: a/non-existent' && + test_check_ignore 'a/non-existent' 1 + +ok 211 - non-existent file in subdir a/ not ignored with --no-index --verbose --non-matching -ok 18 - GIT_SKIP_TESTS does not skip unmatched suite +expecting success of 0008.212 'non-existent file in subdir a/ ignored': + expect "$expect" && + eval "$code" + +ok 212 - non-existent file in subdir a/ ignored -expecting success of 0000.19 '--run basic': - run_sub_test_lib_test run-basic '--run basic' --run='1,3,5' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-basic <<-\EOF - > ok 1 - passing test #1 - > ok 2 # skip passing test #2 (--run) - > ok 3 - passing test #3 - > ok 4 # skip passing test #4 (--run) - > ok 5 - passing test #5 - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.213 'non-existent file in subdir a/ ignored with -q': + expect '' && + test_check_ignore 'a/one' + +ok 213 - non-existent file in subdir a/ ignored with -q -ok 19 - --run basic +expecting success of 0008.214 'non-existent file in subdir a/ ignored with --quiet': + expect '' && + test_check_ignore 'a/one' + +ok 214 - non-existent file in subdir a/ ignored with --quiet -expecting success of 0000.20 '--run with a range': - run_sub_test_lib_test run-range '--run with a range' --run='1-3' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-range <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 - passing test #3 - > ok 4 # skip passing test #4 (--run) - > ok 5 # skip passing test #5 (--run) - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.215 'non-existent file in subdir a/ ignored with -v': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 215 - non-existent file in subdir a/ ignored with -v -ok 20 - --run with a range +expecting success of 0008.216 'non-existent file in subdir a/ ignored with -v -n': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 216 - non-existent file in subdir a/ ignored with -v -n -expecting success of 0000.21 '--run with two ranges': - run_sub_test_lib_test run-two-ranges '--run with two ranges' --run='1-2,5-6' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-two-ranges <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 # skip passing test #3 (--run) - > ok 4 # skip passing test #4 (--run) - > ok 5 - passing test #5 - > ok 6 - passing test #6 - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.217 'non-existent file in subdir a/ ignored with -v --non-matching': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 217 - non-existent file in subdir a/ ignored with -v --non-matching -ok 21 - --run with two ranges +expecting success of 0008.218 'non-existent file in subdir a/ ignored with --verbose': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 218 - non-existent file in subdir a/ ignored with --verbose -expecting success of 0000.22 '--run with a left open range': - run_sub_test_lib_test run-left-open-range '--run with a left open range' --run='-3' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-left-open-range <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 - passing test #3 - > ok 4 # skip passing test #4 (--run) - > ok 5 # skip passing test #5 (--run) - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.219 'non-existent file in subdir a/ ignored with --verbose -n': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 219 - non-existent file in subdir a/ ignored with --verbose -n -ok 22 - --run with a left open range +expecting success of 0008.220 'non-existent file in subdir a/ ignored with --verbose --non-matching': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 220 - non-existent file in subdir a/ ignored with --verbose --non-matching -expecting success of 0000.23 '--run with a right open range': - run_sub_test_lib_test run-right-open-range '--run with a right open range' --run='4-' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-right-open-range <<-\EOF - > ok 1 # skip passing test #1 (--run) - > ok 2 # skip passing test #2 (--run) - > ok 3 # skip passing test #3 (--run) - > ok 4 - passing test #4 - > ok 5 - passing test #5 - > ok 6 - passing test #6 - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.221 'non-existent file in subdir a/ ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 221 - non-existent file in subdir a/ ignored with --no-index -ok 23 - --run with a right open range +expecting success of 0008.222 'non-existent file in subdir a/ ignored with --no-index -q': + expect '' && + test_check_ignore 'a/one' + +ok 222 - non-existent file in subdir a/ ignored with --no-index -q -expecting success of 0000.24 '--run with basic negation': - run_sub_test_lib_test run-basic-neg '--run with basic negation' --run='!3' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-basic-neg <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 # skip passing test #3 (--run) - > ok 4 - passing test #4 - > ok 5 - passing test #5 - > ok 6 - passing test #6 - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.223 'non-existent file in subdir a/ ignored with --no-index --quiet': + expect '' && + test_check_ignore 'a/one' + +ok 223 - non-existent file in subdir a/ ignored with --no-index --quiet -ok 24 - --run with basic negation +expecting success of 0008.224 'non-existent file in subdir a/ ignored with --no-index -v': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 224 - non-existent file in subdir a/ ignored with --no-index -v -expecting success of 0000.25 '--run with two negations': - run_sub_test_lib_test run-two-neg '--run with two negations' --run='!3,!6' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-two-neg <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 # skip passing test #3 (--run) - > ok 4 - passing test #4 - > ok 5 - passing test #5 - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.225 'non-existent file in subdir a/ ignored with --no-index -v -n': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 225 - non-existent file in subdir a/ ignored with --no-index -v -n -ok 25 - --run with two negations +expecting success of 0008.226 'non-existent file in subdir a/ ignored with --no-index -v --non-matching': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 226 - non-existent file in subdir a/ ignored with --no-index -v --non-matching -expecting success of 0000.26 '--run a range and negation': - run_sub_test_lib_test run-range-and-neg '--run a range and negation' --run='-4,!2' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-range-and-neg <<-\EOF - > ok 1 - passing test #1 - > ok 2 # skip passing test #2 (--run) - > ok 3 - passing test #3 - > ok 4 - passing test #4 - > ok 5 # skip passing test #5 (--run) - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.227 'non-existent file in subdir a/ ignored with --no-index --verbose': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 227 - non-existent file in subdir a/ ignored with --no-index --verbose -ok 26 - --run a range and negation +expecting success of 0008.228 'non-existent file in subdir a/ ignored with --no-index --verbose -n': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 228 - non-existent file in subdir a/ ignored with --no-index --verbose -n -expecting success of 0000.27 '--run range negation': - run_sub_test_lib_test run-range-neg '--run range negation' --run='!1-3' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-range-neg <<-\EOF - > ok 1 # skip passing test #1 (--run) - > ok 2 # skip passing test #2 (--run) - > ok 3 # skip passing test #3 (--run) - > ok 4 - passing test #4 - > ok 5 - passing test #5 - > ok 6 - passing test #6 - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.229 'non-existent file in subdir a/ ignored with --no-index --verbose --non-matching': + expect '.gitignore:1:one a/one' && + test_check_ignore 'a/one' + +ok 229 - non-existent file in subdir a/ ignored with --no-index --verbose --non-matching -ok 27 - --run range negation +expecting success of 0008.230 'existing untracked file in subdir a/ not ignored': + expect "$expect" && + eval "$code" + +ok 230 - existing untracked file in subdir a/ not ignored -expecting success of 0000.28 '--run include, exclude and include': - run_sub_test_lib_test run-inc-neg-inc '--run include, exclude and include' --run='1-5,!1-3,2' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-inc-neg-inc <<-\EOF - > ok 1 # skip passing test #1 (--run) - > ok 2 - passing test #2 - > ok 3 # skip passing test #3 (--run) - > ok 4 - passing test #4 - > ok 5 - passing test #5 - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.231 'existing untracked file in subdir a/ not ignored with -q': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 231 - existing untracked file in subdir a/ not ignored with -q -ok 28 - --run include, exclude and include +expecting success of 0008.232 'existing untracked file in subdir a/ not ignored with --quiet': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 232 - existing untracked file in subdir a/ not ignored with --quiet -expecting success of 0000.29 '--run include, exclude and include, comma separated': - run_sub_test_lib_test run-inc-neg-inc-comma '--run include, exclude and include, comma separated' --run=1-5,\!1-3,2 <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-inc-neg-inc-comma <<-\EOF - > ok 1 # skip passing test #1 (--run) - > ok 2 - passing test #2 - > ok 3 # skip passing test #3 (--run) - > ok 4 - passing test #4 - > ok 5 - passing test #5 - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.233 'existing untracked file in subdir a/ not ignored with -v': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 233 - existing untracked file in subdir a/ not ignored with -v -ok 29 - --run include, exclude and include, comma separated +expecting success of 0008.234 'existing untracked file in subdir a/ not ignored with -v -n': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 234 - existing untracked file in subdir a/ not ignored with -v -n -expecting success of 0000.30 '--run exclude and include': - run_sub_test_lib_test run-neg-inc '--run exclude and include' --run='!3-,5' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-neg-inc <<-\EOF - > ok 1 - passing test #1 - > ok 2 - passing test #2 - > ok 3 # skip passing test #3 (--run) - > ok 4 # skip passing test #4 (--run) - > ok 5 - passing test #5 - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.235 'existing untracked file in subdir a/ not ignored with -v --non-matching': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 235 - existing untracked file in subdir a/ not ignored with -v --non-matching -ok 30 - --run exclude and include +expecting success of 0008.236 'existing untracked file in subdir a/ not ignored with --verbose': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 236 - existing untracked file in subdir a/ not ignored with --verbose -expecting success of 0000.31 '--run empty selectors': - run_sub_test_lib_test run-empty-sel '--run empty selectors' --run='1,,3,,,5' <<-\EOF && - for i in 1 2 3 4 5 6 - do - test_expect_success "passing test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-empty-sel <<-\EOF - > ok 1 - passing test #1 - > ok 2 # skip passing test #2 (--run) - > ok 3 - passing test #3 - > ok 4 # skip passing test #4 (--run) - > ok 5 - passing test #5 - > ok 6 # skip passing test #6 (--run) - > # passed all 6 test(s) - > 1..6 - EOF +expecting success of 0008.237 'existing untracked file in subdir a/ not ignored with --verbose -n': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 237 - existing untracked file in subdir a/ not ignored with --verbose -n -ok 31 - --run empty selectors +expecting success of 0008.238 'existing untracked file in subdir a/ not ignored with --verbose --non-matching': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 238 - existing untracked file in subdir a/ not ignored with --verbose --non-matching -expecting success of 0000.32 '--run substring selector': - run_sub_test_lib_test run-substring-selector '--run empty selectors' --run='relevant' <<-\EOF && - test_expect_success "relevant test" 'true' - for i in 1 2 3 4 5 6 - do - test_expect_success "other test #$i" 'true' - done - test_done - EOF - check_sub_test_lib_test run-substring-selector <<-\EOF - > ok 1 - relevant test - > ok 2 # skip other test #1 (--run) - > ok 3 # skip other test #2 (--run) - > ok 4 # skip other test #3 (--run) - > ok 5 # skip other test #4 (--run) - > ok 6 # skip other test #5 (--run) - > ok 7 # skip other test #6 (--run) - > # passed all 7 test(s) - > 1..7 - EOF +expecting success of 0008.239 'existing untracked file in subdir a/ not ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 239 - existing untracked file in subdir a/ not ignored with --no-index -ok 32 - --run substring selector +expecting success of 0008.240 'existing untracked file in subdir a/ not ignored with --no-index -q': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 240 - existing untracked file in subdir a/ not ignored with --no-index -q -expecting success of 0000.33 '--run keyword selection': - run_sub_test_lib_test_err run-inv-range-start '--run invalid range start' --run='a-5' <<-\EOF && - test_expect_success "passing test #1" 'true' - test_done - EOF - check_sub_test_lib_test_err run-inv-range-start <<-\EOF_OUT 3<<-\EOF_ERR - > FATAL: Unexpected exit with code 1 - EOF_OUT - > error: --run: invalid non-numeric in range start: 'a-5' - EOF_ERR +expecting success of 0008.241 'existing untracked file in subdir a/ not ignored with --no-index --quiet': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 241 - existing untracked file in subdir a/ not ignored with --no-index --quiet -ok 33 - --run keyword selection +expecting success of 0008.242 'existing untracked file in subdir a/ not ignored with --no-index -v': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 242 - existing untracked file in subdir a/ not ignored with --no-index -v -expecting success of 0000.34 '--run invalid range end': - run_sub_test_lib_test_err run-inv-range-end '--run invalid range end' --run='1-z' <<-\EOF && - test_expect_success "passing test #1" 'true' - test_done - EOF - check_sub_test_lib_test_err run-inv-range-end <<-\EOF_OUT 3<<-\EOF_ERR - > FATAL: Unexpected exit with code 1 - EOF_OUT - > error: --run: invalid non-numeric in range end: '1-z' - EOF_ERR +expecting success of 0008.243 'existing untracked file in subdir a/ not ignored with --no-index -v -n': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 243 - existing untracked file in subdir a/ not ignored with --no-index -v -n -ok 34 - --run invalid range end +expecting success of 0008.244 'existing untracked file in subdir a/ not ignored with --no-index -v --non-matching': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 244 - existing untracked file in subdir a/ not ignored with --no-index -v --non-matching -expecting success of 0000.35 'test runs if prerequisite is satisfied': - test_have_prereq HAVEIT && - haveit=yes - -ok 35 - test runs if prerequisite is satisfied - -ok 36 # skip unmet prerequisite causes test to be skipped (missing DONTHAVEIT) - -expecting success of 0000.37 'test runs if prerequisites are satisfied': - test_have_prereq HAVEIT && - test_have_prereq HAVETHIS && - haveit=yes - -ok 37 - test runs if prerequisites are satisfied - -ok 38 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of HAVEIT,DONTHAVEIT) - -ok 39 # skip unmet prerequisites causes test to be skipped (missing DONTHAVEIT of DONTHAVEIT,HAVEIT) - -checking prerequisite: LAZY_TRUE - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-LAZY_TRUE" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-LAZY_TRUE" &&true -) -prerequisite LAZY_TRUE ok -expecting success of 0000.40 'test runs if lazy prereq is satisfied': - havetrue=yes +expecting success of 0008.245 'existing untracked file in subdir a/ not ignored with --no-index --verbose': + expect '' && + test_check_ignore 'a/not-ignored' 1 + +ok 245 - existing untracked file in subdir a/ not ignored with --no-index --verbose -ok 40 - test runs if lazy prereq is satisfied +expecting success of 0008.246 'existing untracked file in subdir a/ not ignored with --no-index --verbose -n': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 246 - existing untracked file in subdir a/ not ignored with --no-index --verbose -n -ok 41 # skip missing lazy prereqs skip tests (missing !LAZY_TRUE) +expecting success of 0008.247 'existing untracked file in subdir a/ not ignored with --no-index --verbose --non-matching': + expect ':: a/not-ignored' && + test_check_ignore 'a/not-ignored' 1 + +ok 247 - existing untracked file in subdir a/ not ignored with --no-index --verbose --non-matching -checking prerequisite: LAZY_FALSE +expecting success of 0008.248 'existing tracked file in subdir a/ not ignored': + expect "$expect" && + eval "$code" + +ok 248 - existing tracked file in subdir a/ not ignored -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-LAZY_FALSE" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-LAZY_FALSE" &&false -) -prerequisite LAZY_FALSE not satisfied -expecting success of 0000.42 'negative lazy prereqs checked': - nothavefalse=yes +expecting success of 0008.249 'existing tracked file in subdir a/ not ignored with -q': + expect '' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 249 - existing tracked file in subdir a/ not ignored with -q -ok 42 - negative lazy prereqs checked +expecting success of 0008.250 'existing tracked file in subdir a/ not ignored with --quiet': + expect '' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 250 - existing tracked file in subdir a/ not ignored with --quiet -ok 43 # skip missing negative lazy prereqs will skip (missing LAZY_FALSE) +expecting success of 0008.251 'existing tracked file in subdir a/ not ignored with -v': + expect '' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 251 - existing tracked file in subdir a/ not ignored with -v -expecting success of 0000.44 'tests clean up after themselves': - test_when_finished clean=yes +expecting success of 0008.252 'existing tracked file in subdir a/ not ignored with -v -n': + expect ':: a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 252 - existing tracked file in subdir a/ not ignored with -v -n -ok 44 - tests clean up after themselves +expecting success of 0008.253 'existing tracked file in subdir a/ not ignored with -v --non-matching': + expect ':: a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 253 - existing tracked file in subdir a/ not ignored with -v --non-matching -checking prerequisite: NESTED_PREREQ +expecting success of 0008.254 'existing tracked file in subdir a/ not ignored with --verbose': + expect '' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 254 - existing tracked file in subdir a/ not ignored with --verbose -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NESTED_PREREQ" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NESTED_PREREQ" && - >outer && - test_have_prereq NESTED_INNER && - echo "can create new file in cwd" >file && - test -f outer && - test ! -f inner +expecting success of 0008.255 'existing tracked file in subdir a/ not ignored with --verbose -n': + expect ':: a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 255 - existing tracked file in subdir a/ not ignored with --verbose -n -) -checking prerequisite: NESTED_INNER +expecting success of 0008.256 'existing tracked file in subdir a/ not ignored with --verbose --non-matching': + expect ':: a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' 1 + +ok 256 - existing tracked file in subdir a/ not ignored with --verbose --non-matching -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NESTED_INNER" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NESTED_INNER" && - >inner && - rm -f outer +expecting success of 0008.257 'existing tracked file in subdir a/ shown as ignored with --no-index': + expect "$expect" && + eval "$code" + +ok 257 - existing tracked file in subdir a/ shown as ignored with --no-index -) -prerequisite NESTED_INNER ok -prerequisite NESTED_PREREQ ok -expecting success of 0000.45 'evaluating nested lazy prereqs dont interfere with each other': - nestedworks=yes +expecting success of 0008.258 'existing tracked file in subdir a/ shown as ignored with --no-index -q': + expect '' && + test_check_ignore 'a/ignored-but-in-index' + +ok 258 - existing tracked file in subdir a/ shown as ignored with --no-index -q -ok 45 - evaluating nested lazy prereqs dont interfere with each other +expecting success of 0008.259 'existing tracked file in subdir a/ shown as ignored with --no-index --quiet': + expect '' && + test_check_ignore 'a/ignored-but-in-index' + +ok 259 - existing tracked file in subdir a/ shown as ignored with --no-index --quiet -expecting success of 0000.46 'lazy prereqs do not turn off tracing': - run_sub_test_lib_test lazy-prereq-and-tracing 'lazy prereqs and -x' -v -x <<-\EOF && - test_lazy_prereq LAZY true +expecting success of 0008.260 'existing tracked file in subdir a/ shown as ignored with --no-index -v': + expect '.gitignore:2:ignored-* a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' + +ok 260 - existing tracked file in subdir a/ shown as ignored with --no-index -v - test_expect_success lazy 'test_have_prereq LAZY && echo trace' +expecting success of 0008.261 'existing tracked file in subdir a/ shown as ignored with --no-index -v -n': + expect '.gitignore:2:ignored-* a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' + +ok 261 - existing tracked file in subdir a/ shown as ignored with --no-index -v -n - test_done - EOF +expecting success of 0008.262 'existing tracked file in subdir a/ shown as ignored with --no-index -v --non-matching': + expect '.gitignore:2:ignored-* a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' + +ok 262 - existing tracked file in subdir a/ shown as ignored with --no-index -v --non-matching - grep 'echo trace' lazy-prereq-and-tracing/err +expecting success of 0008.263 'existing tracked file in subdir a/ shown as ignored with --no-index --verbose': + expect '.gitignore:2:ignored-* a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' + +ok 263 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose -+ echo trace -ok 46 - lazy prereqs do not turn off tracing +expecting success of 0008.264 'existing tracked file in subdir a/ shown as ignored with --no-index --verbose -n': + expect '.gitignore:2:ignored-* a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' + +ok 264 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose -n -expecting success of 0000.47 'tests clean up even on failures': - run_sub_test_lib_test_err failing-cleanup 'Failing tests with cleanup commands' <<-\EOF && - test_expect_success 'tests clean up even after a failure' ' - touch clean-after-failure && - test_when_finished rm clean-after-failure && - (exit 1) - ' - test_expect_success 'failure to clean up causes the test to fail' ' - test_when_finished "(exit 2)" - ' - test_done - EOF - check_sub_test_lib_test failing-cleanup <<-\EOF - > not ok 1 - tests clean up even after a failure - > # Z - > # touch clean-after-failure && - > # test_when_finished rm clean-after-failure && - > # (exit 1) - > # Z - > not ok 2 - failure to clean up causes the test to fail - > # Z - > # test_when_finished "(exit 2)" - > # Z - > # failed 2 among 2 test(s) - > 1..2 - EOF +expecting success of 0008.265 'existing tracked file in subdir a/ shown as ignored with --no-index --verbose --non-matching': + expect '.gitignore:2:ignored-* a/ignored-but-in-index' && + test_check_ignore 'a/ignored-but-in-index' + +ok 265 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose --non-matching -ok 47 - tests clean up even on failures +expecting success of 0008.266 'existing untracked file in subdir a/ ignored': + expect "$expect" && + eval "$code" + +ok 266 - existing untracked file in subdir a/ ignored -expecting success of 0000.48 'test_atexit is run': - run_sub_test_lib_test_err atexit-cleanup 'Run atexit commands' -i <<-\EOF && - test_expect_success 'tests clean up even after a failure' ' - > ../../clean-atexit && - test_atexit rm ../../clean-atexit && - > ../../also-clean-atexit && - test_atexit rm ../../also-clean-atexit && - > ../../dont-clean-atexit && - (exit 1) - ' - test_done - EOF - test_path_is_file dont-clean-atexit && - test_path_is_missing clean-atexit && - test_path_is_missing also-clean-atexit +expecting success of 0008.267 'existing untracked file in subdir a/ ignored with -q': + expect '' && + test_check_ignore 'a/ignored-and-untracked' + +ok 267 - existing untracked file in subdir a/ ignored with -q -ok 48 - test_atexit is run +expecting success of 0008.268 'existing untracked file in subdir a/ ignored with --quiet': + expect '' && + test_check_ignore 'a/ignored-and-untracked' + +ok 268 - existing untracked file in subdir a/ ignored with --quiet -expecting success of 0000.49 'test_oid provides sane info by default': - test_oid zero >actual && - grep "^00*\$" actual && - rawsz="$(test_oid rawsz)" && - hexsz="$(test_oid hexsz)" && - test "$hexsz" -eq $(wc -c actual && - grep "^00*\$" actual && - rawsz="$(test_oid rawsz)" && - hexsz="$(test_oid hexsz)" && - test $(wc -c actual && - grep "^00*\$" actual && - rawsz="$(test_oid rawsz)" && - hexsz="$(test_oid hexsz)" && - test $(wc -c err && - grep "error: test_bool_env requires bool values" err && +expecting success of 0008.282 'existing untracked file in subdir a/ ignored with --no-index --verbose -n': + expect '.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore 'a/ignored-and-untracked' + +ok 282 - existing untracked file in subdir a/ ignored with --no-index --verbose -n - envvar=true && - ! ( test_bool_env envvar invalid ) 7>err && - grep "error: test_bool_env requires bool values" err - ) +expecting success of 0008.283 'existing untracked file in subdir a/ ignored with --no-index --verbose --non-matching': + expect '.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore 'a/ignored-and-untracked' + +ok 283 - existing untracked file in subdir a/ ignored with --no-index --verbose --non-matching -fatal: bad numeric config value 'invalid' for 'envvar': invalid unit -error: test_bool_env requires bool values both for $envvar and for the default fallback -error: option `--default' expects a boolean value with `--type=bool`, not `invalid` -usage: git env--helper --type=[bool|ulong] +expecting success of 0008.284 'mix of file types in subdir a/': + expect "$expect" && + eval "$code" + +ok 284 - mix of file types in subdir a/ - --type value is given this type - --default default for git_env_*(...) to fall back on - --exit-code be quiet only use git_env_*() value as exit code +expecting success of 0008.285 'mix of file types in subdir a/ with -v': + expect '.gitignore:1:one a/one +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 285 - mix of file types in subdir a/ with -v -error: test_bool_env requires bool values both for $envvar and for the default fallback -ok 53 - test_bool_env +expecting success of 0008.286 'mix of file types in subdir a/ with -v -n': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +:: a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 286 - mix of file types in subdir a/ with -v -n -expecting success of 0000.54 'git update-index without --add should fail adding': - test_must_fail git update-index should-be-empty +expecting success of 0008.287 'mix of file types in subdir a/ with -v --non-matching': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +:: a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 287 - mix of file types in subdir a/ with -v --non-matching -error: should-be-empty: cannot add to the index - missing --add option? -fatal: Unable to process path should-be-empty -ok 54 - git update-index without --add should fail adding +expecting success of 0008.288 'mix of file types in subdir a/ with --verbose': + expect '.gitignore:1:one a/one +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 288 - mix of file types in subdir a/ with --verbose -expecting success of 0000.55 'git update-index with --add should succeed': - git update-index --add should-be-empty +expecting success of 0008.289 'mix of file types in subdir a/ with --verbose -n': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +:: a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 289 - mix of file types in subdir a/ with --verbose -n -ok 55 - git update-index with --add should succeed +expecting success of 0008.290 'mix of file types in subdir a/ with --verbose --non-matching': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +:: a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 290 - mix of file types in subdir a/ with --verbose --non-matching -expecting success of 0000.56 'writing tree out with git write-tree': - tree=$(git write-tree) +expecting success of 0008.291 'mix of file types in subdir a/ with --no-index': + expect "$expect" && + eval "$code" + +ok 291 - mix of file types in subdir a/ with --no-index -ok 56 - writing tree out with git write-tree +expecting success of 0008.292 'mix of file types in subdir a/ with --no-index -v': + expect '.gitignore:1:one a/one +.gitignore:2:ignored-* a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 292 - mix of file types in subdir a/ with --no-index -v -expecting success of 0000.57 'validate object ID of a known tree': - test "$tree" = "$(test_oid simpletree)" - -ok 57 - validate object ID of a known tree +expecting success of 0008.293 'mix of file types in subdir a/ with --no-index -v -n': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +.gitignore:2:ignored-* a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 293 - mix of file types in subdir a/ with --no-index -v -n -expecting success of 0000.58 'git update-index without --remove should fail removing': - rm -f should-be-empty full-of-directories && - test_must_fail git update-index should-be-empty +expecting success of 0008.294 'mix of file types in subdir a/ with --no-index -v --non-matching': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +.gitignore:2:ignored-* a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 294 - mix of file types in subdir a/ with --no-index -v --non-matching -error: should-be-empty: does not exist and --remove not passed -fatal: Unable to process path should-be-empty -ok 58 - git update-index without --remove should fail removing +expecting success of 0008.295 'mix of file types in subdir a/ with --no-index --verbose': + expect '.gitignore:1:one a/one +.gitignore:2:ignored-* a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 295 - mix of file types in subdir a/ with --no-index --verbose -expecting success of 0000.59 'git update-index with --remove should be able to remove': - git update-index --remove should-be-empty +expecting success of 0008.296 'mix of file types in subdir a/ with --no-index --verbose -n': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +.gitignore:2:ignored-* a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 296 - mix of file types in subdir a/ with --no-index --verbose -n -ok 59 - git update-index with --remove should be able to remove +expecting success of 0008.297 'mix of file types in subdir a/ with --no-index --verbose --non-matching': + expect ':: a/non-existent +.gitignore:1:one a/one +:: a/not-ignored +.gitignore:2:ignored-* a/ignored-but-in-index +.gitignore:2:ignored-* a/ignored-and-untracked' && + test_check_ignore ' + a/non-existent + a/one + a/not-ignored + a/ignored-but-in-index + a/ignored-and-untracked' + + +ok 297 - mix of file types in subdir a/ with --no-index --verbose --non-matching -expecting success of 0000.60 'git write-tree should be able to write an empty tree': - tree=$(git write-tree) +expecting success of 0008.298 'sub-directory local ignore': + expect "a/3-three" && + test_check_ignore "a/3-three a/three-not-this-one" -ok 60 - git write-tree should be able to write an empty tree +ok 298 - sub-directory local ignore -expecting success of 0000.61 'validate object ID of a known tree': - test "$tree" = $EMPTY_TREE +expecting success of 0008.299 'sub-directory local ignore with --verbose': + expect "a/.gitignore:2:*three a/3-three" && + test_check_ignore "--verbose a/3-three a/three-not-this-one" -ok 61 - validate object ID of a known tree +ok 299 - sub-directory local ignore with --verbose -expecting success of 0000.62 'adding various types of objects with git update-index --add': - mkdir path2 path3 path3/subp3 && - paths="path0 path2/file2 path3/file3 path3/subp3/file3" && +expecting success of 0008.300 'local ignore inside a sub-directory': + expect "3-three" && ( - for p in $paths - do - echo "hello $p" >$p || exit 1 - test_ln_s_add "hello $p" ${p}sym || exit 1 - done - ) && - find path* ! -type d -print | xargs git update-index --add - -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -ok 62 - adding various types of objects with git update-index --add + cd a && + test_check_ignore "3-three three-not-this-one" + ) -expecting success of 0000.63 'showing stage with git ls-files --stage': - git ls-files --stage >current +ok 300 - local ignore inside a sub-directory -ok 63 - showing stage with git ls-files --stage +expecting success of 0008.301 'local ignore inside a sub-directory with --verbose': + expect "a/.gitignore:2:*three 3-three" && + ( + cd a && + test_check_ignore "--verbose 3-three three-not-this-one" + ) -expecting success of 0000.64 'validate git ls-files output for a known tree': - cat >expected <<-EOF && - 100644 $(test_oid path0f) 0 path0 - 120000 $(test_oid path0s) 0 path0sym - 100644 $(test_oid path2f) 0 path2/file2 - 120000 $(test_oid path2s) 0 path2/file2sym - 100644 $(test_oid path3f) 0 path3/file3 - 120000 $(test_oid path3s) 0 path3/file3sym - 100644 $(test_oid subp3f) 0 path3/subp3/file3 - 120000 $(test_oid subp3s) 0 path3/subp3/file3sym - EOF - test_cmp expected current +ok 301 - local ignore inside a sub-directory with --verbose -ok 64 - validate git ls-files output for a known tree +expecting success of 0008.302 'nested include of negated pattern': + expect "" && + test_check_ignore "a/b/one" 1 -expecting success of 0000.65 'writing tree out with git write-tree': - tree=$(git write-tree) +ok 302 - nested include of negated pattern -ok 65 - writing tree out with git write-tree +expecting success of 0008.303 'nested include of negated pattern with -q': + expect "" && + test_check_ignore "-q a/b/one" 1 -expecting success of 0000.66 'validate object ID for a known tree': - test "$tree" = "$(test_oid root)" +ok 303 - nested include of negated pattern with -q -ok 66 - validate object ID for a known tree +expecting success of 0008.304 'nested include of negated pattern with -v': + expect "a/b/.gitignore:8:!on* a/b/one" && + test_check_ignore "-v a/b/one" 0 -expecting success of 0000.67 'showing tree with git ls-tree': - git ls-tree $tree >current +ok 304 - nested include of negated pattern with -v -ok 67 - showing tree with git ls-tree +expecting success of 0008.305 'nested include of negated pattern with -v -n': + expect "a/b/.gitignore:8:!on* a/b/one" && + test_check_ignore "-v -n a/b/one" 0 -expecting success of 0000.68 'git ls-tree output for a known tree': - cat >expected <<-EOF && - 100644 blob $(test_oid path0f) path0 - 120000 blob $(test_oid path0s) path0sym - 040000 tree $(test_oid path2d) path2 - 040000 tree $(test_oid path3d) path3 - EOF - test_cmp expected current +ok 305 - nested include of negated pattern with -v -n -ok 68 - git ls-tree output for a known tree +expecting success of 0008.306 'ignored sub-directory': + expect "$expect" && + eval "$code" + +ok 306 - ignored sub-directory -expecting success of 0000.69 'showing tree with git ls-tree -r': - git ls-tree -r $tree >current +expecting success of 0008.307 'ignored sub-directory with -q': + expect '' && + + test_check_ignore "a/b/ignored-dir" -ok 69 - showing tree with git ls-tree -r + +ok 307 - ignored sub-directory with -q -expecting success of 0000.70 'git ls-tree -r output for a known tree': - cat >expected <<-EOF && - 100644 blob $(test_oid path0f) path0 - 120000 blob $(test_oid path0s) path0sym - 100644 blob $(test_oid path2f) path2/file2 - 120000 blob $(test_oid path2s) path2/file2sym - 100644 blob $(test_oid path3f) path3/file3 - 120000 blob $(test_oid path3s) path3/file3sym - 100644 blob $(test_oid subp3f) path3/subp3/file3 - 120000 blob $(test_oid subp3s) path3/subp3/file3sym - EOF - test_cmp expected current +expecting success of 0008.308 'ignored sub-directory with --quiet': + expect '' && + + test_check_ignore "a/b/ignored-dir" -ok 70 - git ls-tree -r output for a known tree + +ok 308 - ignored sub-directory with --quiet -expecting success of 0000.71 'showing tree with git ls-tree -r -t': - git ls-tree -r -t $tree >current +expecting success of 0008.309 'ignored sub-directory with -v': + expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && + + test_check_ignore "a/b/ignored-dir" -ok 71 - showing tree with git ls-tree -r -t + +ok 309 - ignored sub-directory with -v -expecting success of 0000.72 'git ls-tree -r output for a known tree': - cat >expected <<-EOF && - 100644 blob $(test_oid path0f) path0 - 120000 blob $(test_oid path0s) path0sym - 040000 tree $(test_oid path2d) path2 - 100644 blob $(test_oid path2f) path2/file2 - 120000 blob $(test_oid path2s) path2/file2sym - 040000 tree $(test_oid path3d) path3 - 100644 blob $(test_oid path3f) path3/file3 - 120000 blob $(test_oid path3s) path3/file3sym - 040000 tree $(test_oid subp3d) path3/subp3 - 100644 blob $(test_oid subp3f) path3/subp3/file3 - 120000 blob $(test_oid subp3s) path3/subp3/file3sym - EOF - test_cmp expected current +expecting success of 0008.310 'ignored sub-directory with -v -n': + expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && + + test_check_ignore "a/b/ignored-dir" -ok 72 - git ls-tree -r output for a known tree + +ok 310 - ignored sub-directory with -v -n -expecting success of 0000.73 'writing partial tree out with git write-tree --prefix': - ptree=$(git write-tree --prefix=path3) +expecting success of 0008.311 'ignored sub-directory with -v --non-matching': + expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && + + test_check_ignore "a/b/ignored-dir" -ok 73 - writing partial tree out with git write-tree --prefix + +ok 311 - ignored sub-directory with -v --non-matching -expecting success of 0000.74 'validate object ID for a known tree': - test "$ptree" = $(test_oid path3d) +expecting success of 0008.312 'ignored sub-directory with --verbose': + expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && + + test_check_ignore "a/b/ignored-dir" -ok 74 - validate object ID for a known tree + +ok 312 - ignored sub-directory with --verbose -expecting success of 0000.75 'writing partial tree out with git write-tree --prefix': - ptree=$(git write-tree --prefix=path3/subp3) +expecting success of 0008.313 'ignored sub-directory with --verbose -n': + expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && + + test_check_ignore "a/b/ignored-dir" -ok 75 - writing partial tree out with git write-tree --prefix + +ok 313 - ignored sub-directory with --verbose -n -expecting success of 0000.76 'validate object ID for a known tree': - test "$ptree" = $(test_oid subp3d) +expecting success of 0008.314 'ignored sub-directory with --verbose --non-matching': + expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && + + test_check_ignore "a/b/ignored-dir" -ok 76 - validate object ID for a known tree + +ok 314 - ignored sub-directory with --verbose --non-matching -expecting success of 0000.77 'put invalid objects into the index': - rm -f .git/index && - suffix=$(echo $ZERO_OID | sed -e "s/^.//") && - cat >badobjects <<-EOF && - 100644 blob $(test_oid 001) dir/file1 - 100644 blob $(test_oid 002) dir/file2 - 100644 blob $(test_oid 003) dir/file3 - 100644 blob $(test_oid 004) dir/file4 - 100644 blob $(test_oid 005) dir/file5 +expecting success of 0008.315 'multiple files inside ignored sub-directory': + expect_from_stdin <<-\EOF && + a/b/ignored-dir/foo + a/b/ignored-dir/twoooo + a/b/ignored-dir/seven EOF - git update-index --index-info expected <current && - test_cmp expected current +ok 316 - multiple files inside ignored sub-directory with -v -ok 81 - validate git diff-files output for a know cache/work tree state +expecting success of 0008.317 'cd to ignored sub-directory': + expect_from_stdin <<-\EOF && + foo + twoooo + seven + ../../one + EOF + ( + cd a/b/ignored-dir && + test_check_ignore "foo twoooo ../one seven ../../one" + ) -expecting success of 0000.82 'git update-index --refresh should succeed': - git update-index --refresh +ok 317 - cd to ignored sub-directory -ok 82 - git update-index --refresh should succeed +expecting success of 0008.318 'cd to ignored sub-directory with -v': + expect_from_stdin <<-\EOF && + a/b/.gitignore:5:ignored-dir/ foo + a/b/.gitignore:5:ignored-dir/ twoooo + a/b/.gitignore:8:!on* ../one + a/b/.gitignore:5:ignored-dir/ seven + .gitignore:1:one ../../one + EOF + ( + cd a/b/ignored-dir && + test_check_ignore "-v foo twoooo ../one seven ../../one" + ) -expecting success of 0000.83 'no diff after checkout and git update-index --refresh': - git diff-files >current && - cmp -s current /dev/null +ok 318 - cd to ignored sub-directory with -v -ok 83 - no diff after checkout and git update-index --refresh +expecting success of 0008.319 'symlink': + expect "$expect" && + eval "$code" + +ok 319 - symlink -expecting success of 0000.84 'git commit-tree records the correct tree in a commit': - commit0=$(echo NO | git commit-tree $P) && - tree=$(git show --pretty=raw $commit0 | - sed -n -e "s/^tree //p" -e "/^author /q") && - test "z$tree" = "z$P" +expecting success of 0008.320 'symlink with -q': + expect '' && + + test_check_ignore "a/symlink" 1 -ok 84 - git commit-tree records the correct tree in a commit + +ok 320 - symlink with -q -expecting success of 0000.85 'git commit-tree records the correct parent in a commit': - commit1=$(echo NO | git commit-tree $P -p $commit0) && - parent=$(git show --pretty=raw $commit1 | - sed -n -e "s/^parent //p" -e "/^author /q") && - test "z$commit0" = "z$parent" +expecting success of 0008.321 'symlink with --quiet': + expect '' && + + test_check_ignore "a/symlink" 1 -ok 85 - git commit-tree records the correct parent in a commit + +ok 321 - symlink with --quiet -expecting success of 0000.86 'git commit-tree omits duplicated parent in a commit': - commit2=$(echo NO | git commit-tree $P -p $commit0 -p $commit0) && - parent=$(git show --pretty=raw $commit2 | - sed -n -e "s/^parent //p" -e "/^author /q" | - sort -u) && - test "z$commit0" = "z$parent" && - numparent=$(git show --pretty=raw $commit2 | - sed -n -e "s/^parent //p" -e "/^author /q" | - wc -l) && - test $numparent = 1 +expecting success of 0008.322 'symlink with -v': + expect '' && + + test_check_ignore "a/symlink" 1 -error: duplicate parent d664f4b2f72710b8e019acf96c4773c8ac3993b8 ignored -ok 86 - git commit-tree omits duplicated parent in a commit + +ok 322 - symlink with -v -expecting success of 0000.87 'update-index D/F conflict': - mv path0 tmp && - mv path2 path0 && - mv tmp path2 && - git update-index --add --replace path2 path0/file2 && - numpath0=$(git ls-files path0 | wc -l) && - test $numpath0 = 1 +expecting success of 0008.323 'symlink with -v -n': + expect ':: a/symlink' && + + test_check_ignore "a/symlink" 1 -ok 87 - update-index D/F conflict + +ok 323 - symlink with -v -n -expecting success of 0000.88 'very long name in the index handled sanely': +expecting success of 0008.324 'symlink with -v --non-matching': + expect ':: a/symlink' && + + test_check_ignore "a/symlink" 1 - a=a && # 1 - a=$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a && # 16 - a=$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a && # 256 - a=$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a$a && # 4096 - a=${a}q && + +ok 324 - symlink with -v --non-matching - >path4 && - git update-index --add path4 && - ( - git ls-files -s path4 | - sed -e "s/ .*/ /" | - tr -d "\012" && - echo "$a" - ) | git update-index --index-info && - len=$(git ls-files "a*" | wc -c) && - test $len = 4098 +expecting success of 0008.325 'symlink with --verbose': + expect '' && + + test_check_ignore "a/symlink" 1 -ok 88 - very long name in the index handled sanely + +ok 325 - symlink with --verbose -expecting success of 0000.89 'test_must_fail on a failing git command': - test_must_fail git notacommand +expecting success of 0008.326 'symlink with --verbose -n': + expect ':: a/symlink' && + + test_check_ignore "a/symlink" 1 -git: 'notacommand' is not a git command. See 'git --help'. -ok 89 - test_must_fail on a failing git command + +ok 326 - symlink with --verbose -n -expecting success of 0000.90 'test_must_fail on a failing git command with env': - test_must_fail env var1=a var2=b git notacommand +expecting success of 0008.327 'symlink with --verbose --non-matching': + expect ':: a/symlink' && + + test_check_ignore "a/symlink" 1 -git: 'notacommand' is not a git command. See 'git --help'. -ok 90 - test_must_fail on a failing git command with env + +ok 327 - symlink with --verbose --non-matching -expecting success of 0000.91 'test_must_fail rejects a non-git command': - ! test_must_fail grep ^$ notafile 2>err && - grep -F "test_must_fail: only 'git' is allowed" err +expecting success of 0008.328 'beyond a symlink': + expect "$expect" && + eval "$code" + +ok 328 - beyond a symlink -test_must_fail: only 'git' is allowed: grep ^$ notafile -ok 91 - test_must_fail rejects a non-git command +expecting success of 0008.329 'beyond a symlink with -q': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -expecting success of 0000.92 'test_must_fail rejects a non-git command with env': - ! test_must_fail env var1=a var2=b grep ^$ notafile 2>err && - grep -F "test_must_fail: only 'git' is allowed" err + +ok 329 - beyond a symlink with -q -test_must_fail: only 'git' is allowed: env var1=a var2=b grep ^$ notafile -ok 92 - test_must_fail rejects a non-git command with env +expecting success of 0008.330 'beyond a symlink with --quiet': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -# passed all 92 test(s) -1..92 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t0410-partial-clone.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/.git/ -expecting success of 0410.1 'extensions.partialclone without filter': - test_create_repo server && - git clone --filter="blob:none" "file://$(pwd)/server" client && - git -C client config --unset remote.origin.partialclonefilter && - git -C client fetch origin + +ok 330 - beyond a symlink with --quiet -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ -Cloning into 'client'... -warning: You appear to have cloned an empty repository. -ok 1 - extensions.partialclone without filter +expecting success of 0008.331 'beyond a symlink with -v': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -expecting success of 0410.2 'convert shallow clone to partial clone': - rm -fr server client && - test_create_repo server && - test_commit -C server my_commit 1 && - test_commit -C server my_commit2 1 && - git clone --depth=1 "file://$(pwd)/server" client && - git -C client fetch --unshallow --filter="blob:none" && - test_cmp_config -C client true remote.origin.promisor && - test_cmp_config -C client blob:none remote.origin.partialclonefilter && - test_cmp_config -C client 1 core.repositoryformatversion + +ok 331 - beyond a symlink with -v -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ -[master (root-commit) 282d88a] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 1 -[master b56a127] my_commit2 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Cloning into 'client'... -warning: filtering not recognized by server, ignoring -warning: filtering not recognized by server, ignoring -From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server - * [new tag] my_commit -> my_commit -ok 2 - convert shallow clone to partial clone +expecting success of 0008.332 'beyond a symlink with -v -n': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -checking prerequisite: SHA1 + +ok 332 - beyond a symlink with -v -n -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && - case "$GIT_DEFAULT_HASH" in - sha1) true ;; - "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; - *) false ;; - esac +expecting success of 0008.333 'beyond a symlink with -v --non-matching': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -) -prerequisite SHA1 ok -expecting success of 0410.3 'convert to partial clone with noop extension': - rm -fr server client && - test_create_repo server && - test_commit -C server my_commit 1 && - test_commit -C server my_commit2 1 && - git clone --depth=1 "file://$(pwd)/server" client && - test_cmp_config -C client 0 core.repositoryformatversion && - git -C client config extensions.noop true && - git -C client fetch --unshallow --filter="blob:none" + +ok 333 - beyond a symlink with -v --non-matching -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ -[master (root-commit) 593c6ee] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 1 -[master 639877a] my_commit2 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Cloning into 'client'... -warning: filtering not recognized by server, ignoring -warning: filtering not recognized by server, ignoring -From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server - * [new tag] my_commit -> my_commit -ok 3 - convert to partial clone with noop extension +expecting success of 0008.334 'beyond a symlink with --verbose': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -expecting success of 0410.4 'converting to partial clone fails with unrecognized extension': - rm -fr server client && - test_create_repo server && - test_commit -C server my_commit 1 && - test_commit -C server my_commit2 1 && - git clone --depth=1 "file://$(pwd)/server" client && - test_cmp_config -C client 0 core.repositoryformatversion && - git -C client config extensions.nonsense true && - test_must_fail git -C client fetch --unshallow --filter="blob:none" + +ok 334 - beyond a symlink with --verbose -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ -[master (root-commit) 6114aba] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 1 -[master 743b332] my_commit2 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Cloning into 'client'... -error: cannot upgrade repository format: unknown extension nonsense -fatal: unable to upgrade repository format to support partial clone -ok 4 - converting to partial clone fails with unrecognized extension +expecting success of 0008.335 'beyond a symlink with --verbose -n': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" -expecting success of 0410.5 'missing reflog object, but promised by a commit, passes fsck': - rm -rf repo && - test_create_repo repo && - test_commit -C repo my_commit && + +ok 335 - beyond a symlink with --verbose -n - A=$(git -C repo commit-tree -m a HEAD^{tree}) && - C=$(git -C repo commit-tree -m c -p $A HEAD^{tree}) && +expecting success of 0008.336 'beyond a symlink with --verbose --non-matching': + expect '' && + + test_check_ignore "a/symlink/foo" 128 && + test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" - # Reference $A only from reflog, and delete it - git -C repo branch my_branch "$A" && - git -C repo branch -f my_branch my_commit && - delete_object repo "$A" && + +ok 336 - beyond a symlink with --verbose --non-matching - # State that we got $C, which refers to $A, from promisor - printf "$C\n" | pack_as_from_promisor && +expecting success of 0008.337 'beyond a symlink from subdirectory': + expect "$expect" && + eval "$code" + +ok 337 - beyond a symlink from subdirectory - # Normally, it fails - test_must_fail git -C repo fsck && +expecting success of 0008.338 'beyond a symlink from subdirectory with -q': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" - # But with the extension, it succeeds - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo fsck + +ok 338 - beyond a symlink from subdirectory with -q -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 645f0a1] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_commit.t -b3b4322753142630efe6237cb5ef6cdc9d672d66 -error: refs/heads/my_branch: invalid reflog entry 7fcb8777d818dca542e59d6eec4b069c2142b35e -error: refs/heads/my_branch: invalid reflog entry 7fcb8777d818dca542e59d6eec4b069c2142b35e -dangling commit fe174b3c23f972b6c7ba26ed4c372380fc6d8deb -dangling commit fe174b3c23f972b6c7ba26ed4c372380fc6d8deb -ok 5 - missing reflog object, but promised by a commit, passes fsck +expecting success of 0008.339 'beyond a symlink from subdirectory with --quiet': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" -expecting success of 0410.6 'missing reflog object, but promised by a tag, passes fsck': - rm -rf repo && - test_create_repo repo && - test_commit -C repo my_commit && + +ok 339 - beyond a symlink from subdirectory with --quiet - A=$(git -C repo commit-tree -m a HEAD^{tree}) && - git -C repo tag -a -m d my_tag_name $A && - T=$(git -C repo rev-parse my_tag_name) && - git -C repo tag -d my_tag_name && +expecting success of 0008.340 'beyond a symlink from subdirectory with -v': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" - # Reference $A only from reflog, and delete it - git -C repo branch my_branch "$A" && - git -C repo branch -f my_branch my_commit && - delete_object repo "$A" && + +ok 340 - beyond a symlink from subdirectory with -v - # State that we got $T, which refers to $A, from promisor - printf "$T\n" | pack_as_from_promisor && +expecting success of 0008.341 'beyond a symlink from subdirectory with -v -n': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo fsck + +ok 341 - beyond a symlink from subdirectory with -v -n -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) da2e7de] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_commit.t -Deleted tag 'my_tag_name' (was 34fac6a) -c5475378ca2e78834b400c9d937a6a162caee84e -dangling tag 34fac6a88cc545a8f8a17584908f0390550dbdb0 -ok 6 - missing reflog object, but promised by a tag, passes fsck +expecting success of 0008.342 'beyond a symlink from subdirectory with -v --non-matching': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" -expecting success of 0410.7 'missing reflog object alone fails fsck, even with extension set': - rm -rf repo && - test_create_repo repo && - test_commit -C repo my_commit && + +ok 342 - beyond a symlink from subdirectory with -v --non-matching - A=$(git -C repo commit-tree -m a HEAD^{tree}) && - B=$(git -C repo commit-tree -m b HEAD^{tree}) && +expecting success of 0008.343 'beyond a symlink from subdirectory with --verbose': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" - # Reference $A only from reflog, and delete it - git -C repo branch my_branch "$A" && - git -C repo branch -f my_branch my_commit && - delete_object repo "$A" && + +ok 343 - beyond a symlink from subdirectory with --verbose - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - test_must_fail git -C repo fsck +expecting success of 0008.344 'beyond a symlink from subdirectory with --verbose -n': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) b45c342] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_commit.t -error: refs/heads/my_branch: invalid reflog entry f1a8c2dbb0668e21bdaf6b739b0910c11c02cd4e -error: refs/heads/my_branch: invalid reflog entry f1a8c2dbb0668e21bdaf6b739b0910c11c02cd4e -dangling commit 2a85d5935b4dc1c093280877f8358ac27008115b -ok 7 - missing reflog object alone fails fsck, even with extension set + +ok 344 - beyond a symlink from subdirectory with --verbose -n -expecting success of 0410.8 'missing ref object, but promised, passes fsck': - rm -rf repo && - test_create_repo repo && - test_commit -C repo my_commit && +expecting success of 0008.345 'beyond a symlink from subdirectory with --verbose --non-matching': + expect '' && + + ( + cd a && + test_check_ignore "symlink/foo" 128 + ) && + test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" - A=$(git -C repo commit-tree -m a HEAD^{tree}) && + +ok 345 - beyond a symlink from subdirectory with --verbose --non-matching - # Reference $A only from ref - git -C repo branch my_branch "$A" && - promise_and_delete "$A" && +expecting success of 0008.346 'submodule': + expect "$expect" && + eval "$code" + +ok 346 - submodule - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo fsck +expecting success of 0008.347 'submodule with -q': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 64a3647] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_commit.t -07990eb35a674c00ed95208ed2ad46a96b92b75e -dangling tag 549fe140e3a312e3c41eddbd806b0489252b5987 -ok 8 - missing ref object, but promised, passes fsck + +ok 347 - submodule with -q -expecting success of 0410.9 'missing object, but promised, passes fsck': - rm -rf repo && - test_create_repo repo && - test_commit -C repo 1 && - test_commit -C repo 2 && - test_commit -C repo 3 && - git -C repo tag -a annotated_tag -m "annotated tag" && +expecting success of 0008.348 'submodule with --quiet': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" - C=$(git -C repo rev-parse 1) && - T=$(git -C repo rev-parse 2^{tree}) && - B=$(git hash-object repo/3.t) && - AT=$(git -C repo rev-parse annotated_tag) && + +ok 348 - submodule with --quiet - promise_and_delete "$C" && - promise_and_delete "$T" && - promise_and_delete "$B" && - promise_and_delete "$AT" && +expecting success of 0008.349 'submodule with -v': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo fsck + +ok 349 - submodule with -v -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 105d4e4] 1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 1.t -[master 6e1a67a] 2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 2.t -[master b8c6625] 3 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 3.t -2485aac98d1c3225c271e3af5e766f4367310b3a -error: refs/tags/1 does not point to a valid object! -777e8eb59ffb5b5722c8cd4f7d423cf3cd5ba1c8 -error: refs/tags/1 does not point to a valid object! -31d0fc16a061bb21781c4c8359676a24cc34001e -hint: You have created a nested tag. The object referred to by your new tag is -hint: already a tag. If you meant to tag the object that it points to, use: -hint: -hint: git tag -f my_annotated_tag f68fb4566316e272a308917d081de51a218993a2^{} -hint: Disable this message with "git config advice.nestedTag false" -error: refs/tags/1 does not point to a valid object! -4a50c8bde259d424ffcf127903fe9d554cac6b7d -dangling tag 2683b267061c97bcc34e7140acb2a6275e5b30d1 -dangling tag 34bbb6f6e07e9726facfc8fa6af2c0b91c7d5958 -dangling tag 5cbb9b35329a5b70b793ba9577acb379e91b1e55 -dangling tree dcf3d5d7c6d10fb961287ca9bc59a5bf8a4b2afc -dangling tag 9fcc2c2e5cb1b8f6435735dde34bf7cb9effe69d -ok 9 - missing object, but promised, passes fsck +expecting success of 0008.350 'submodule with -v -n': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" -expecting success of 0410.10 'missing CLI object, but promised, passes fsck': - rm -rf repo && - test_create_repo repo && - test_commit -C repo my_commit && + +ok 350 - submodule with -v -n - A=$(git -C repo commit-tree -m a HEAD^{tree}) && - promise_and_delete "$A" && +expecting success of 0008.351 'submodule with -v --non-matching': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo fsck "$A" + +ok 351 - submodule with -v --non-matching -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 1a8f860] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_commit.t -492fcaedcae5f38e5d43847baf9ad7f322583322 -dangling tag 2b9e4c52199b033af01a67d4508ef14ad7cf61f0 -dangling commit 1a8f8606ad20bf122ef5b7c5a44b64bc32833be8 -ok 10 - missing CLI object, but promised, passes fsck +expecting success of 0008.352 'submodule with --verbose': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" -expecting success of 0410.11 'fetching of missing objects': - rm -rf repo err && - test_create_repo server && - test_commit -C server foo && - git -C server repack -a -d --write-bitmap-index && + +ok 352 - submodule with --verbose - git clone "file://$(pwd)/server" repo && - HASH=$(git -C repo rev-parse foo) && - rm -rf repo/.git/objects/* && +expecting success of 0008.353 'submodule with --verbose -n': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "origin" && - git -C repo cat-file -p "$HASH" 2>err && + +ok 353 - submodule with --verbose -n - # Ensure that no spurious FETCH_HEAD messages are written - ! grep FETCH_HEAD err && +expecting success of 0008.354 'submodule with --verbose --non-matching': + expect '' && + + test_check_ignore "a/submodule/one" 128 && + test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" - # Ensure that the .promisor file is written, and check that its - # associated packfile contains the object - ls repo/.git/objects/pack/pack-*.promisor >promisorlist && - test_line_count = 1 promisorlist && - IDX=$(sed "s/promisor$/idx/" promisorlist) && - git verify-pack --verbose "$IDX" >out && - grep "$HASH" out + +ok 354 - submodule with --verbose --non-matching -Reinitialized existing Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ -[master b704ccc] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -Cloning into 'repo'... -tree e36fba6ed8261dd9be2ee0232186fc8ed7b73cdf -parent 743b332bcde964fd77f8834b760ab10e4e6a878e -author A U Thor 1112912833 -0700 -committer C O Mitter 1112912833 -0700 +expecting success of 0008.355 'submodule from subdirectory': + expect "$expect" && + eval "$code" + +ok 355 - submodule from subdirectory -foo -b704ccc22db3053176e94aafda84b62a9f092a25 commit 215 155 12 -ok 11 - fetching of missing objects +expecting success of 0008.356 'submodule from subdirectory with -q': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" -expecting success of 0410.12 'fetching of missing objects works with ref-in-want enabled': - # ref-in-want requires protocol version 2 - git -C server config protocol.version 2 && - git -C server config uploadpack.allowrefinwant 1 && - git -C repo config protocol.version 2 && + +ok 356 - submodule from subdirectory with -q - rm -rf repo/.git/objects/* && - rm -f trace && - GIT_TRACE_PACKET="$(pwd)/trace" git -C repo cat-file -p "$HASH" && - grep "fetch< fetch=.*ref-in-want" trace +expecting success of 0008.357 'submodule from subdirectory with --quiet': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" -warning: filtering not recognized by server, ignoring -tree e36fba6ed8261dd9be2ee0232186fc8ed7b73cdf -parent 743b332bcde964fd77f8834b760ab10e4e6a878e -author A U Thor 1112912833 -0700 -committer C O Mitter 1112912833 -0700 + +ok 357 - submodule from subdirectory with --quiet -foo -packet: fetch< fetch=shallow ref-in-want -ok 12 - fetching of missing objects works with ref-in-want enabled +expecting success of 0008.358 'submodule from subdirectory with -v': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" -expecting success of 0410.13 'fetching of missing objects from another promisor remote': - git clone "file://$(pwd)/server" server2 && - test_commit -C server2 bar && - git -C server2 repack -a -d --write-bitmap-index && - HASH2=$(git -C server2 rev-parse bar) && + +ok 358 - submodule from subdirectory with -v - git -C repo remote add server2 "file://$(pwd)/server2" && - git -C repo config remote.server2.promisor true && - git -C repo cat-file -p "$HASH2" && +expecting success of 0008.359 'submodule from subdirectory with -v -n': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" - git -C repo fetch server2 && - rm -rf repo/.git/objects/* && - git -C repo cat-file -p "$HASH2" && + +ok 359 - submodule from subdirectory with -v -n - # Ensure that the .promisor file is written, and check that its - # associated packfile contains the object - ls repo/.git/objects/pack/pack-*.promisor >promisorlist && - test_line_count = 1 promisorlist && - IDX=$(sed "s/promisor$/idx/" promisorlist) && - git verify-pack --verbose "$IDX" >out && - grep "$HASH2" out +expecting success of 0008.360 'submodule from subdirectory with -v --non-matching': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" -Cloning into 'server2'... -[master dcd9300] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar.t -warning: filtering not recognized by server, ignoring -tree 71baac54afb804ff6a25aae0730b2466d066a704 -parent b704ccc22db3053176e94aafda84b62a9f092a25 -author A U Thor 1112912893 -0700 -committer C O Mitter 1112912893 -0700 + +ok 360 - submodule from subdirectory with -v --non-matching -bar -From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server2 - * [new branch] master -> server2/master - * [new tag] bar -> bar -warning: filtering not recognized by server, ignoring -tree 71baac54afb804ff6a25aae0730b2466d066a704 -parent b704ccc22db3053176e94aafda84b62a9f092a25 -author A U Thor 1112912893 -0700 -committer C O Mitter 1112912893 -0700 +expecting success of 0008.361 'submodule from subdirectory with --verbose': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" -bar -dcd93000cb3620e00e92f7bf15dd15265b7945e3 commit 215 156 12 -ok 13 - fetching of missing objects from another promisor remote + +ok 361 - submodule from subdirectory with --verbose -expecting success of 0410.14 'fetching of missing objects configures a promisor remote': - git clone "file://$(pwd)/server" server3 && - test_commit -C server3 baz && - git -C server3 repack -a -d --write-bitmap-index && - HASH3=$(git -C server3 rev-parse baz) && - git -C server3 config uploadpack.allowfilter 1 && +expecting success of 0008.362 'submodule from subdirectory with --verbose -n': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" - rm repo/.git/objects/pack/pack-*.promisor && + +ok 362 - submodule from subdirectory with --verbose -n - git -C repo remote add server3 "file://$(pwd)/server3" && - git -C repo fetch --filter="blob:none" server3 $HASH3 && +expecting success of 0008.363 'submodule from subdirectory with --verbose --non-matching': + expect '' && + + ( + cd a && + test_check_ignore "submodule/one" 128 + ) && + test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" - test_cmp_config -C repo true remote.server3.promisor && + +ok 363 - submodule from subdirectory with --verbose --non-matching - # Ensure that the .promisor file is written, and check that its - # associated packfile contains the object - ls repo/.git/objects/pack/pack-*.promisor >promisorlist && - test_line_count = 1 promisorlist && - IDX=$(sed "s/promisor$/idx/" promisorlist) && - git verify-pack --verbose "$IDX" >out && - grep "$HASH3" out +expecting success of 0008.364 'global ignore not yet enabled': + expect_from_stdin <<-\EOF && + .git/info/exclude:7:per-repo per-repo + a/.gitignore:2:*three a/globalthree + .git/info/exclude:7:per-repo a/per-repo + EOF + test_check_ignore "-v globalone per-repo a/globalthree a/per-repo not-ignored a/globaltwo" -Cloning into 'server3'... -[master e3103d2] baz - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 baz.t -From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server3 - * branch e3103d2f75518c211dd5b6abe06ec88c7ac1d760 -> FETCH_HEAD -e3103d2f75518c211dd5b6abe06ec88c7ac1d760 commit 215 157 12 -ok 14 - fetching of missing objects configures a promisor remote +ok 364 - global ignore not yet enabled -expecting success of 0410.15 'fetching of missing blobs works': - rm -rf server server2 repo && - rm -rf server server3 repo && - test_create_repo server && - test_commit -C server foo && - git -C server repack -a -d --write-bitmap-index && +expecting success of 0008.365 'global ignore': + enable_global_excludes && + expect_from_stdin <<-\EOF && + globalone + per-repo + globalthree + a/globalthree + a/per-repo + EOF + test_check_ignore "globalone per-repo globalthree a/globalthree a/per-repo not-ignored globaltwo" - git clone "file://$(pwd)/server" repo && - git hash-object repo/foo.t >blobhash && - rm -rf repo/.git/objects/* && +ok 365 - global ignore - git -C server config uploadpack.allowanysha1inwant 1 && - git -C server config uploadpack.allowfilter 1 && - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "origin" && +expecting success of 0008.366 'global ignore with -v': + enable_global_excludes && + expect_from_stdin <<-EOF && + $global_excludes:1:globalone globalone + .git/info/exclude:7:per-repo per-repo + $global_excludes:3:globalthree globalthree + a/.gitignore:2:*three a/globalthree + .git/info/exclude:7:per-repo a/per-repo + $global_excludes:2:!globaltwo globaltwo + EOF + test_check_ignore "-v globalone per-repo globalthree a/globalthree a/per-repo not-ignored globaltwo" - git -C repo cat-file -p $(cat blobhash) +ok 366 - global ignore with -v -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ -[master (root-commit) a4efc16] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -Cloning into 'repo'... -foo -ok 15 - fetching of missing blobs works +expecting success of 0008.367 '--stdin': + expect_from_stdin treehash && - git hash-object repo/foo.t >blobhash && - rm -rf repo/.git/objects/* && +expecting success of 0008.368 '--stdin -q': + expect "" && + test_check_ignore "-q --stdin" objects && - grep "^$(cat treehash)" objects && - grep "^[?]$(cat blobhash)" objects +expecting success of 0008.369 '--stdin -v': + expect_from_stdin - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -Cloning into 'repo'... -100644 blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 foo.t -64fd3796c57084e7b8cbae358ce37970b8e954f6 -?257cc5642cb1a054f08cc83f2d943e56fd3ebe99 -ok 16 - fetching of missing trees does not fetch blobs +ok 369 - --stdin -v -expecting success of 0410.17 'rev-list stops traversal at missing and promised commit': - rm -rf repo && - test_create_repo repo && - test_commit -C repo foo && - test_commit -C repo bar && +expecting success of 0008.370 '--stdin -z': + expect_from_stdin out && - grep $(git -C repo rev-parse bar) out && - ! grep $FOO out +expecting success of 0008.372 '--stdin -z -v': + expect_from_stdin - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -[master b1dec3b] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar.t -6957fa0a452191e604d77bee487c33c045870def -b1dec3bac444a8f7cf518a7b91ace0b63f3a2b4d -ok 17 - rev-list stops traversal at missing and promised commit +expecting success of 0008.373 '-z --stdin': + expect_from_stdin objs 2>rev_list_err && - test_must_be_empty rev_list_err && - # 3 commits, 3 blobs, and 1 tree - test_line_count = 7 objs && +ok 376 - --stdin from subdirectory - # Do the same for --exclude-promisor-objects, but with all trees gone. - promise_and_delete $(git -C repo rev-parse baz^{tree}) && - git -C repo rev-list --exclude-promisor-objects --objects HEAD >objs 2>rev_list_err && - test_must_be_empty rev_list_err && - # 3 commits, no blobs or trees - test_line_count = 3 objs +expecting success of 0008.377 '--stdin from subdirectory with -v': + expect_from_stdin - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -[master 7d4554d] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar.t -[master cd99eb2] baz - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 baz.t -5a7677c1cfd341d40bd44c43b4f874297f1ec02f -73268b48a1d52e8d7427a13e5e0a53d1ce3a2cde -45cdf0e3b8883f1e635118044731f8007b425446 -ok 18 - missing tree objects with --missing=allow-promisor and --exclude-promisor-objects +ok 377 - --stdin from subdirectory with -v -expecting success of 0410.19 'missing non-root tree object and rev-list': - rm -rf repo && - test_create_repo repo && - mkdir repo/dir && - echo foo >repo/dir/foo && - git -C repo add dir/foo && - git -C repo commit -m "commit dir/foo" && +expecting success of 0008.378 '--stdin from subdirectory with -v -n': + expect_from_stdin objs 2>rev_list_err && - test_must_be_empty rev_list_err && - # 1 commit and 1 tree - test_line_count = 2 objs +expecting success of 0008.380 '--stdin -z from subdirectory with -v': + expect_from_stdin - 1 file changed, 1 insertion(+) - create mode 100644 dir/foo -7ce7d28db10a68b678ada6d4ecb4c006ef98efdf -ok 19 - missing non-root tree object and rev-list +expecting success of 0008.381 '-z --stdin from subdirectory': + expect_from_stdin repo/a_dir/something && - git -C repo add a_dir/something && - git -C repo commit -m bar && +expecting success of 0008.382 '-z --stdin from subdirectory with -v': + expect_from_stdin out &) && - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo rev-list --exclude-promisor-objects --objects HEAD >out && - grep $(git -C repo rev-parse foo) out && - ! grep $TREE out && - grep $(git -C repo rev-parse HEAD) out && - ! grep $TREE2 out + # We cannot just "echo >in" because check-ignore would get EOF + # after echo exited; instead we open the descriptor in our + # shell, and then echo to the fd. We make sure to close it at + # the end, so that the subprocess does get EOF and dies + # properly. + # + # Similarly, we must keep "out" open so that check-ignore does + # not ever get SIGPIPE trying to write to us. Not only would that + # produce incorrect results, but then there would be no writer on the + # other end of the pipe, and we would potentially block forever trying + # to open it. + exec 9>in && + exec 8&-" && + test_when_finished "exec 8<&-" && + echo >&9 one && + read response <&8 && + echo "$response" | grep "^\.gitignore:1:one one" && + echo >&9 two && + read response <&8 && + echo "$response" | grep "^:: two" -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 96b8fe3] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -[master 8de0a7d] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a_dir/something -21f60db37d541c539ce18abed9c34cca08275e75 -6caf607f93808b23e8773d5ceaf964a46fb56c9e -96b8fe3464a11619c1a316025ca9559d70376519 -8de0a7d1831a9b960ff060dd7a5b24ad6d24d64e -ok 20 - rev-list stops traversal at missing and promised tree +.gitignore:1:one one +:: two +ok 383 - streaming support for --stdin -expecting success of 0410.21 'rev-list stops traversal at missing and promised blob': - rm -rf repo && - test_create_repo repo && - echo something >repo/something && - git -C repo add something && - git -C repo commit -m foo && +expecting success of 0008.384 'existing file and directory': + test_when_finished "rm one" && + test_when_finished "rmdir top-level-dir" && + >one && + mkdir top-level-dir && + git check-ignore one top-level-dir >actual && + grep one actual && + grep top-level-dir actual - BLOB=$(git -C repo hash-object -w something) && - promise_and_delete "$BLOB" && +one +top-level-dir +ok 384 - existing file and directory - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo rev-list --exclude-promisor-objects --objects HEAD >out && - grep $(git -C repo rev-parse HEAD) out && - ! grep $BLOB out +expecting success of 0008.385 'existing directory and file': + test_when_finished "rm one" && + test_when_finished "rmdir top-level-dir" && + >one && + mkdir top-level-dir && + git check-ignore top-level-dir one >actual && + grep one actual && + grep top-level-dir actual -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 01a8213] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 something -d6f316ffccd3991a4054699cd282e93f0a553231 -01a82131db12b84e117cf2846b6fa9a3725295b8 -ok 21 - rev-list stops traversal at missing and promised blob +one +top-level-dir +ok 385 - existing directory and file -expecting success of 0410.22 'rev-list stops traversal at promisor commit, tree, and blob': - rm -rf repo && - test_create_repo repo && - test_commit -C repo foo && - test_commit -C repo bar && - test_commit -C repo baz && +expecting success of 0008.386 'trailing whitespace is ignored': + mkdir whitespace && + >whitespace/trailing && + >whitespace/untracked && + echo "whitespace/trailing " >ignore && + cat >expect <actual 2>err && + test_cmp expect actual && + test_must_be_empty err - COMMIT=$(git -C repo rev-parse foo) && - TREE=$(git -C repo rev-parse bar^{tree}) && - BLOB=$(git hash-object repo/baz.t) && - printf "%s\n%s\n%s\n" $COMMIT $TREE $BLOB | pack_as_from_promisor && +ok 386 - trailing whitespace is ignored - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo rev-list --exclude-promisor-objects --objects HEAD >out && - ! grep $COMMIT out && - ! grep $TREE out && - ! grep $BLOB out && - grep $(git -C repo rev-parse bar) out # sanity check that some walking was done +expecting success of 0008.387 'quoting allows trailing whitespace': + rm -rf whitespace && + mkdir whitespace && + >"whitespace/trailing " && + >whitespace/untracked && + echo "whitespace/trailing\\ \\ " >ignore && + echo whitespace/untracked >expect && + git ls-files -o -X ignore whitespace >actual 2>err && + test_cmp expect actual && + test_must_be_empty err -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 17fbdf8] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -[master ea417f4] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar.t -[master 77b3ab0] baz - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 baz.t -213f85e674040d949d96a3cd96c377e01a7489e5 -ea417f432d150bbcc6ffcbe70901b68a8827c5ed -ok 22 - rev-list stops traversal at promisor commit, tree, and blob +ok 387 - quoting allows trailing whitespace -expecting success of 0410.23 'rev-list dies for missing objects on cmd line': - rm -rf repo && - test_create_repo repo && - test_commit -C repo foo && - test_commit -C repo bar && - test_commit -C repo baz && +expecting success of 0008.388 'correct handling of backslashes': + rm -rf whitespace && + mkdir whitespace && + >"whitespace/trailing 1 " && + >"whitespace/trailing 2 \\\\" && + >"whitespace/trailing 3 \\\\" && + >"whitespace/trailing 4 \\ " && + >"whitespace/trailing 5 \\ \\ " && + >"whitespace/trailing 6 \\a\\" && + >whitespace/untracked && + sed -e "s/Z$//" >ignore <<-\EOF && + whitespace/trailing 1 \ Z + whitespace/trailing 2 \\\\Z + whitespace/trailing 3 \\\\ Z + whitespace/trailing 4 \\\ Z + whitespace/trailing 5 \\ \\\ Z + whitespace/trailing 6 \\a\\Z + EOF + echo whitespace/untracked >expect && + git ls-files -o -X ignore whitespace >actual 2>err && + test_cmp expect actual && + test_must_be_empty err - COMMIT=$(git -C repo rev-parse foo) && - TREE=$(git -C repo rev-parse bar^{tree}) && - BLOB=$(git hash-object repo/baz.t) && +ok 388 - correct handling of backslashes - promise_and_delete $COMMIT && - promise_and_delete $TREE && - promise_and_delete $BLOB && +expecting success of 0008.389 'info/exclude trumps core.excludesfile': + echo >>global-excludes usually-ignored && + echo >>.git/info/exclude "!usually-ignored" && + >usually-ignored && + echo "?? usually-ignored" >expect && - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && + git status --porcelain usually-ignored >actual && + test_cmp expect actual - for OBJ in "$COMMIT" "$TREE" "$BLOB"; do - test_must_fail git -C repo rev-list --objects \ - --exclude-promisor-objects "$OBJ" && - test_must_fail git -C repo rev-list --objects-edge-aggressive \ - --exclude-promisor-objects "$OBJ" && +ok 389 - info/exclude trumps core.excludesfile - # Do not die or crash when --ignore-missing is passed. - git -C repo rev-list --ignore-missing --objects \ - --exclude-promisor-objects "$OBJ" && - git -C repo rev-list --ignore-missing --objects-edge-aggressive \ - --exclude-promisor-objects "$OBJ" +# passed all 389 test(s) +1..389 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0300-credentials.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0300-credentials/.git/ +expecting success of 0300.1 'setup helper scripts': + cat >dump <<-\EOF && + whoami=$(echo $0 | sed s/.*git-credential-//) + echo >&2 "$whoami: $*" + OIFS=$IFS + IFS== + while read key value; do + echo >&2 "$whoami: $key=$value" + eval "$key=$value" done + IFS=$OIFS + EOF -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) dbd5891] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -[master f8d3fbb] bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar.t -[master 82a6de6] baz - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 baz.t -fe36566d86f850e97a356bb713f16fdce42ae943 -error: refs/tags/foo does not point to a valid object! -2466985ce14937f9b8316aabdc58fd495d2c4715 -error: refs/tags/foo does not point to a valid object! -83bee6f9cf9ae59ed554e7b770aa3432ee1e0dd3 -fatal: ambiguous argument 'dbd58910fc0548e9de113d1f0fe29b2019c8c2d7': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -fatal: ambiguous argument 'dbd58910fc0548e9de113d1f0fe29b2019c8c2d7': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -fatal: ambiguous argument '12e519f9839344d0202cbb4a0286099ef31e2196': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -fatal: ambiguous argument '12e519f9839344d0202cbb4a0286099ef31e2196': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -fatal: ambiguous argument '76018072e09c5d31c8c6e3113b8aa0fe625195ca': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -fatal: ambiguous argument '76018072e09c5d31c8c6e3113b8aa0fe625195ca': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -ok 23 - rev-list dies for missing objects on cmd line - -expecting success of 0410.24 'single promisor remote can be re-initialized gracefully': - # ensure one promisor is in the promisors list - rm -rf repo && - test_create_repo repo && - test_create_repo other && - git -C repo remote add foo "file://$(pwd)/other" && - git -C repo config remote.foo.promisor true && - git -C repo config extensions.partialclone foo && - - # reinitialize the promisors list - git -C repo fetch --filter=blob:none foo - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/other/.git/ -ok 24 - single promisor remote can be re-initialized gracefully - -expecting success of 0410.25 'gc repacks promisor objects separately from non-promisor objects': - rm -rf repo && - test_create_repo repo && - test_commit -C repo one && - test_commit -C repo two && - - TREE_ONE=$(git -C repo rev-parse one^{tree}) && - printf "$TREE_ONE\n" | pack_as_from_promisor && - TREE_TWO=$(git -C repo rev-parse two^{tree}) && - printf "$TREE_TWO\n" | pack_as_from_promisor && - - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo gc && + write_script git-credential-useless <<-\EOF && + . ./dump + exit 0 + EOF - # Ensure that exactly one promisor packfile exists, and that it - # contains the trees but not the commits - ls repo/.git/objects/pack/pack-*.promisor >promisorlist && - test_line_count = 1 promisorlist && - PROMISOR_PACKFILE=$(sed "s/.promisor/.pack/" out && - grep "$TREE_ONE" out && - grep "$TREE_TWO" out && - ! grep "$(git -C repo rev-parse one)" out && - ! grep "$(git -C repo rev-parse two)" out && + write_script git-credential-quit <<-\EOF && + . ./dump + echo quit=1 + EOF - # Remove the promisor packfile and associated files - rm $(sed "s/.promisor//" packlist && - test_line_count = 1 packlist && - git verify-pack repo/.git/objects/pack/pack-*.pack -v >out && - grep "$(git -C repo rev-parse one)" out && - grep "$(git -C repo rev-parse two)" out && - ! grep "$TREE_ONE" out && - ! grep "$TREE_TWO" out + PATH="$PWD:$PATH" -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 113e21e] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master ba941b5] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -80b0d61182f42d417d3f1080999c86acd16276f7 -4f4b1c441e35611dff006a309fbda4370b40fc90 -a7cddf35737959e1438bc929b665619e9e79bfee tree 33 44 85 -2f00a404aed7e63d867313d504bd0fccea53fd25 tree 66 73 12 -113e21eacaa73fca9d70b1192181d92f218dbbe2 commit 167 126 168 -ba941b5d2cdf1d78e421a6b2caaabb9edfaf502b commit 215 156 12 -ok 25 - gc repacks promisor objects separately from non-promisor objects +ok 1 - setup helper scripts -expecting success of 0410.26 'gc does not repack promisor objects if there are none': - rm -rf repo && - test_create_repo repo && - test_commit -C repo one && +expecting success of 0300.2 'credential_fill invokes helper': + check fill "verbatim foo bar" <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + EOF - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo gc && +checking prerequisite: C_LOCALE_OUTPUT - # Ensure that only one pack exists - ls repo/.git/objects/pack/pack-*.pack >packlist && - test_line_count = 1 packlist +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 937aaf2] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -ok 26 - gc does not repack promisor objects if there are none +) +prerequisite C_LOCALE_OUTPUT ok +ok 2 - credential_fill invokes helper -expecting success of 0410.27 'repack -d does not irreversibly delete promisor objects': - rm -rf repo && - test_create_repo repo && - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && +expecting success of 0300.3 'credential_fill invokes multiple helpers': + check fill useless "verbatim foo bar" <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=foo + password=bar + -- + useless: get + useless: protocol=http + useless: host=example.com + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + EOF - git -C repo commit --allow-empty -m one && - git -C repo commit --allow-empty -m two && - git -C repo commit --allow-empty -m three && - git -C repo commit --allow-empty -m four && - ONE=$(git -C repo rev-parse HEAD^^^) && - TWO=$(git -C repo rev-parse HEAD^^) && - THREE=$(git -C repo rev-parse HEAD^) && +ok 3 - credential_fill invokes multiple helpers - printf "$TWO\n" | pack_as_from_promisor && - printf "$THREE\n" | pack_as_from_promisor && - delete_object repo "$ONE" && +expecting success of 0300.4 'credential_fill stops when we get a full response': + check fill "verbatim one two" "verbatim three four" <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=one + password=two + -- + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + EOF - repack_and_check -a "$TWO" "$THREE" && - repack_and_check -A "$TWO" "$THREE" && - repack_and_check -l "$TWO" "$THREE" +ok 4 - credential_fill stops when we get a full response -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 946817d] one - Author: A U Thor -[master bd6a669] two - Author: A U Thor -[master 3251618] three - Author: A U Thor -[master 4a1ecf2] four - Author: A U Thor -65865e3fad8bccd08b2c629f3f58c6294bdf6c4a -a75f34deda336372829f18b2b99616163b28120b -warning: reflog of 'HEAD' references pruned commits -warning: reflog of 'refs/heads/master' references pruned commits -warning: reflog of 'HEAD' references pruned commits -warning: reflog of 'refs/heads/master' references pruned commits -warning: reflog of 'HEAD' references pruned commits -warning: reflog of 'refs/heads/master' references pruned commits -ok 27 - repack -d does not irreversibly delete promisor objects +expecting success of 0300.5 'credential_fill continues through partial response': + check fill "verbatim one \"\"" "verbatim two three" <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=two + password=three + -- + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + verbatim: username=one + EOF -expecting success of 0410.28 'gc stops traversal when a missing but promised object is reached': - rm -rf repo && - test_create_repo repo && - test_commit -C repo my_commit && +ok 5 - credential_fill continues through partial response - TREE_HASH=$(git -C repo rev-parse HEAD^{tree}) && - HASH=$(promise_and_delete $TREE_HASH) && +expecting success of 0300.6 'credential_fill passes along metadata': + check fill "verbatim one two" <<-\EOF + protocol=ftp + host=example.com + path=foo.git + -- + protocol=ftp + host=example.com + path=foo.git + username=one + password=two + -- + verbatim: get + verbatim: protocol=ftp + verbatim: host=example.com + verbatim: path=foo.git + EOF - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && - git -C repo gc && +ok 6 - credential_fill passes along metadata - # Ensure that the promisor packfile still exists, and remove it - test -e repo/.git/objects/pack/pack-$HASH.pack && - rm repo/.git/objects/pack/pack-$HASH.* && +expecting success of 0300.7 'credential_approve calls all helpers': + check approve useless "verbatim one two" <<-\EOF + protocol=http + host=example.com + username=foo + password=bar + -- + -- + useless: store + useless: protocol=http + useless: host=example.com + useless: username=foo + useless: password=bar + verbatim: store + verbatim: protocol=http + verbatim: host=example.com + verbatim: username=foo + verbatim: password=bar + EOF - # Ensure that the single other pack contains the commit, but not the tree - ls repo/.git/objects/pack/pack-*.pack >packlist && - test_line_count = 1 packlist && - git verify-pack repo/.git/objects/pack/pack-*.pack -v >out && - grep "$(git -C repo rev-parse HEAD)" out && - ! grep "$TREE_HASH" out +ok 7 - credential_approve calls all helpers -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 5f8b2fd] my_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_commit.t -5f8b2fd9bb66eeb04df79bb70601d558cc1ff3cd commit 173 129 12 -ok 28 - gc stops traversal when a missing but promised object is reached +expecting success of 0300.8 'do not bother storing password-less credential': + check approve useless <<-\EOF + protocol=http + host=example.com + username=foo + -- + -- + EOF -expecting success of 0410.29 'do not fetch when checking existence of tree we construct ourselves': - rm -rf repo && - test_create_repo repo && - test_commit -C repo base && - test_commit -C repo side1 && - git -C repo checkout base && - test_commit -C repo side2 && +ok 8 - do not bother storing password-less credential - git -C repo config core.repositoryformatversion 1 && - git -C repo config extensions.partialclone "arbitrary string" && +expecting success of 0300.9 'credential_reject calls all helpers': + check reject useless "verbatim one two" <<-\EOF + protocol=http + host=example.com + username=foo + password=bar + -- + -- + useless: erase + useless: protocol=http + useless: host=example.com + useless: username=foo + useless: password=bar + verbatim: erase + verbatim: protocol=http + verbatim: host=example.com + verbatim: username=foo + verbatim: password=bar + EOF - git -C repo cherry-pick side1 +ok 9 - credential_reject calls all helpers -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ -[master (root-commit) 307bd8f] base - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 base.t -[master fc18fe7] side1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 side1.t -Note: switching to 'base'. +expecting success of 0300.10 'usernames can be preserved': + check fill "verbatim \"\" three" <<-\EOF + protocol=http + host=example.com + username=one + -- + protocol=http + host=example.com + username=one + password=three + -- + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + verbatim: username=one + EOF -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +ok 10 - usernames can be preserved -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 0300.11 'usernames can be overridden': + check fill "verbatim two three" <<-\EOF + protocol=http + host=example.com + username=one + -- + protocol=http + host=example.com + username=two + password=three + -- + verbatim: get + verbatim: protocol=http + verbatim: host=example.com + verbatim: username=one + EOF - git switch -c +ok 11 - usernames can be overridden -Or undo this operation with: +expecting success of 0300.12 'do not bother completing already-full credential': + check fill "verbatim three four" <<-\EOF + protocol=http + host=example.com + username=one + password=two + -- + protocol=http + host=example.com + username=one + password=two + -- + EOF - git switch - +ok 12 - do not bother completing already-full credential -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 0300.13 'empty helper list falls back to internal getpass': + check fill <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://example.com': + askpass: Password for 'http://askpass-username@example.com': + EOF -HEAD is now at 307bd8f base -[detached HEAD 33a4c41] side2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 side2.t -[detached HEAD d42937a] side1 - Author: A U Thor - Date: Thu Apr 7 15:49:13 2005 -0700 - 1 file changed, 1 insertion(+) - create mode 100644 side1.t -ok 29 - do not fetch when checking existence of tree we construct ourselves +ok 13 - empty helper list falls back to internal getpass -checking prerequisite: NOT_ROOT +expecting success of 0300.14 'internal getpass does not ask for known username': + check fill <<-\EOF + protocol=http + host=example.com + username=foo + -- + protocol=http + host=example.com + username=foo + password=askpass-password + -- + askpass: Password for 'http://foo@example.com': + EOF -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NOT_ROOT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-NOT_ROOT" && - uid=$(id -u) && - test "$uid" != 0 +ok 14 - internal getpass does not ask for known username -) -prerequisite NOT_ROOT ok -# passed all 29 test(s) -# SKIP no web server found at '/usr/sbin/apache2' -1..29 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1091-sparse-checkout-builtin.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/.git/ -expecting success of 1091.1 'setup': - git init repo && +expecting success of 0300.15 'git-credential respects core.askPass': + write_script alternate-askpass <<-\EOF && + echo >&2 "alternate askpass invoked" + echo alternate-value + EOF + test_config core.askpass "$PWD/alternate-askpass" && ( - cd repo && - echo "initial" >a && - mkdir folder1 folder2 deep && - mkdir deep/deeper1 deep/deeper2 && - mkdir deep/deeper1/deepest && - cp a folder1 && - cp a folder2 && - cp a deep && - cp a deep/deeper1 && - cp a deep/deeper2 && - cp a deep/deeper1/deepest && - git add . && - git commit -m "initial commit" + # unset GIT_ASKPASS set by lib-credential.sh which would + # override our config, but do so in a subshell so that we do + # not interfere with other tests + sane_unset GIT_ASKPASS && + check fill <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=alternate-value + password=alternate-value + -- + alternate askpass invoked + alternate askpass invoked + EOF ) -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/repo/.git/ -[master (root-commit) ebf8b57] initial commit - Author: A U Thor - 7 files changed, 7 insertions(+) - create mode 100644 a - create mode 100644 deep/a - create mode 100644 deep/deeper1/a - create mode 100644 deep/deeper1/deepest/a - create mode 100644 deep/deeper2/a - create mode 100644 folder1/a - create mode 100644 folder2/a -ok 1 - setup - -expecting success of 1091.2 'git sparse-checkout list (empty)': - git -C repo sparse-checkout list >list 2>err && - test_must_be_empty list && - test_i18ngrep "this worktree is not sparse (sparse-checkout file may not exist)" err - -checking prerequisite: C_LOCALE_OUTPUT +ok 15 - git-credential respects core.askPass -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 0300.16 'respect configured credentials': + test_config credential.helper "$HELPER" && + check fill <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=foo + password=bar + -- + EOF -) -prerequisite C_LOCALE_OUTPUT ok -warning: this worktree is not sparse (sparse-checkout file may not exist) -ok 2 - git sparse-checkout list (empty) +ok 16 - respect configured credentials -expecting success of 1091.3 'git sparse-checkout list (populated)': - test_when_finished rm -f repo/.git/info/sparse-checkout && - cat >repo/.git/info/sparse-checkout <<-\EOF && - /folder1/* - /deep/ - **/a - !*bin* +expecting success of 0300.17 'match configured credential': + test_config credential.https://example.com.helper "$HELPER" && + check fill <<-\EOF + protocol=https + host=example.com + path=repo.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- EOF - cp repo/.git/info/sparse-checkout expect && - git -C repo sparse-checkout list >list && - test_cmp expect list -ok 3 - git sparse-checkout list (populated) +ok 17 - match configured credential -expecting success of 1091.4 'git sparse-checkout init': - git -C repo sparse-checkout init && - cat >expect <<-\EOF && - /* - !/*/ +expecting success of 0300.18 'do not match configured credential': + test_config credential.https://foo.helper "$HELPER" && + check fill <<-\EOF + protocol=https + host=bar + -- + protocol=https + host=bar + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://bar': + askpass: Password for 'https://askpass-username@bar': EOF - test_cmp expect repo/.git/info/sparse-checkout && - test_cmp_config -C repo true core.sparsecheckout && - check_files repo a -ok 4 - git sparse-checkout init +ok 18 - do not match configured credential -expecting success of 1091.5 'git sparse-checkout list after init': - git -C repo sparse-checkout list >actual && - cat >expect <<-\EOF && - /* - !/*/ +expecting success of 0300.19 'match multiple configured helpers': + test_config credential.helper "verbatim \"\" \"\"" && + test_config credential.https://example.com.helper "$HELPER" && + check fill <<-\EOF + protocol=https + host=example.com + path=repo.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com EOF - test_cmp expect actual -ok 5 - git sparse-checkout list after init +ok 19 - match multiple configured helpers -expecting success of 1091.6 'init with existing sparse-checkout': - echo "*folder*" >> repo/.git/info/sparse-checkout && - git -C repo sparse-checkout init && - cat >expect <<-\EOF && - /* - !/*/ - *folder* +expecting success of 0300.20 'match multiple configured helpers with URLs': + test_config credential.https://example.com/repo.git.helper "verbatim \"\" \"\"" && + test_config credential.https://example.com.helper "$HELPER" && + check fill <<-\EOF + protocol=https + host=example.com + path=repo.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com EOF - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a folder1 folder2 -ok 6 - init with existing sparse-checkout +ok 20 - match multiple configured helpers with URLs -expecting success of 1091.7 'clone --sparse': - git clone --sparse "file://$(pwd)/repo" clone && - git -C clone sparse-checkout list >actual && - cat >expect <<-\EOF && - /* - !/*/ +expecting success of 0300.21 'match percent-encoded values': + test_config credential.https://example.com/%2566.git.helper "$HELPER" && + check fill <<-\EOF + url=https://example.com/%2566.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- EOF - test_cmp expect actual && - check_files clone a - -Cloning into 'clone'... -ok 7 - clone --sparse -expecting success of 1091.8 'interaction with clone --no-checkout (unborn index)': - git clone --no-checkout "file://$(pwd)/repo" clone_no_checkout && - git -C clone_no_checkout sparse-checkout init --cone && - git -C clone_no_checkout sparse-checkout set folder1 && +ok 21 - match percent-encoded values - git -C clone_no_checkout sparse-checkout list >actual && - cat >expect <<-\EOF && - folder1 +expecting success of 0300.22 'match percent-encoded UTF-8 values in path': + test_config credential.https://example.com.useHttpPath true && + test_config credential.https://example.com/perú.git.helper "$HELPER" && + check fill <<-\EOF + url=https://example.com/per%C3%BA.git + -- + protocol=https + host=example.com + path=perú.git + username=foo + password=bar + -- EOF - test_cmp expect actual && - # nothing checked out, expect "No such file or directory" - ! ls clone_no_checkout/* >actual && - test_must_be_empty actual && - test_path_is_missing clone_no_checkout/.git/index && +ok 22 - match percent-encoded UTF-8 values in path - # No branch is checked out until we manually switch to one - git -C clone_no_checkout switch master && - test_path_is_file clone_no_checkout/.git/index && - check_files clone_no_checkout a folder1 +expecting success of 0300.23 'match percent-encoded values in username': + test_config credential.https://user%2fname@example.com/foo/bar.git.helper "$HELPER" && + check fill <<-\EOF + url=https://user%2fname@example.com/foo/bar.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- + EOF -Cloning into 'clone_no_checkout'... -ls: cannot access 'clone_no_checkout/*': No such file or directory -Already on 'master' -Your branch is up to date with 'origin/master'. -ok 8 - interaction with clone --no-checkout (unborn index) +ok 23 - match percent-encoded values in username -expecting success of 1091.9 'set enables config': - git init empty-config && - ( - cd empty-config && - test_commit test file && - test_path_is_missing .git/config.worktree && - git sparse-checkout set nothing && - test_path_is_file .git/config.worktree && - test_cmp_config true core.sparseCheckout - ) +expecting success of 0300.24 'fetch with multiple path components': + test_unconfig credential.helper && + test_config credential.https://example.com/foo/repo.git.helper "verbatim foo bar" && + check fill <<-\EOF + url=https://example.com/foo/repo.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com + EOF -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/empty-config/.git/ -[master (root-commit) 236e830] test - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file -ok 9 - set enables config +ok 24 - fetch with multiple path components -expecting success of 1091.10 'set sparse-checkout using builtin': - git -C repo sparse-checkout set "/*" "!/*/" "*folder*" && - cat >expect <<-\EOF && - /* - !/*/ - *folder* +expecting success of 0300.25 'pull username from config': + test_config credential.https://example.com.username foo && + check fill <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=foo + password=askpass-password + -- + askpass: Password for 'https://foo@example.com': EOF - git -C repo sparse-checkout list >actual && - test_cmp expect actual && - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a folder1 folder2 -ok 10 - set sparse-checkout using builtin +ok 25 - pull username from config -expecting success of 1091.11 'set sparse-checkout using --stdin': - cat >expect <<-\EOF && - /* - !/*/ - /folder1/ - /folder2/ +expecting success of 0300.26 'honors username from URL over helper (URL)': + test_config credential.https://example.com.username bob && + test_config credential.https://example.com.helper "verbatim \"\" bar" && + check fill <<-\EOF + url=https://alice@example.com + -- + protocol=https + host=example.com + username=alice + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com + verbatim: username=alice EOF - git -C repo sparse-checkout set --stdin actual && - test_cmp expect actual && - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo "a folder1 folder2" -ok 11 - set sparse-checkout using --stdin +ok 26 - honors username from URL over helper (URL) -expecting success of 1091.12 'add to sparse-checkout': - cat repo/.git/info/sparse-checkout >expect && - cat >add <<-\EOF && - pattern1 - /folder1/ - pattern2 +expecting success of 0300.27 'honors username from URL over helper (components)': + test_config credential.https://example.com.username bob && + test_config credential.https://example.com.helper "verbatim \"\" bar" && + check fill <<-\EOF + protocol=https + host=example.com + username=alice + -- + protocol=https + host=example.com + username=alice + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com + verbatim: username=alice EOF - cat add >>expect && - git -C repo sparse-checkout add --stdin actual && - test_cmp expect actual && - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo "a folder1 folder2" -ok 12 - add to sparse-checkout +ok 27 - honors username from URL over helper (components) -expecting success of 1091.13 'cone mode: match patterns': - git -C repo config --worktree core.sparseCheckoutCone true && - rm -rf repo/a repo/folder1 repo/folder2 && - git -C repo read-tree -mu HEAD 2>err && - test_i18ngrep ! "disabling cone patterns" err && - git -C repo reset --hard && - check_files repo a folder1 folder2 +expecting success of 0300.28 'last matching username wins': + test_config credential.https://example.com/path.git.username bob && + test_config credential.https://example.com.username alice && + test_config credential.https://example.com.helper "verbatim \"\" bar" && + check fill <<-\EOF + url=https://example.com/path.git + -- + protocol=https + host=example.com + username=alice + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com + verbatim: username=alice + EOF -HEAD is now at ebf8b57 initial commit -ok 13 - cone mode: match patterns +ok 28 - last matching username wins -expecting success of 1091.14 'cone mode: warn on bad pattern': - test_when_finished mv sparse-checkout repo/.git/info/ && - cp repo/.git/info/sparse-checkout . && - echo "!/deep/deeper/*" >>repo/.git/info/sparse-checkout && - git -C repo read-tree -mu HEAD 2>err && - test_i18ngrep "unrecognized negative pattern" err +expecting success of 0300.29 'http paths can be part of context': + check fill "verbatim foo bar" <<-\EOF && + protocol=https + host=example.com + path=foo.git + -- + protocol=https + host=example.com + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com + EOF + test_config credential.https://example.com.useHttpPath true && + check fill "verbatim foo bar" <<-\EOF + protocol=https + host=example.com + path=foo.git + -- + protocol=https + host=example.com + path=foo.git + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.com + verbatim: path=foo.git + EOF -warning: unrecognized negative pattern: '/deep/deeper/*' -ok 14 - cone mode: warn on bad pattern +ok 29 - http paths can be part of context -expecting success of 1091.15 'sparse-checkout disable': - test_when_finished rm -rf repo/.git/info/sparse-checkout && - git -C repo sparse-checkout disable && - test_path_is_file repo/.git/info/sparse-checkout && - git -C repo config --list >config && - test_must_fail git config core.sparseCheckout && - check_files repo a deep folder1 folder2 +expecting success of 0300.30 'context uses urlmatch': + test_config "credential.https://*.org.useHttpPath" true && + check fill "verbatim foo bar" <<-\EOF + protocol=https + host=example.org + path=foo.git + -- + protocol=https + host=example.org + path=foo.git + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=https + verbatim: host=example.org + verbatim: path=foo.git + EOF -ok 15 - sparse-checkout disable +ok 30 - context uses urlmatch -expecting success of 1091.16 'cone mode: init and set': - git -C repo sparse-checkout init --cone && - git -C repo config --list >config && - test_i18ngrep "core.sparsecheckoutcone=true" config && - list_files repo >dir && - echo a >expect && - test_cmp expect dir && - git -C repo sparse-checkout set deep/deeper1/deepest/ 2>err && - test_must_be_empty err && - check_files repo a deep && - check_files repo/deep a deeper1 && - check_files repo/deep/deeper1 a deepest && - cat >expect <<-\EOF && - /* - !/*/ - /deep/ - !/deep/*/ - /deep/deeper1/ - !/deep/deeper1/*/ - /deep/deeper1/deepest/ +expecting success of 0300.31 'helpers can abort the process': + test_must_fail git \ + -c credential.helper=quit \ + -c credential.helper="verbatim foo bar" \ + credential fill >stdout 2>stderr <<-\EOF && + protocol=http + host=example.com EOF - test_cmp expect repo/.git/info/sparse-checkout && - git -C repo sparse-checkout set --stdin 2>err <<-\EOF && - folder1 - folder2 + test_must_be_empty stdout && + cat >expect <<-\EOF && + quit: get + quit: protocol=http + quit: host=example.com + fatal: credential helper 'quit' told us to quit EOF - test_must_be_empty err && - check_files repo a folder1 folder2 + test_i18ncmp expect stderr -core.sparsecheckoutcone=true -ok 16 - cone mode: init and set +ok 31 - helpers can abort the process -expecting success of 1091.17 'cone mode: list': - cat >expect <<-\EOF && - folder1 - folder2 +expecting success of 0300.32 'empty helper spec resets helper list': + test_config credential.helper "verbatim file file" && + check fill "" "verbatim cmdline cmdline" <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=cmdline + password=cmdline + -- + verbatim: get + verbatim: protocol=http + verbatim: host=example.com EOF - git -C repo sparse-checkout set --stdin actual 2>err && - test_must_be_empty err && - test_cmp expect actual -ok 17 - cone mode: list +ok 32 - empty helper spec resets helper list -expecting success of 1091.18 'cone mode: set with nested folders': - git -C repo sparse-checkout set deep deep/deeper1/deepest 2>err && - test_line_count = 0 err && +expecting success of 0300.33 'url parser rejects embedded newlines': + test_must_fail git credential fill 2>stderr <<-\EOF && + url=https://one.example.com?%0ahost=two.example.com/ + EOF cat >expect <<-\EOF && - /* - !/*/ - /deep/ + warning: url contains a newline in its path component: https://one.example.com?%0ahost=two.example.com/ + fatal: credential url cannot be parsed: https://one.example.com?%0ahost=two.example.com/ EOF - test_cmp repo/.git/info/sparse-checkout expect + test_i18ncmp expect stderr -ok 18 - cone mode: set with nested folders +ok 33 - url parser rejects embedded newlines -expecting success of 1091.19 'cone mode: add independent path': - git -C repo sparse-checkout set deep/deeper1 && - git -C repo sparse-checkout add folder1 && - cat >expect <<-\EOF && - /* - !/*/ - /deep/ - !/deep/*/ - /deep/deeper1/ - /folder1/ +expecting success of 0300.34 'host-less URLs are parsed as empty host': + check fill "verbatim foo bar" <<-\EOF + url=cert:///path/to/cert.pem + -- + protocol=cert + host= + path=path/to/cert.pem + username=foo + password=bar + -- + verbatim: get + verbatim: protocol=cert + verbatim: host= + verbatim: path=path/to/cert.pem EOF - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a deep folder1 -ok 19 - cone mode: add independent path +ok 34 - host-less URLs are parsed as empty host -expecting success of 1091.20 'cone mode: add sibling path': - git -C repo sparse-checkout set deep/deeper1 && - git -C repo sparse-checkout add deep/deeper2 && +expecting success of 0300.35 'credential system refuses to work with missing host': + test_must_fail git credential fill 2>stderr <<-\EOF && + protocol=http + EOF cat >expect <<-\EOF && - /* - !/*/ - /deep/ - !/deep/*/ - /deep/deeper1/ - /deep/deeper2/ + fatal: refusing to work with credential missing host field EOF - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a deep + test_i18ncmp expect stderr -ok 20 - cone mode: add sibling path +ok 35 - credential system refuses to work with missing host -expecting success of 1091.21 'cone mode: add parent path': - git -C repo sparse-checkout set deep/deeper1 folder1 && - git -C repo sparse-checkout add deep && +expecting success of 0300.36 'credential system refuses to work with missing protocol': + test_must_fail git credential fill 2>stderr <<-\EOF && + host=example.com + EOF cat >expect <<-\EOF && - /* - !/*/ - /deep/ - /folder1/ + fatal: refusing to work with credential missing protocol field EOF - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a deep folder1 + test_i18ncmp expect stderr -ok 21 - cone mode: add parent path +ok 36 - credential system refuses to work with missing protocol -expecting success of 1091.22 'not-up-to-date does not block rest of sparsification': - test_when_finished git -C repo sparse-checkout disable && - test_when_finished git -C repo reset --hard && - git -C repo sparse-checkout set deep && +expecting success of 0300.37 'url parser handles bare query marker': + check_host_and_path https://example.com?foo.git example.com ?foo.git - echo update >repo/deep/deeper2/a && - cp repo/.git/info/sparse-checkout expect && - test_write_lines "!/deep/*/" "/deep/deeper1/" >>expect && +ok 37 - url parser handles bare query marker - git -C repo sparse-checkout set deep/deeper1 2>err && +expecting success of 0300.38 'url parser handles bare fragment marker': + check_host_and_path https://example.com#foo.git example.com "#foo.git" - test_i18ngrep "The following paths are not up to date" err && - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo/deep a deeper1 deeper2 && - check_files repo/deep/deeper1 a deepest && - check_files repo/deep/deeper1/deepest a && - check_files repo/deep/deeper2 a +ok 38 - url parser handles bare fragment marker -warning: The following paths are not up to date and were left despite sparse patterns: -HEAD is now at ebf8b57 initial commit -ok 22 - not-up-to-date does not block rest of sparsification +expecting success of 0300.39 'url parser not confused by encoded markers': + check_host_and_path https://example.com%23%3f%2f/foo.git \ + "example.com#?/" foo.git -expecting success of 1091.23 'revert to old sparse-checkout on empty update': - git init empty-test && - ( - echo >file && - git add file && - git commit -m "test" && - git sparse-checkout set nothing 2>err && - test_i18ngrep ! "Sparse checkout leaves no entry on working directory" err && - test_i18ngrep ! ".git/index.lock" err && - git sparse-checkout set file - ) +ok 39 - url parser not confused by encoded markers -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/empty-test/.git/ -[master (root-commit) d402fe2] test - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file -ok 23 - revert to old sparse-checkout on empty update +expecting success of 0300.40 'credential config with partial URLs': + echo "echo password=yep" | write_script git-credential-yep && + test_write_lines url=https://user@example.com/repo.git >stdin && + for partial in \ + example.com \ + user@example.com \ + https:// \ + https://example.com \ + https://example.com/ \ + https://user@example.com \ + https://user@example.com/ \ + https://example.com/repo.git \ + https://user@example.com/repo.git \ + /repo.git + do + git -c credential.$partial.helper=yep \ + credential fill stdout && + grep yep stdout || + return 1 + done && -expecting success of 1091.24 'fail when lock is taken': - test_when_finished rm -rf repo/.git/info/sparse-checkout.lock && - touch repo/.git/info/sparse-checkout.lock && - test_must_fail git -C repo sparse-checkout set deep 2>err && - test_i18ngrep "Unable to create .*\.lock" err + for partial in \ + dont.use.this \ + http:// \ + /repo + do + git -c credential.$partial.helper=yep \ + credential fill stdout && + ! grep yep stdout || + return 1 + done && -fatal: Unable to create '/build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/repo/.git/info/sparse-checkout.lock': File exists. -ok 24 - fail when lock is taken + git -c credential.$partial.helper=yep \ + -c credential.with%0anewline.username=uh-oh \ + credential fill stdout 2>stderr && + test_i18ngrep "skipping credential lookup for key" stderr -expecting success of 1091.25 '.gitignore should not warn about cone mode': - git -C repo config --worktree core.sparseCheckoutCone true && - echo "**/bin/*" >repo/.gitignore && - git -C repo reset --hard 2>err && - test_i18ngrep ! "disabling cone patterns" err +password=yep +password=yep +password=yep +password=yep +password=yep +password=yep +password=yep +password=yep +password=yep +password=yep +askpass: Password for 'https://user@example.com': +askpass: Password for 'https://user@example.com': +askpass: Password for 'https://user@example.com': +warning: skipping credential lookup for key: credential.with%0anewline +ok 40 - credential config with partial URLs -HEAD is now at ebf8b57 initial commit -ok 25 - .gitignore should not warn about cone mode +# passed all 40 test(s) +1..40 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t0301-credential-cache.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0301-credential-cache/.git/ +expecting success of 0301.1 'helper (cache) has no existing data': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1091.26 'sparse-checkout (init|set|disable) warns with dirty status': - git clone repo dirty && - echo dirty >dirty/folder1/a && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false - git -C dirty sparse-checkout init 2>err && - test_i18ngrep "warning.*The following paths are not up to date" err && +) +prerequisite C_LOCALE_OUTPUT ok +ok 1 - helper (cache) has no existing data - git -C dirty sparse-checkout set /folder2/* /deep/deeper1/* 2>err && - test_i18ngrep "warning.*The following paths are not up to date" err && - test_path_is_file dirty/folder1/a && +expecting success of 0301.2 'helper (cache) stores password': + check approve $HELPER <<-\EOF + protocol=https + host=example.com + username=store-user + password=store-pass + EOF + +ok 2 - helper (cache) stores password - git -C dirty sparse-checkout disable 2>err && - test_must_be_empty err && +expecting success of 0301.3 'helper (cache) can retrieve password': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=store-user + password=store-pass + -- + EOF + +ok 3 - helper (cache) can retrieve password - git -C dirty reset --hard && - git -C dirty sparse-checkout init && - git -C dirty sparse-checkout set /folder2/* /deep/deeper1/* && - test_path_is_missing dirty/folder1/a && - git -C dirty sparse-checkout disable && - test_path_is_file dirty/folder1/a +expecting success of 0301.4 'helper (cache) requires matching protocol': + check fill $HELPER <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://example.com': + askpass: Password for 'http://askpass-username@example.com': + EOF + +ok 4 - helper (cache) requires matching protocol -Cloning into 'dirty'... -done. -warning: The following paths are not up to date and were left despite sparse patterns: -warning: The following paths are not up to date and were left despite sparse patterns: -HEAD is now at ebf8b57 initial commit -ok 26 - sparse-checkout (init|set|disable) warns with dirty status +expecting success of 0301.5 'helper (cache) requires matching host': + check fill $HELPER <<-\EOF + protocol=https + host=other.tld + -- + protocol=https + host=other.tld + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://other.tld': + askpass: Password for 'https://askpass-username@other.tld': + EOF + +ok 5 - helper (cache) requires matching host -expecting success of 1091.27 'sparse-checkout (init|set|disable) warns with unmerged status': - git clone repo unmerged && +expecting success of 0301.6 'helper (cache) requires matching username': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=other + -- + protocol=https + host=example.com + username=other + password=askpass-password + -- + askpass: Password for 'https://other@example.com': + EOF + +ok 6 - helper (cache) requires matching username - cat >input <<-EOF && - 0 $ZERO_OID folder1/a - 100644 $(git -C unmerged rev-parse HEAD:folder1/a) 1 folder1/a - EOF - git -C unmerged update-index --index-info err && - test_i18ngrep "warning.*The following paths are unmerged" err && +expecting success of 0301.8 'helper (cache) can forget host': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 8 - helper (cache) can forget host - git -C unmerged sparse-checkout set /folder2/* /deep/deeper1/* 2>err && - test_i18ngrep "warning.*The following paths are unmerged" err && - test_path_is_file dirty/folder1/a && +expecting success of 0301.9 'helper (cache) can store multiple users': + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + check fill $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 9 - helper (cache) can store multiple users - git -C unmerged sparse-checkout disable 2>err && - test_i18ngrep "warning.*The following paths are unmerged" err && +expecting success of 0301.10 'helper (cache) can forget user': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=askpass-password + -- + askpass: Password for 'https://user1@example.com': + EOF + +ok 10 - helper (cache) can forget user - git -C unmerged reset --hard && - git -C unmerged sparse-checkout init && - git -C unmerged sparse-checkout set /folder2/* /deep/deeper1/* && - git -C unmerged sparse-checkout disable +expecting success of 0301.11 'helper (cache) remembers other user': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 11 - helper (cache) remembers other user -Cloning into 'unmerged'... -done. -warning: The following paths are unmerged and were left despite sparse patterns: -warning: The following paths are unmerged and were left despite sparse patterns: -warning: The following paths are unmerged and were left despite sparse patterns: -HEAD is now at ebf8b57 initial commit -ok 27 - sparse-checkout (init|set|disable) warns with unmerged status +expecting success of 0301.12 'helper (cache) can store empty username': + check approve $HELPER <<-\EOF && + protocol=https + host=sso.tld + username= + password= + EOF + check fill $HELPER <<-\EOF + protocol=https + host=sso.tld + -- + protocol=https + host=sso.tld + username= + password= + EOF + +ok 12 - helper (cache) can store empty username -expecting success of 1091.28 'sparse-checkout reapply': - git clone repo tweak && +expecting success of 0301.13 'socket defaults to ~/.cache/git/credential/socket': + test_when_finished " + git credential-cache exit && + rmdir -p .cache/git/credential/ + " && + test_path_is_missing "$HOME/.git-credential-cache" && + test -S "$HOME/.cache/git/credential/socket" - echo dirty >tweak/deep/deeper2/a && +ok 13 - socket defaults to ~/.cache/git/credential/socket - cat >input <<-EOF && - 0 $ZERO_OID folder1/a - 100644 $(git -C tweak rev-parse HEAD:folder1/a) 1 folder1/a - EOF - git -C tweak update-index --index-info err && - test_i18ngrep "warning.*The following paths are not up to date" err && - test_i18ngrep "warning.*The following paths are unmerged" err && +expecting success of 0301.15 'helper (cache) stores password': + check approve $HELPER <<-\EOF + protocol=https + host=example.com + username=store-user + password=store-pass + EOF + +ok 15 - helper (cache) stores password - git -C tweak sparse-checkout set folder2 deep/deeper1 2>err && - test_i18ngrep "warning.*The following paths are not up to date" err && - test_i18ngrep "warning.*The following paths are unmerged" err && +expecting success of 0301.16 'helper (cache) can retrieve password': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=store-user + password=store-pass + -- + EOF + +ok 16 - helper (cache) can retrieve password - git -C tweak sparse-checkout reapply 2>err && - test_i18ngrep "warning.*The following paths are not up to date" err && - test_path_is_file tweak/deep/deeper2/a && - test_i18ngrep "warning.*The following paths are unmerged" err && - test_path_is_file tweak/folder1/a && +expecting success of 0301.17 'helper (cache) requires matching protocol': + check fill $HELPER <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://example.com': + askpass: Password for 'http://askpass-username@example.com': + EOF + +ok 17 - helper (cache) requires matching protocol - git -C tweak checkout HEAD deep/deeper2/a && - git -C tweak sparse-checkout reapply 2>err && - test_i18ngrep ! "warning.*The following paths are not up to date" err && - test_path_is_missing tweak/deep/deeper2/a && - test_i18ngrep "warning.*The following paths are unmerged" err && - test_path_is_file tweak/folder1/a && +expecting success of 0301.18 'helper (cache) requires matching host': + check fill $HELPER <<-\EOF + protocol=https + host=other.tld + -- + protocol=https + host=other.tld + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://other.tld': + askpass: Password for 'https://askpass-username@other.tld': + EOF + +ok 18 - helper (cache) requires matching host - git -C tweak add folder1/a && - git -C tweak sparse-checkout reapply 2>err && - test_must_be_empty err && - test_path_is_missing tweak/deep/deeper2/a && - test_path_is_missing tweak/folder1/a && +expecting success of 0301.19 'helper (cache) requires matching username': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=other + -- + protocol=https + host=example.com + username=other + password=askpass-password + -- + askpass: Password for 'https://other@example.com': + EOF + +ok 19 - helper (cache) requires matching username - git -C tweak sparse-checkout disable +expecting success of 0301.20 'helper (cache) requires matching path': + test_config credential.usehttppath true && + check approve $HELPER <<-\EOF && + protocol=http + host=path.tld + path=foo.git + username=user + password=pass + EOF + check fill $HELPER <<-\EOF + protocol=http + host=path.tld + path=bar.git + -- + protocol=http + host=path.tld + path=bar.git + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://path.tld/bar.git': + askpass: Password for 'http://askpass-username@path.tld/bar.git': + EOF + +ok 20 - helper (cache) requires matching path -Cloning into 'tweak'... -done. -warning: The following paths are not up to date and were left despite sparse patterns: -warning: The following paths are unmerged and were left despite sparse patterns: -warning: The following paths are not up to date and were left despite sparse patterns: -warning: The following paths are unmerged and were left despite sparse patterns: -warning: The following paths are not up to date and were left despite sparse patterns: -warning: The following paths are unmerged and were left despite sparse patterns: -Updated 1 path from 5b6118d -warning: The following paths are unmerged and were left despite sparse patterns: -ok 28 - sparse-checkout reapply +expecting success of 0301.21 'helper (cache) can forget host': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 21 - helper (cache) can forget host -expecting success of 1091.29 'cone mode: set with core.ignoreCase=true': - rm repo/.git/info/sparse-checkout && - git -C repo sparse-checkout init --cone && - git -C repo -c core.ignoreCase=true sparse-checkout set folder1 && - cat >expect <<-\EOF && - /* - !/*/ - /folder1/ - EOF - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a folder1 +expecting success of 0301.22 'helper (cache) can store multiple users': + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + check fill $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 22 - helper (cache) can store multiple users -ok 29 - cone mode: set with core.ignoreCase=true +expecting success of 0301.23 'helper (cache) can forget user': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=askpass-password + -- + askpass: Password for 'https://user1@example.com': + EOF + +ok 23 - helper (cache) can forget user -expecting success of 1091.30 'interaction with submodules': - git clone repo super && - ( - cd super && - mkdir modules && - git -c protocol.file.allow=always \ - submodule add ../repo modules/child && - git add . && - git commit -m "add submodule" && - git sparse-checkout init --cone && - git sparse-checkout set folder1 - ) && - check_files super a folder1 modules && - check_files super/modules/child a deep folder1 folder2 +expecting success of 0301.24 'helper (cache) remembers other user': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 24 - helper (cache) remembers other user -Cloning into 'super'... -done. -Cloning into '/build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/super/modules/child'... -done. -[master 7bdd197] add submodule - Author: A U Thor - 2 files changed, 4 insertions(+) - create mode 100644 .gitmodules - create mode 160000 modules/child -warning: unable to rmdir 'modules/child': Directory not empty -ok 30 - interaction with submodules +expecting success of 0301.25 'helper (cache) can store empty username': + check approve $HELPER <<-\EOF && + protocol=https + host=sso.tld + username= + password= + EOF + check fill $HELPER <<-\EOF + protocol=https + host=sso.tld + -- + protocol=https + host=sso.tld + username= + password= + EOF + +ok 25 - helper (cache) can store empty username -expecting success of 1091.31 'different sparse-checkouts with worktrees': - git -C repo worktree add --detach ../worktree && - check_files worktree "a deep folder1 folder2" && - git -C worktree sparse-checkout init --cone && - git -C repo sparse-checkout set folder1 && - git -C worktree sparse-checkout set deep/deeper1 && - check_files repo a folder1 && - check_files worktree a deep +expecting success of 0301.26 'use custom XDG_CACHE_HOME if set and default sockets are not created': + test_when_finished "git credential-cache exit" && + test -S "$XDG_CACHE_HOME/git/credential/socket" && + test_path_is_missing "$HOME/.git-credential-cache/socket" && + test_path_is_missing "$HOME/.cache/git/credential/socket" -Preparing worktree (detached HEAD ebf8b57) -HEAD is now at ebf8b57 initial commit -ok 31 - different sparse-checkouts with worktrees +ok 26 - use custom XDG_CACHE_HOME if set and default sockets are not created -expecting success of 1091.32 'set using filename keeps file on-disk': - git -C repo sparse-checkout set a deep && - cat >expect <<-\EOF && - /* - !/*/ - /a/ - /deep/ +expecting success of 0301.27 'credential-cache --socket option overrides default location': + test_when_finished " + git credential-cache exit --socket \"\$HOME/dir/socket\" && + rmdir \"\$HOME/dir\" + " && + check approve "cache --socket \"\$HOME/dir/socket\"" <<-\EOF && + protocol=https + host=example.com + username=store-user + password=store-pass EOF - test_cmp expect repo/.git/info/sparse-checkout && - check_files repo a deep + test -S "$HOME/dir/socket" -ok 32 - set using filename keeps file on-disk +ok 27 - credential-cache --socket option overrides default location -expecting success of 1091.33 'pattern-checks: /A/**': - cat >repo/.git/info/sparse-checkout <<-\EOF && - /* - !/*/ - /folder1/** +expecting success of 0301.28 'use custom XDG_CACHE_HOME even if xdg socket exists': + test_when_finished " + git credential-cache exit && + sane_unset XDG_CACHE_HOME + " && + check approve cache <<-\EOF && + protocol=https + host=example.com + username=store-user + password=store-pass EOF - check_read_tree_errors repo "a folder1" "disabling cone pattern matching" - -warning: disabling cone pattern matching -ok 33 - pattern-checks: /A/** - -expecting success of 1091.34 'pattern-checks: /A/**/B/': - cat >repo/.git/info/sparse-checkout <<-\EOF && - /* - !/*/ - /deep/**/deepest + test -S "$HOME/.cache/git/credential/socket" && + XDG_CACHE_HOME="$HOME/xdg" && + export XDG_CACHE_HOME && + check approve cache <<-\EOF && + protocol=https + host=example.com + username=store-user + password=store-pass EOF - check_read_tree_errors repo "a deep" "disabling cone pattern matching" && - check_files repo/deep "deeper1" && - check_files repo/deep/deeper1 "deepest" + test -S "$XDG_CACHE_HOME/git/credential/socket" -warning: disabling cone pattern matching -ok 34 - pattern-checks: /A/**/B/ +ok 28 - use custom XDG_CACHE_HOME even if xdg socket exists -expecting success of 1091.35 'pattern-checks: too short': - cat >repo/.git/info/sparse-checkout <<-\EOF && - /* - !/*/ - / +expecting success of 0301.29 'use user socket if user directory exists': + test_when_finished " + git credential-cache exit && + rmdir \"\$HOME/.git-credential-cache/\" + " && + mkdir -p -m 700 "$HOME/.git-credential-cache/" && + check approve cache <<-\EOF && + protocol=https + host=example.com + username=store-user + password=store-pass EOF - check_read_tree_errors repo "a" "disabling cone pattern matching" + test -S "$HOME/.git-credential-cache/socket" -warning: disabling cone pattern matching -ok 35 - pattern-checks: too short +ok 29 - use user socket if user directory exists -expecting success of 1091.36 'pattern-checks: not too short': - cat >repo/.git/info/sparse-checkout <<-\EOF && - /* - !/*/ - /b/ - EOF - git -C repo read-tree -mu HEAD 2>err && - test_must_be_empty err && - check_files repo a +checking prerequisite: SYMLINKS -ok 36 - pattern-checks: not too short +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -expecting success of 1091.37 'pattern-checks: trailing "*"': - cat >repo/.git/info/sparse-checkout <<-\EOF && - /* - !/*/ - /a* +) +prerequisite SYMLINKS ok +expecting success of 0301.30 'use user socket if user directory is a symlink to a directory': + test_when_finished " + git credential-cache exit && + rmdir \"\$HOME/dir/\" && + rm \"\$HOME/.git-credential-cache\" + " && + mkdir -p -m 700 "$HOME/dir/" && + ln -s "$HOME/dir" "$HOME/.git-credential-cache" && + check approve cache <<-\EOF && + protocol=https + host=example.com + username=store-user + password=store-pass EOF - check_read_tree_errors repo "a" "disabling cone pattern matching" - -warning: disabling cone pattern matching -ok 37 - pattern-checks: trailing "*" + test -S "$HOME/.git-credential-cache/socket" -expecting success of 1091.38 'pattern-checks: starting "*"': - cat >repo/.git/info/sparse-checkout <<-\EOF && - /* - !/*/ - *eep/ - EOF - check_read_tree_errors repo "a deep" "disabling cone pattern matching" +ok 30 - use user socket if user directory is a symlink to a directory -warning: disabling cone pattern matching -ok 38 - pattern-checks: starting "*" - -expecting success of 1091.39 'pattern-checks: contained glob characters': - for c in "[a]" "\\" "?" "*" - do - cat >repo/.git/info/sparse-checkout <<-EOF && - /* - !/*/ - something$c-else/ +expecting success of 0301.31 'helper (cache --timeout=1) times out': + check approve "$HELPER" <<-\EOF && + protocol=https + host=timeout.tld + username=user + password=pass EOF - check_read_tree_errors repo "a" "disabling cone pattern matching" - done - -warning: disabling cone pattern matching -warning: disabling cone pattern matching -warning: disabling cone pattern matching -warning: disabling cone pattern matching -ok 39 - pattern-checks: contained glob characters - -expecting success of 1091.40 'pattern-checks: escaped characters': - git clone repo escaped && - TREEOID=$(git -C escaped rev-parse HEAD:folder1) && - NEWTREE=$(git -C escaped mktree <<-EOF - $(git -C escaped ls-tree HEAD) - 040000 tree $TREEOID zbad\\dir - 040000 tree $TREEOID zdoes*exist - 040000 tree $TREEOID zglob[!a]? - EOF - ) && - COMMIT=$(git -C escaped commit-tree $NEWTREE -p HEAD) && - git -C escaped reset --hard $COMMIT && - check_files escaped "a deep folder1 folder2 zbad\\dir zdoes*exist" zglob[!a]? && - git -C escaped sparse-checkout init --cone && - git -C escaped sparse-checkout set zbad\\dir/bogus "zdoes*not*exist" "zdoes*exist" "zglob[!a]?" && - cat >expect <<-\EOF && - /* - !/*/ - /zbad\\dir/ - !/zbad\\dir/*/ - /zbad\\dir/bogus/ - /zdoes\*exist/ - /zdoes\*not\*exist/ - /zglob\[!a]\?/ - EOF - test_cmp expect escaped/.git/info/sparse-checkout && - check_read_tree_errors escaped "a zbad\\dir zdoes*exist zglob[!a]?" && - git -C escaped ls-tree -d --name-only HEAD >list-expect && - git -C escaped sparse-checkout set --stdin expect <<-\EOF && - /* - !/*/ - /deep/ - /folder1/ - /folder2/ - /zbad\\dir/ - /zdoes\*exist/ - /zglob\[!a]\?/ - EOF - test_cmp expect escaped/.git/info/sparse-checkout && - check_files escaped "a deep folder1 folder2 zbad\\dir zdoes*exist" zglob[!a]? && - git -C escaped sparse-checkout list >list-actual && - test_cmp list-expect list-actual - -Cloning into 'escaped'... -done. -HEAD is now at deac45b -ok 40 - pattern-checks: escaped characters - -ok 41 # skip cone mode replaces backslashes with slashes (missing MINGW) + sleep 2 && + check fill "$HELPER" <<-\EOF + protocol=https + host=timeout.tld + -- + protocol=https + host=timeout.tld + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://timeout.tld': + askpass: Password for 'https://askpass-username@timeout.tld': + EOF + +ok 31 - helper (cache --timeout=1) times out -# passed all 41 test(s) -1..41 +# passed all 31 test(s) +1..31 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0010-racy-git.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0010-racy-git/.git/ -expecting success of 0010.1 'Racy GIT trial #0 part A': test "" != "$files" -ok 1 - Racy GIT trial #0 part A +*** t0302-credential-store.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0302-credential-store/.git/ +expecting success of 0302.1 'helper (store) has no existing data': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 0010.2 'Racy GIT trial #0 part B': test "" != "$files" -ok 2 - Racy GIT trial #0 part B +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 0010.3 'Racy GIT trial #1 part A': test "" != "$files" -ok 3 - Racy GIT trial #1 part A +) +prerequisite C_LOCALE_OUTPUT ok +ok 1 - helper (store) has no existing data -expecting success of 0010.4 'Racy GIT trial #1 part B': test "" != "$files" -ok 4 - Racy GIT trial #1 part B +expecting success of 0302.2 'helper (store) stores password': + check approve $HELPER <<-\EOF + protocol=https + host=example.com + username=store-user + password=store-pass + EOF + +ok 2 - helper (store) stores password -expecting success of 0010.5 'Racy GIT trial #2 part A': test "" != "$files" -ok 5 - Racy GIT trial #2 part A +expecting success of 0302.3 'helper (store) can retrieve password': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=store-user + password=store-pass + -- + EOF + +ok 3 - helper (store) can retrieve password -expecting success of 0010.6 'Racy GIT trial #2 part B': test "" != "$files" -ok 6 - Racy GIT trial #2 part B +expecting success of 0302.4 'helper (store) requires matching protocol': + check fill $HELPER <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://example.com': + askpass: Password for 'http://askpass-username@example.com': + EOF + +ok 4 - helper (store) requires matching protocol -expecting success of 0010.7 'Racy GIT trial #3 part A': test "" != "$files" -ok 7 - Racy GIT trial #3 part A +expecting success of 0302.5 'helper (store) requires matching host': + check fill $HELPER <<-\EOF + protocol=https + host=other.tld + -- + protocol=https + host=other.tld + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://other.tld': + askpass: Password for 'https://askpass-username@other.tld': + EOF + +ok 5 - helper (store) requires matching host -expecting success of 0010.8 'Racy GIT trial #3 part B': test "" != "$files" -ok 8 - Racy GIT trial #3 part B +expecting success of 0302.6 'helper (store) requires matching username': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=other + -- + protocol=https + host=example.com + username=other + password=askpass-password + -- + askpass: Password for 'https://other@example.com': + EOF + +ok 6 - helper (store) requires matching username -expecting success of 0010.9 'Racy GIT trial #4 part A': test "" != "$files" -ok 9 - Racy GIT trial #4 part A +expecting success of 0302.7 'helper (store) requires matching path': + test_config credential.usehttppath true && + check approve $HELPER <<-\EOF && + protocol=http + host=path.tld + path=foo.git + username=user + password=pass + EOF + check fill $HELPER <<-\EOF + protocol=http + host=path.tld + path=bar.git + -- + protocol=http + host=path.tld + path=bar.git + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://path.tld/bar.git': + askpass: Password for 'http://askpass-username@path.tld/bar.git': + EOF + +ok 7 - helper (store) requires matching path -expecting success of 0010.10 'Racy GIT trial #4 part B': test "" != "$files" -ok 10 - Racy GIT trial #4 part B +expecting success of 0302.8 'helper (store) can forget host': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 8 - helper (store) can forget host -# passed all 10 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1401-symbolic-ref.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1401-symbolic-ref/.git/ -expecting success of 1401.1 'symbolic-ref writes HEAD': - git symbolic-ref HEAD refs/heads/foo && - echo ref: refs/heads/foo >expect && - test_cmp expect .git/HEAD +expecting success of 0302.9 'helper (store) can store multiple users': + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + check fill $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 9 - helper (store) can store multiple users -ok 1 - symbolic-ref writes HEAD +expecting success of 0302.10 'helper (store) can forget user': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=askpass-password + -- + askpass: Password for 'https://user1@example.com': + EOF + +ok 10 - helper (store) can forget user -expecting success of 1401.2 'symbolic-ref reads HEAD': - echo refs/heads/foo >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual +expecting success of 0302.11 'helper (store) remembers other user': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 11 - helper (store) remembers other user -ok 2 - symbolic-ref reads HEAD +expecting success of 0302.12 'helper (store) can store empty username': + check approve $HELPER <<-\EOF && + protocol=https + host=sso.tld + username= + password= + EOF + check fill $HELPER <<-\EOF + protocol=https + host=sso.tld + -- + protocol=https + host=sso.tld + username= + password= + EOF + +ok 12 - helper (store) can store empty username -expecting success of 1401.3 'symbolic-ref refuses non-ref for HEAD': - test_must_fail git symbolic-ref HEAD foo +expecting success of 0302.13 'when xdg file does not exist, xdg file not created': + test_path_is_missing "$HOME/.config/git/credentials" && + test -s "$HOME/.git-credentials" -fatal: Refusing to point HEAD outside of refs/ -ok 3 - symbolic-ref refuses non-ref for HEAD +ok 13 - when xdg file does not exist, xdg file not created -expecting success of 1401.4 'symbolic-ref refuses bare sha1': - echo content >file && git add file && git commit -m one && - test_must_fail git symbolic-ref HEAD $(git rev-parse HEAD) +expecting success of 0302.14 'setup xdg file': + rm -f "$HOME/.git-credentials" && + mkdir -p "$HOME/.config/git" && + >"$HOME/.config/git/credentials" -[foo (root-commit) f39a923] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file -fatal: Refusing to point HEAD outside of refs/ -ok 4 - symbolic-ref refuses bare sha1 +ok 14 - setup xdg file -expecting success of 1401.5 'HEAD cannot be removed': - test_must_fail git symbolic-ref -d HEAD +expecting success of 0302.15 'helper (store) has no existing data': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 15 - helper (store) has no existing data -fatal: deleting 'HEAD' is not allowed -ok 5 - HEAD cannot be removed +expecting success of 0302.16 'helper (store) stores password': + check approve $HELPER <<-\EOF + protocol=https + host=example.com + username=store-user + password=store-pass + EOF + +ok 16 - helper (store) stores password -expecting success of 1401.6 'symbolic-ref can be deleted': - git symbolic-ref NOTHEAD refs/heads/foo && - git symbolic-ref -d NOTHEAD && - test_path_is_file .git/refs/heads/foo && - test_path_is_missing .git/NOTHEAD +expecting success of 0302.17 'helper (store) can retrieve password': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=store-user + password=store-pass + -- + EOF + +ok 17 - helper (store) can retrieve password -ok 6 - symbolic-ref can be deleted +expecting success of 0302.18 'helper (store) requires matching protocol': + check fill $HELPER <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://example.com': + askpass: Password for 'http://askpass-username@example.com': + EOF + +ok 18 - helper (store) requires matching protocol -expecting success of 1401.7 'symbolic-ref can delete dangling symref': - git symbolic-ref NOTHEAD refs/heads/missing && - git symbolic-ref -d NOTHEAD && - test_path_is_missing .git/refs/heads/missing && - test_path_is_missing .git/NOTHEAD +expecting success of 0302.19 'helper (store) requires matching host': + check fill $HELPER <<-\EOF + protocol=https + host=other.tld + -- + protocol=https + host=other.tld + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://other.tld': + askpass: Password for 'https://askpass-username@other.tld': + EOF + +ok 19 - helper (store) requires matching host -ok 7 - symbolic-ref can delete dangling symref +expecting success of 0302.20 'helper (store) requires matching username': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=other + -- + protocol=https + host=example.com + username=other + password=askpass-password + -- + askpass: Password for 'https://other@example.com': + EOF + +ok 20 - helper (store) requires matching username -expecting success of 1401.8 'symbolic-ref fails to delete missing FOO': - echo "fatal: Cannot delete FOO, not a symbolic ref" >expect && - test_must_fail git symbolic-ref -d FOO >actual 2>&1 && - test_cmp expect actual +expecting success of 0302.21 'helper (store) requires matching path': + test_config credential.usehttppath true && + check approve $HELPER <<-\EOF && + protocol=http + host=path.tld + path=foo.git + username=user + password=pass + EOF + check fill $HELPER <<-\EOF + protocol=http + host=path.tld + path=bar.git + -- + protocol=http + host=path.tld + path=bar.git + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://path.tld/bar.git': + askpass: Password for 'http://askpass-username@path.tld/bar.git': + EOF + +ok 21 - helper (store) requires matching path -ok 8 - symbolic-ref fails to delete missing FOO +expecting success of 0302.22 'helper (store) can forget host': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 22 - helper (store) can forget host -expecting success of 1401.9 'symbolic-ref fails to delete real ref': - echo "fatal: Cannot delete refs/heads/foo, not a symbolic ref" >expect && - test_must_fail git symbolic-ref -d refs/heads/foo >actual 2>&1 && - git rev-parse --verify refs/heads/foo && - test_cmp expect actual +expecting success of 0302.23 'helper (store) can store multiple users': + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + check fill $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 23 - helper (store) can store multiple users -f39a92305d069e3dcdc4ce95c3001deec3642dc3 -ok 9 - symbolic-ref fails to delete real ref +expecting success of 0302.24 'helper (store) can forget user': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=askpass-password + -- + askpass: Password for 'https://user1@example.com': + EOF + +ok 24 - helper (store) can forget user -expecting success of 1401.10 'create large ref name': - # make 256+ character ref; some systems may not handle that, - # so be gentle - long=0123456789abcdef && - long=$long/$long/$long/$long && - long=$long/$long/$long/$long && - long_ref=refs/heads/$long && - tree=$(git write-tree) && - commit=$(echo foo | git commit-tree $tree) && - if git update-ref $long_ref $commit; then - test_set_prereq LONG_REF - else - echo >&2 "long refs not supported" - fi +expecting success of 0302.25 'helper (store) remembers other user': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 25 - helper (store) remembers other user -ok 10 - create large ref name +expecting success of 0302.26 'helper (store) can store empty username': + check approve $HELPER <<-\EOF && + protocol=https + host=sso.tld + username= + password= + EOF + check fill $HELPER <<-\EOF + protocol=https + host=sso.tld + -- + protocol=https + host=sso.tld + username= + password= + EOF + +ok 26 - helper (store) can store empty username -expecting success of 1401.11 'symbolic-ref can point to large ref name': - git symbolic-ref HEAD $long_ref && - echo $long_ref >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual +expecting success of 0302.27 'when xdg file exists, home file not created': + test -s "$HOME/.config/git/credentials" && + test_path_is_missing "$HOME/.git-credentials" -ok 11 - symbolic-ref can point to large ref name +ok 27 - when xdg file exists, home file not created -expecting success of 1401.12 'we can parse long symbolic ref': - echo $commit >expect && - git rev-parse --verify HEAD >actual && - test_cmp expect actual +expecting success of 0302.28 'setup custom xdg file': + rm -f "$HOME/.git-credentials" && + rm -f "$HOME/.config/git/credentials" && + mkdir -p "$HOME/xdg/git" && + >"$HOME/xdg/git/credentials" -ok 12 - we can parse long symbolic ref +ok 28 - setup custom xdg file -expecting success of 1401.13 'symbolic-ref reports failure in exit code': - test_when_finished "rm -f .git/HEAD.lock" && - >.git/HEAD.lock && - test_must_fail git symbolic-ref HEAD refs/heads/whatever +expecting success of 0302.29 'helper (store) has no existing data': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 29 - helper (store) has no existing data -error: Unable to create '/build/git-2.30.2/t/trash directory.t1401-symbolic-ref/.git/HEAD.lock': File exists. +expecting success of 0302.30 'helper (store) stores password': + check approve $HELPER <<-\EOF + protocol=https + host=example.com + username=store-user + password=store-pass + EOF + +ok 30 - helper (store) stores password -Another git process seems to be running in this repository, e.g. -an editor opened by 'git commit'. Please make sure all processes -are terminated then try again. If it still fails, a git process -may have crashed in this repository earlier: -remove the file manually to continue. -ok 13 - symbolic-ref reports failure in exit code +expecting success of 0302.31 'helper (store) can retrieve password': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=store-user + password=store-pass + -- + EOF + +ok 31 - helper (store) can retrieve password -expecting success of 1401.14 'symbolic-ref writes reflog entry': - git checkout -b log1 && - test_commit one && - git checkout -b log2 && - test_commit two && - git checkout --orphan orphan && - git symbolic-ref -m create HEAD refs/heads/log1 && - git symbolic-ref -m update HEAD refs/heads/log2 && - cat >expect <<-\EOF && - update - create - EOF - git log --format=%gs -g -2 >actual && - test_cmp expect actual +expecting success of 0302.32 'helper (store) requires matching protocol': + check fill $HELPER <<-\EOF + protocol=http + host=example.com + -- + protocol=http + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://example.com': + askpass: Password for 'http://askpass-username@example.com': + EOF + +ok 32 - helper (store) requires matching protocol -Switched to a new branch 'log1' -[log1 6782655] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -Switched to a new branch 'log2' -[log2 4d9c76a] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -Switched to a new branch 'orphan' -ok 14 - symbolic-ref writes reflog entry +expecting success of 0302.33 'helper (store) requires matching host': + check fill $HELPER <<-\EOF + protocol=https + host=other.tld + -- + protocol=https + host=other.tld + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://other.tld': + askpass: Password for 'https://askpass-username@other.tld': + EOF + +ok 33 - helper (store) requires matching host -expecting success of 1401.15 'symbolic-ref does not create ref d/f conflicts': - git checkout -b df && - test_commit df && - test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df && - git pack-refs --all --prune && - test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df +expecting success of 0302.34 'helper (store) requires matching username': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=other + -- + protocol=https + host=example.com + username=other + password=askpass-password + -- + askpass: Password for 'https://other@example.com': + EOF + +ok 34 - helper (store) requires matching username -Switched to a new branch 'df' -[df 39fb238] df - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 df.t -error: Unable to create '/build/git-2.30.2/t/trash directory.t1401-symbolic-ref/.git/refs/heads/df/conflict.lock': Not a directory -error: 'refs/heads/df' exists; cannot create 'refs/heads/df/conflict' -ok 15 - symbolic-ref does not create ref d/f conflicts +expecting success of 0302.35 'helper (store) requires matching path': + test_config credential.usehttppath true && + check approve $HELPER <<-\EOF && + protocol=http + host=path.tld + path=foo.git + username=user + password=pass + EOF + check fill $HELPER <<-\EOF + protocol=http + host=path.tld + path=bar.git + -- + protocol=http + host=path.tld + path=bar.git + username=askpass-username + password=askpass-password + -- + askpass: Username for 'http://path.tld/bar.git': + askpass: Password for 'http://askpass-username@path.tld/bar.git': + EOF + +ok 35 - helper (store) requires matching path -expecting success of 1401.16 'symbolic-ref can overwrite pointer to invalid name': - test_when_finished reset_to_sane && - head=$(git rev-parse HEAD) && - git symbolic-ref HEAD refs/heads/outer && - test_when_finished "git update-ref -d refs/heads/outer/inner" && - git update-ref refs/heads/outer/inner $head && - git symbolic-ref HEAD refs/heads/unrelated +expecting success of 0302.36 'helper (store) can forget host': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + EOF + +ok 36 - helper (store) can forget host -ok 16 - symbolic-ref can overwrite pointer to invalid name +expecting success of 0302.37 'helper (store) can store multiple users': + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check approve $HELPER <<-\EOF && + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + check fill $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=pass1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 37 - helper (store) can store multiple users -expecting success of 1401.17 'symbolic-ref can resolve d/f name (EISDIR)': - test_when_finished reset_to_sane && - head=$(git rev-parse HEAD) && - git symbolic-ref HEAD refs/heads/outer/inner && - test_when_finished "git update-ref -d refs/heads/outer" && - git update-ref refs/heads/outer $head && - echo refs/heads/outer/inner >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual +expecting success of 0302.38 'helper (store) can forget user': + check reject $HELPER <<-\EOF && + protocol=https + host=example.com + username=user1 + EOF + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user1 + -- + protocol=https + host=example.com + username=user1 + password=askpass-password + -- + askpass: Password for 'https://user1@example.com': + EOF + +ok 38 - helper (store) can forget user -ok 17 - symbolic-ref can resolve d/f name (EISDIR) +expecting success of 0302.39 'helper (store) remembers other user': + check fill $HELPER <<-\EOF + protocol=https + host=example.com + username=user2 + -- + protocol=https + host=example.com + username=user2 + password=pass2 + EOF + +ok 39 - helper (store) remembers other user -expecting success of 1401.18 'symbolic-ref can resolve d/f name (ENOTDIR)': - test_when_finished reset_to_sane && - head=$(git rev-parse HEAD) && - git symbolic-ref HEAD refs/heads/outer && - test_when_finished "git update-ref -d refs/heads/outer/inner" && - git update-ref refs/heads/outer/inner $head && - echo refs/heads/outer >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual +expecting success of 0302.40 'helper (store) can store empty username': + check approve $HELPER <<-\EOF && + protocol=https + host=sso.tld + username= + password= + EOF + check fill $HELPER <<-\EOF + protocol=https + host=sso.tld + -- + protocol=https + host=sso.tld + username= + password= + EOF + +ok 40 - helper (store) can store empty username -ok 18 - symbolic-ref can resolve d/f name (ENOTDIR) +expecting success of 0302.41 'if custom xdg file exists, home and xdg files not created': + test_when_finished "rm -f \"$HOME/xdg/git/credentials\"" && + test -s "$HOME/xdg/git/credentials" && + test_path_is_missing "$HOME/.git-credentials" && + test_path_is_missing "$HOME/.config/git/credentials" -# passed all 18 test(s) -1..18 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1406-submodule-ref-store.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1406-submodule-ref-store/.git/ -expecting success of 1406.1 'setup': - git init sub && - ( - cd sub && - test_commit first && - git checkout -b new-master - ) +ok 41 - if custom xdg file exists, home and xdg files not created -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1406-submodule-ref-store/sub/.git/ -[master (root-commit) 50e526b] first - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 first.t -Switched to a new branch 'new-master' -ok 1 - setup +expecting success of 0302.42 'get: use home file if both home and xdg files have matches': + echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && + mkdir -p "$HOME/.config/git" && + echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=home-user + password=home-pass + -- + EOF -expecting success of 1406.2 'pack_refs() not allowed': - test_must_fail $RUN pack-refs 3 +ok 42 - get: use home file if both home and xdg files have matches -BUG: refs/files-backend.c:138: operation pack_refs requires abilities 0x6, but only have 0x5 -ok 2 - pack_refs() not allowed +expecting success of 0302.43 'get: use xdg file if home file has no matches': + >"$HOME/.git-credentials" && + mkdir -p "$HOME/.config/git" && + echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=xdg-user + password=xdg-pass + -- + EOF -expecting success of 1406.3 'peel_ref(new-tag)': - git -C sub rev-parse HEAD >expected && - git -C sub tag -a -m new-tag new-tag HEAD && - $RUN peel-ref refs/tags/new-tag >actual && - test_cmp expected actual +ok 43 - get: use xdg file if home file has no matches -ok 3 - peel_ref(new-tag) +checking prerequisite: SANITY -expecting success of 1406.4 'create_symref() not allowed': - test_must_fail $RUN create-symref FOO refs/heads/master nothing +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && -BUG: refs/files-backend.c:138: operation create_symref requires abilities 0x2, but only have 0x5 -ok 4 - create_symref() not allowed + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" -expecting success of 1406.5 'delete_refs() not allowed': - test_must_fail $RUN delete-refs 0 nothing FOO refs/tags/new-tag + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? -BUG: refs/files-backend.c:138: operation delete_refs requires abilities 0x2, but only have 0x5 -ok 5 - delete_refs() not allowed + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status -expecting success of 1406.6 'rename_refs() not allowed': - test_must_fail $RUN rename-ref refs/heads/master refs/heads/new-master +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 0302.44 'get: use xdg file if home file is unreadable': + echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && + chmod -r "$HOME/.git-credentials" && + mkdir -p "$HOME/.config/git" && + echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=xdg-user + password=xdg-pass + -- + EOF -BUG: refs/files-backend.c:138: operation rename_ref requires abilities 0x2, but only have 0x5 -ok 6 - rename_refs() not allowed +ok 44 - get: use xdg file if home file is unreadable -expecting success of 1406.7 'for_each_ref(refs/heads/)': - $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && - cat >expected <<-\EOF && - master 0x0 - new-master 0x0 +expecting success of 0302.45 'store: if both xdg and home files exist, only store in home file': + >"$HOME/.git-credentials" && + mkdir -p "$HOME/.config/git" && + >"$HOME/.config/git/credentials" && + check approve store <<-\EOF && + protocol=https + host=example.com + username=store-user + password=store-pass EOF - test_cmp expected actual - -ok 7 - for_each_ref(refs/heads/) + echo "https://store-user:store-pass@example.com" >expected && + test_cmp expected "$HOME/.git-credentials" && + test_must_be_empty "$HOME/.config/git/credentials" -expecting success of 1406.8 'for_each_ref() is sorted': - $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && - sort actual > expected && - test_cmp expected actual +ok 45 - store: if both xdg and home files exist, only store in home file -ok 8 - for_each_ref() is sorted +expecting success of 0302.46 'erase: erase matching credentials from both xdg and home files': + echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && + mkdir -p "$HOME/.config/git" && + echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && + check reject store <<-\EOF && + protocol=https + host=example.com + EOF + test_must_be_empty "$HOME/.git-credentials" && + test_must_be_empty "$HOME/.config/git/credentials" -expecting success of 1406.9 'resolve_ref(master)': - SHA1=`git -C sub rev-parse master` && - echo "$SHA1 refs/heads/master 0x0" >expected && - $RUN resolve-ref refs/heads/master 0 >actual && - test_cmp expected actual +ok 46 - erase: erase matching credentials from both xdg and home files -ok 9 - resolve_ref(master) +expecting success of 0302.47 'get: ignore credentials without scheme as invalid': + echo "$2" >"$HOME/.git-credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + -- + EOF + +ok 47 - get: ignore credentials without scheme as invalid -expecting success of 1406.10 'verify_ref(new-master)': - $RUN verify-ref refs/heads/new-master +expecting success of 0302.48 'get: ignore credentials without valid host/path as invalid': + echo "$2" >"$HOME/.git-credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + -- + EOF + +ok 48 - get: ignore credentials without valid host/path as invalid -ok 10 - verify_ref(new-master) +expecting success of 0302.49 'get: ignore credentials without username/password as invalid': + echo "$2" >"$HOME/.git-credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + -- + EOF + +ok 49 - get: ignore credentials without username/password as invalid -expecting success of 1406.11 'for_each_reflog()': - $RUN for-each-reflog | sort | cut -d" " -f 2- >actual && - cat >expected <<-\EOF && - HEAD 0x1 - refs/heads/master 0x0 - refs/heads/new-master 0x0 +expecting success of 0302.50 'get: credentials with DOS line endings are invalid': + printf "https://user:pass@example.com\r\n" >"$HOME/.git-credentials" && + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com': + askpass: Password for 'https://askpass-username@example.com': + -- EOF - test_cmp expected actual -ok 11 - for_each_reflog() +ok 50 - get: credentials with DOS line endings are invalid -expecting success of 1406.12 'for_each_reflog_ent()': - $RUN for-each-reflog-ent HEAD >actual && - head -n1 actual | grep first && - tail -n2 actual | head -n1 | grep master.to.new +expecting success of 0302.51 'get: credentials with path and DOS line endings are valid': + printf "https://user:pass@example.com/repo.git\r\n" >"$HOME/.git-credentials" && + check fill store <<-\EOF + url=https://example.com/repo.git + -- + protocol=https + host=example.com + username=user + password=pass + -- + EOF -0000000000000000000000000000000000000000 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 commit (initial): first -50e526bb426771f6036ad3a8b0c81d511d91fc2a 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 checkout: moving from master to new-master -ok 12 - for_each_reflog_ent() +ok 51 - get: credentials with path and DOS line endings are valid -expecting success of 1406.13 'for_each_reflog_ent_reverse()': - $RUN for-each-reflog-ent-reverse HEAD >actual && - head -n1 actual | grep master.to.new && - tail -n2 actual | head -n1 | grep first +expecting success of 0302.52 'get: credentials with DOS line endings are invalid if path is relevant': + printf "https://user:pass@example.com/repo.git\r\n" >"$HOME/.git-credentials" && + test_config credential.useHttpPath true && + check fill store <<-\EOF + url=https://example.com/repo.git + -- + protocol=https + host=example.com + path=repo.git + username=askpass-username + password=askpass-password + -- + askpass: Username for 'https://example.com/repo.git': + askpass: Password for 'https://askpass-username@example.com/repo.git': + -- + EOF -50e526bb426771f6036ad3a8b0c81d511d91fc2a 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 checkout: moving from master to new-master -0000000000000000000000000000000000000000 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 commit (initial): first -ok 13 - for_each_reflog_ent_reverse() +ok 52 - get: credentials with DOS line endings are invalid if path is relevant -expecting success of 1406.14 'reflog_exists(HEAD)': - $RUN reflog-exists HEAD +expecting success of 0302.53 'get: store file can contain empty/bogus lines': + echo "" >"$HOME/.git-credentials" && + q_to_tab <<-\CREDENTIAL >>"$HOME/.git-credentials" && + #comment + Q + https://user:pass@example.com + CREDENTIAL + check fill store <<-\EOF + protocol=https + host=example.com + -- + protocol=https + host=example.com + username=user + password=pass + -- + EOF -ok 14 - reflog_exists(HEAD) +ok 53 - get: store file can contain empty/bogus lines -expecting success of 1406.15 'delete_reflog() not allowed': - test_must_fail $RUN delete-reflog HEAD +# passed all 53 test(s) +1..53 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1003-read-tree-prefix.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1003-read-tree-prefix/.git/ +expecting success of 1003.1 'setup': + echo hello >one && + git update-index --add one && + tree=$(git write-tree) && + echo tree is $tree -BUG: refs/files-backend.c:138: operation delete_reflog requires abilities 0x2, but only have 0x5 -ok 15 - delete_reflog() not allowed +tree is 700196ec4e5b1c75e9f5481e5b545d78533ff917 +ok 1 - setup -expecting success of 1406.16 'create-reflog() not allowed': - test_must_fail $RUN create-reflog HEAD 1 +expecting success of 1003.2 'read-tree --prefix': + git read-tree --prefix=two/ $tree && + git ls-files >actual && + cmp expect actual -BUG: refs/files-backend.c:138: operation create_reflog requires abilities 0x2, but only have 0x5 -ok 16 - create-reflog() not allowed +ok 2 - read-tree --prefix -# passed all 16 test(s) -1..16 +# passed all 2 test(s) +1..2 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1403-show-ref.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1403-show-ref/.git/ -expecting success of 1403.1 'setup': - test_commit A && - git tag -f -a -m "annotated A" A && - git checkout -b side && - test_commit B && - git tag -f -a -m "annotated B" B && - git checkout master && - test_commit C && - git branch B A^0 +*** t1001-read-tree-m-2way.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1001-read-tree-m-2way/.git/ +expecting success of 1001.1 'setup': + echo frotz >frotz && + echo nitfol >nitfol && + cat bozbar-old >bozbar && + echo rezrov >rezrov && + echo yomin >yomin && + git update-index --add nitfol bozbar rezrov && + treeH=$(git write-tree) && + echo treeH $treeH && + git ls-tree $treeH && -[master (root-commit) 0ddfaf1] A - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 A.t -Updated tag 'A' (was 0ddfaf1) -Switched to a new branch 'side' -[side d9df450] B - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 B.t -Updated tag 'B' (was d9df450) -Switched to branch 'master' -[master 5dee784] C - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 C.t + cat bozbar-new >bozbar && + git update-index --add frotz bozbar --force-remove rezrov && + git ls-files --stage >M.out && + treeM=$(git write-tree) && + echo treeM $treeM && + git ls-tree $treeM && + git diff-tree $treeH $treeM + +treeH ca3aa9e6ee09349df7db6f0de15016afcdf5d9e4 +100644 blob 3e8d9abb979a4fbdc93309f457a5496bc41ba6ab bozbar +100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol +100644 blob 766498d93a4b06057a8e49d23f4068f1170ff38f rezrov +treeM d2c045ead2ecb56f2632385a395918bf21816c12 +100644 blob 346d4e61f111336a1443ef6b2e834aa5b1a7f91a bozbar +100644 blob 8e4020bb5a8d8c873b25de15933e75cc0fc275df frotz +100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol +:100644 100644 3e8d9abb979a4fbdc93309f457a5496bc41ba6ab 346d4e61f111336a1443ef6b2e834aa5b1a7f91a M bozbar +:000000 100644 0000000000000000000000000000000000000000 8e4020bb5a8d8c873b25de15933e75cc0fc275df A frotz +:100644 000000 766498d93a4b06057a8e49d23f4068f1170ff38f 0000000000000000000000000000000000000000 D rezrov ok 1 - setup -expecting success of 1403.2 'show-ref': - echo $(git rev-parse refs/tags/A) refs/tags/A >expect && +expecting success of 1001.2 '1, 2, 3 - no carry forward': + rm -f .git/index && + read_tree_twoway $treeH $treeM && + git ls-files --stage >1-3.out && + test_cmp M.out 1-3.out && + check_cache_at bozbar dirty && + check_cache_at frotz dirty && + check_cache_at nitfol dirty - git show-ref A >actual && - test_cmp expect actual && +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +bozbar: dirty +frotz: dirty +nitfol: dirty +ok 2 - 1, 2, 3 - no carry forward - git show-ref tags/A >actual && - test_cmp expect actual && +expecting success of 1001.3 '4 - carry forward local addition.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + git update-index --add yomin && + read_tree_twoway $treeH $treeM && + git ls-files --stage >4.out && + test_must_fail git diff --no-index M.out 4.out >4diff.out && + compare_change 4diff.out expected && + check_cache_at yomin clean - git show-ref refs/tags/A >actual && - test_cmp expect actual && +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +100644 0a41e115ab61be0328a19b29f18cdcb49338d516 0 yomin +yomin: clean +ok 3 - 4 - carry forward local addition. - test_must_fail git show-ref D >actual && - test_must_be_empty actual +expecting success of 1001.4 '5 - carry forward local addition.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo yomin >yomin && + git update-index --add yomin && + echo yomin yomin >yomin && + read_tree_twoway $treeH $treeM && + git ls-files --stage >5.out && + test_must_fail git diff --no-index M.out 5.out >5diff.out && + compare_change 5diff.out expected && + check_cache_at yomin dirty -ok 2 - show-ref +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +100644 0a41e115ab61be0328a19b29f18cdcb49338d516 0 yomin +yomin: dirty +ok 4 - 5 - carry forward local addition. -expecting success of 1403.3 'show-ref -q': - git show-ref -q A >actual && - test_must_be_empty actual && +expecting success of 1001.5 '6 - local addition already has the same.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + git update-index --add frotz && + read_tree_twoway $treeH $treeM && + git ls-files --stage >6.out && + test_cmp M.out 6.out && + check_cache_at frotz clean - git show-ref -q tags/A >actual && - test_must_be_empty actual && +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +frotz: clean +ok 5 - 6 - local addition already has the same. - git show-ref -q refs/tags/A >actual && - test_must_be_empty actual && +expecting success of 1001.6 '7 - local addition already has the same.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo frotz >frotz && + git update-index --add frotz && + echo frotz frotz >frotz && + read_tree_twoway $treeH $treeM && + git ls-files --stage >7.out && + test_cmp M.out 7.out && + check_cache_at frotz dirty - test_must_fail git show-ref -q D >actual && - test_must_be_empty actual +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +frotz: dirty +ok 6 - 7 - local addition already has the same. -ok 3 - show-ref -q +expecting success of 1001.7 '8 - conflicting addition.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo frotz frotz >frotz && + git update-index --add frotz && + if read_tree_twoway $treeH $treeM; then false; else :; fi -expecting success of 1403.4 'show-ref --verify': - echo $(git rev-parse refs/tags/A) refs/tags/A >expect && +error: Entry 'frotz' would be overwritten by merge. Cannot merge. +ok 7 - 8 - conflicting addition. - git show-ref --verify refs/tags/A >actual && - test_cmp expect actual && +expecting success of 1001.8 '9 - conflicting addition.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo frotz frotz >frotz && + git update-index --add frotz && + echo frotz >frotz && + if read_tree_twoway $treeH $treeM; then false; else :; fi - test_must_fail git show-ref --verify A >actual && - test_must_be_empty actual && +error: Entry 'frotz' would be overwritten by merge. Cannot merge. +ok 8 - 9 - conflicting addition. - test_must_fail git show-ref --verify tags/A >actual && - test_must_be_empty actual && +expecting success of 1001.9 '10 - path removed.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo rezrov >rezrov && + git update-index --add rezrov && + read_tree_twoway $treeH $treeM && + git ls-files --stage >10.out && + test_cmp M.out 10.out - test_must_fail git show-ref --verify D >actual && - test_must_be_empty actual +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +ok 9 - 10 - path removed. -fatal: 'A' - not a valid ref -fatal: 'tags/A' - not a valid ref -fatal: 'D' - not a valid ref -ok 4 - show-ref --verify +expecting success of 1001.10 '11 - dirty path removed.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo rezrov >rezrov && + git update-index --add rezrov && + echo rezrov rezrov >rezrov && + if read_tree_twoway $treeH $treeM; then false; else :; fi -expecting success of 1403.5 'show-ref --verify -q': - git show-ref --verify -q refs/tags/A >actual && - test_must_be_empty actual && +error: Entry 'rezrov' not uptodate. Cannot merge. +ok 10 - 11 - dirty path removed. - test_must_fail git show-ref --verify -q A >actual && - test_must_be_empty actual && +expecting success of 1001.11 '12 - unmatching local changes being removed.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo rezrov rezrov >rezrov && + git update-index --add rezrov && + if read_tree_twoway $treeH $treeM; then false; else :; fi - test_must_fail git show-ref --verify -q tags/A >actual && - test_must_be_empty actual && +error: Entry 'rezrov' would be overwritten by merge. Cannot merge. +ok 11 - 12 - unmatching local changes being removed. - test_must_fail git show-ref --verify -q D >actual && - test_must_be_empty actual +expecting success of 1001.12 '13 - unmatching local changes being removed.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo rezrov rezrov >rezrov && + git update-index --add rezrov && + echo rezrov >rezrov && + if read_tree_twoway $treeH $treeM; then false; else :; fi -ok 5 - show-ref --verify -q +error: Entry 'rezrov' would be overwritten by merge. Cannot merge. +ok 12 - 13 - unmatching local changes being removed. -expecting success of 1403.6 'show-ref -d': - { - echo $(git rev-parse refs/tags/A) refs/tags/A && - echo $(git rev-parse refs/tags/A^0) "refs/tags/A^{}" - echo $(git rev-parse refs/tags/C) refs/tags/C - } >expect && - git show-ref -d A C >actual && - test_cmp expect actual && +expecting success of 1001.13 '14 - unchanged in two heads.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo nitfol nitfol >nitfol && + git update-index --add nitfol && + read_tree_twoway $treeH $treeM && + git ls-files --stage >14.out && + test_must_fail git diff --no-index M.out 14.out >14diff.out && + compare_change 14diff.out expected && + check_cache_at nitfol clean - git show-ref -d tags/A tags/C >actual && - test_cmp expect actual && +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 7e1bf714fb103c778a21dd67411666901222425a 0 nitfol +nitfol: clean +ok 13 - 14 - unchanged in two heads. - git show-ref -d refs/tags/A refs/tags/C >actual && - test_cmp expect actual && +expecting success of 1001.14 '15 - unchanged in two heads.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo nitfol nitfol >nitfol && + git update-index --add nitfol && + echo nitfol nitfol nitfol >nitfol && + read_tree_twoway $treeH $treeM && + git ls-files --stage >15.out && + test_must_fail git diff --no-index M.out 15.out >15diff.out && + compare_change 15diff.out expected && + check_cache_at nitfol dirty - git show-ref --verify -d refs/tags/A refs/tags/C >actual && - test_cmp expect actual && +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 7e1bf714fb103c778a21dd67411666901222425a 0 nitfol +nitfol: dirty +ok 14 - 15 - unchanged in two heads. - echo $(git rev-parse refs/heads/master) refs/heads/master >expect && - git show-ref -d master >actual && - test_cmp expect actual && +expecting success of 1001.15 '16 - conflicting local change.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo bozbar bozbar >bozbar && + git update-index --add bozbar && + if read_tree_twoway $treeH $treeM; then false; else :; fi - git show-ref -d heads/master >actual && - test_cmp expect actual && +error: Entry 'bozbar' would be overwritten by merge. Cannot merge. +ok 15 - 16 - conflicting local change. - git show-ref -d refs/heads/master >actual && - test_cmp expect actual && +expecting success of 1001.16 '17 - conflicting local change.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + echo bozbar bozbar >bozbar && + git update-index --add bozbar && + echo bozbar bozbar bozbar >bozbar && + if read_tree_twoway $treeH $treeM; then false; else :; fi - git show-ref -d --verify refs/heads/master >actual && - test_cmp expect actual && +error: Entry 'bozbar' would be overwritten by merge. Cannot merge. +ok 16 - 17 - conflicting local change. - test_must_fail git show-ref -d --verify master >actual && - test_must_be_empty actual && +expecting success of 1001.17 '18 - local change already having a good result.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + cat bozbar-new >bozbar && + git update-index --add bozbar && + read_tree_twoway $treeH $treeM && + git ls-files --stage >18.out && + test_cmp M.out 18.out && + check_cache_at bozbar clean - test_must_fail git show-ref -d --verify heads/master >actual && - test_must_be_empty actual && +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +bozbar: clean +ok 17 - 18 - local change already having a good result. - test_must_fail git show-ref --verify -d A C >actual && - test_must_be_empty actual && +expecting success of 1001.18 '19 - local change already having a good result, further modified.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + cat bozbar-new >bozbar && + git update-index --add bozbar && + echo gnusto gnusto >bozbar && + read_tree_twoway $treeH $treeM && + git ls-files --stage >19.out && + test_cmp M.out 19.out && + check_cache_at bozbar dirty - test_must_fail git show-ref --verify -d tags/A tags/C >actual && - test_must_be_empty actual +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +bozbar: dirty +ok 18 - 19 - local change already having a good result, further modified. +expecting success of 1001.19 '20 - no local change, use new tree.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + cat bozbar-old >bozbar && + git update-index --add bozbar && + read_tree_twoway $treeH $treeM && + git ls-files --stage >20.out && + test_cmp M.out 20.out && + check_cache_at bozbar dirty -fatal: 'master' - not a valid ref -fatal: 'heads/master' - not a valid ref -fatal: 'A' - not a valid ref -fatal: 'tags/A' - not a valid ref -ok 6 - show-ref -d +100644 346d4e61f111336a1443ef6b2e834aa5b1a7f91a 0 bozbar +100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0 frotz +100644 dca6b92303befc93086aa025d90a5facd7eb2812 0 nitfol +bozbar: dirty +ok 19 - 20 - no local change, use new tree. -expecting success of 1403.7 'show-ref --heads, --tags, --head, pattern': - for branch in B master side - do - echo $(git rev-parse refs/heads/$branch) refs/heads/$branch - done >expect.heads && - git show-ref --heads >actual && - test_cmp expect.heads actual && +expecting success of 1001.20 '21 - no local change, dirty cache.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + cat bozbar-old >bozbar && + git update-index --add bozbar && + echo gnusto gnusto >bozbar && + if read_tree_twoway $treeH $treeM; then false; else :; fi - for tag in A B C - do - echo $(git rev-parse refs/tags/$tag) refs/tags/$tag - done >expect.tags && - git show-ref --tags >actual && - test_cmp expect.tags actual && +error: Entry 'bozbar' not uptodate. Cannot merge. +ok 20 - 21 - no local change, dirty cache. - cat expect.heads expect.tags >expect && - git show-ref --heads --tags >actual && - test_cmp expect actual && +expecting success of 1001.21 '22 - local change cache updated.': + rm -f .git/index && + read_tree_must_succeed $treeH && + git checkout-index -u -f -q -a && + sed -e "s/such as/SUCH AS/" bozbar-old >bozbar && + git update-index --add bozbar && + if read_tree_twoway $treeH $treeM; then false; else :; fi - { - echo $(git rev-parse HEAD) HEAD && - cat expect.heads expect.tags - } >expect && - git show-ref --heads --tags --head >actual && - test_cmp expect actual && +error: Entry 'bozbar' would be overwritten by merge. Cannot merge. +ok 21 - 22 - local change cache updated. - { - echo $(git rev-parse HEAD) HEAD && - echo $(git rev-parse refs/heads/B) refs/heads/B - echo $(git rev-parse refs/tags/B) refs/tags/B - } >expect && - git show-ref --head B >actual && - test_cmp expect actual && +expecting success of 1001.22 'DF vs DF/DF case setup.': + rm -f .git/index && + echo DF >DF && + git update-index --add DF && + treeDF=$(git write-tree) && + echo treeDF $treeDF && + git ls-tree $treeDF && - { - echo $(git rev-parse HEAD) HEAD && - echo $(git rev-parse refs/heads/B) refs/heads/B - echo $(git rev-parse refs/tags/B) refs/tags/B - echo $(git rev-parse refs/tags/B^0) "refs/tags/B^{}" - } >expect && - git show-ref --head -d B >actual && - test_cmp expect actual + rm -f DF && + mkdir DF && + echo DF/DF >DF/DF && + git update-index --add --remove DF DF/DF && + treeDFDF=$(git write-tree) && + echo treeDFDF $treeDFDF && + git ls-tree $treeDFDF && + git ls-files --stage >DFDF.out -ok 7 - show-ref --heads, --tags, --head, pattern +treeDF 6bf22db9043f2b5821c019d0ce0f2605421affcb +100644 blob 052efc3abbc31348f7abd34535b1953d38273257 DF +treeDFDF c38e296263d024b0f48c4a728d293232ac6c5443 +040000 tree 90bbead36f4d6a7c325fd450e6cfbcc7479d421a DF +ok 22 - DF vs DF/DF case setup. -expecting success of 1403.8 'show-ref --verify HEAD': - echo $(git rev-parse HEAD) HEAD >expect && - git show-ref --verify HEAD >actual && - test_cmp expect actual && +expecting success of 1001.23 'DF vs DF/DF case test.': + rm -f .git/index && + rm -fr DF && + echo DF >DF && + git update-index --add DF && + read_tree_twoway $treeDF $treeDFDF && + git ls-files --stage >DFDFcheck.out && + test_cmp DFDF.out DFDFcheck.out && + check_cache_at DF/DF dirty && + : - git show-ref --verify -q HEAD >actual && - test_must_be_empty actual +100644 b90ea14b2dd74b6f377c10870b3757344bbe077c 0 DF/DF +DF/DF: dirty +ok 23 - DF vs DF/DF case test. -ok 8 - show-ref --verify HEAD +expecting success of 1001.24 'a/b (untracked) vs a case setup.': + rm -f .git/index && + : >a && + git update-index --add a && + treeM=$(git write-tree) && + echo treeM $treeM && + git ls-tree $treeM && + git ls-files --stage >treeM.out && -expecting success of 1403.9 'show-ref --verify with dangling ref': - sha1_file() { - echo "$*" | sed "s#..#.git/objects/&/#" - } && + rm -f a && + git update-index --remove a && + mkdir a && + : >a/b && + treeH=$(git write-tree) && + echo treeH $treeH && + git ls-tree $treeH - remove_object() { - file=$(sha1_file "$*") && - test -e "$file" && - rm -f "$file" - } && +treeM 496d6428b9cf92981dc9495211e6e1120fb6f2ba +100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 a +treeH 4b825dc642cb6eb9a060e54bf8d69288fbee4904 +ok 24 - a/b (untracked) vs a case setup. - test_when_finished "rm -rf dangling" && - ( - git init dangling && - cd dangling && - test_commit dangling && - sha=$(git rev-parse refs/tags/dangling) && - remove_object $sha && - test_must_fail git show-ref --verify refs/tags/dangling - ) +expecting success of 1001.25 'a/b (untracked) vs a, plus c/d case test.': + read_tree_u_must_fail -u -m "$treeH" "$treeM" && + git ls-files --stage && + test -f a/b -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1403-show-ref/dangling/.git/ -[master (root-commit) ceb9007] dangling - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 dangling.t -fatal: git show-ref: bad ref refs/tags/dangling (ceb9007ddae8b252f505d0ef9dcf579bfda7e91c) -ok 9 - show-ref --verify with dangling ref +error: Updating 'a' would lose untracked files in it +error: Updating 'a' would lose untracked files in it +ok 25 - a/b (untracked) vs a, plus c/d case test. -# passed all 9 test(s) -1..9 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1408-packed-refs.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1408-packed-refs/.git/ -expecting success of 1408.1 'setup': - test_tick && - git commit --allow-empty -m one && - one=$(git rev-parse HEAD) && - git for-each-ref >actual && - echo "$one commit refs/heads/master" >expect && - test_cmp expect actual && +expecting success of 1001.26 'read-tree supports the super-prefix': + cat <<-EOF >expect && + error: Updating 'fictional/a' would lose untracked files in it + EOF + test_must_fail git --super-prefix fictional/ read-tree -u -m "$treeH" "$treeM" 2>actual && + test_cmp expect actual - git pack-refs --all && - git for-each-ref >actual && - echo "$one commit refs/heads/master" >expect && - test_cmp expect actual && +ok 26 - read-tree supports the super-prefix - git checkout --orphan another && - test_tick && - git commit --allow-empty -m two && - two=$(git rev-parse HEAD) && - git checkout -B master && - git branch -D another && +expecting success of 1001.27 'a/b vs a, plus c/d case setup.': + rm -f .git/index && + rm -fr a && + : >a && + mkdir c && + : >c/d && + git update-index --add a c/d && + treeM=$(git write-tree) && + echo treeM $treeM && + git ls-tree $treeM && + git ls-files --stage >treeM.out && - git for-each-ref >actual && - echo "$two commit refs/heads/master" >expect && - test_cmp expect actual && + rm -f a && + mkdir a && + : >a/b && + git update-index --add --remove a a/b && + treeH=$(git write-tree) && + echo treeH $treeH && + git ls-tree $treeH - git reflog expire --expire=now --all && - git prune && - git tag -m v1.0 v1.0 master +treeM 3e82e8b9894d6c7982dcd25a6dad66400d52735f +100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 a +040000 tree 2a26db49a6962700da5bd4084ae0e5a22d6583ee c +treeH 02c6f058fb950781e5b773c21e4c237db1ff4d5a +040000 tree 4277b6e69d25e5efa77c455340557b384a4c018a a +040000 tree 2a26db49a6962700da5bd4084ae0e5a22d6583ee c +ok 27 - a/b vs a, plus c/d case setup. -[master (root-commit) 76a57ce] one - Author: A U Thor -Switched to a new branch 'another' -[another (root-commit) 169e1dc] two - Author: A U Thor -Switched to and reset branch 'master' -Deleted branch another (was 169e1dc). -ok 1 - setup +expecting success of 1001.28 'a/b vs a, plus c/d case test.': + read_tree_u_must_succeed -u -m "$treeH" "$treeM" && + git ls-files --stage | tee >treeMcheck.out && + test_cmp treeM.out treeMcheck.out -expecting success of 1408.2 'no error from stale entry in packed-refs': - git describe master >actual 2>&1 && - echo "v1.0" >expect && +ok 28 - a/b vs a, plus c/d case test. + +expecting success of 1001.29 '-m references the correct modified tree': + echo >file-a && + echo >file-b && + git add file-a file-b && + git commit -a -m "test for correct modified tree" && + git branch initial-mod && + echo b >file-b && + git commit -a -m "B" && + echo a >file-a && + git add file-a && + git ls-tree $(git write-tree) file-a >expect && + read_tree_must_succeed -m HEAD initial-mod && + git ls-tree $(git write-tree) file-a >actual && test_cmp expect actual -ok 2 - no error from stale entry in packed-refs +[master (root-commit) 0d16b8a] test for correct modified tree + Author: A U Thor + 4 files changed, 2 insertions(+) + create mode 100644 a + create mode 100644 c/d + create mode 100644 file-a + create mode 100644 file-b +[master 9f64e7b] B + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +ok 29 - -m references the correct modified tree -# passed all 2 test(s) -1..2 +# passed all 29 test(s) +1..29 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1407-worktree-ref-store.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1407-worktree-ref-store/.git/ -expecting success of 1407.1 'setup': - test_commit first && - git worktree add -b wt-master wt && - ( - cd wt && - test_commit second - ) +*** t1005-read-tree-reset.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1005-read-tree-reset/.git/ +expecting success of 1005.1 'setup': + git init && + mkdir df && + echo content >df/file && + git add df/file && + git commit -m one && + git ls-files >expect && + rm -rf df && + echo content >df && + git add df && + echo content >new && + git add new && + git commit -m two -[master (root-commit) 50e526b] first +Reinitialized existing Git repository in /build/git-2.30.2/t/trash directory.t1005-read-tree-reset/.git/ +[master (root-commit) 92e0c46] one Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 first.t -Preparing worktree (new branch 'wt-master') -HEAD is now at 50e526b first -[wt-master d662100] second + create mode 100644 df/file +[master 12f5e11] two Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 second.t + 2 files changed, 1 insertion(+) + rename df/file => df (100%) + create mode 100644 new ok 1 - setup -expecting success of 1407.2 'resolve_ref()': - SHA1=`git rev-parse master` && - echo "$SHA1 refs/heads/master 0x0" >expected && - $RWT resolve-ref refs/heads/master 0 >actual && - test_cmp expected actual && - $RMAIN resolve-ref refs/heads/master 0 >actual && - test_cmp expected actual - -ok 2 - resolve_ref() +expecting success of 1005.2 'reset should work': + read_tree_u_must_succeed -u --reset HEAD^ && + git ls-files >actual && + test_cmp expect actual -expecting success of 1407.3 'resolve_ref()': - SHA1=`git -C wt rev-parse HEAD` && - echo "$SHA1 refs/heads/wt-master 0x1" >expected && - $RWT resolve-ref HEAD 0 >actual && - test_cmp expected actual && +ok 2 - reset should work - SHA1=`git rev-parse HEAD` && - echo "$SHA1 refs/heads/master 0x1" >expected && - $RMAIN resolve-ref HEAD 0 >actual && - test_cmp expected actual +expecting success of 1005.3 'reset should remove remnants from a failed merge': + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" && + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >actual && + ! test -f old -ok 3 - resolve_ref() +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old +ok 3 - reset should remove remnants from a failed merge -expecting success of 1407.4 'create_symref(FOO, refs/heads/master)': - $RWT create-symref FOO refs/heads/master nothing && - echo refs/heads/master >expected && - git -C wt symbolic-ref FOO >actual && - test_cmp expected actual && +expecting success of 1005.4 'two-way reset should remove remnants too': + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" && + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + read_tree_u_must_succeed --reset -u HEAD HEAD && + git ls-files -s >actual && + ! test -f old - $RMAIN create-symref FOO refs/heads/wt-master nothing && - echo refs/heads/wt-master >expected && - git symbolic-ref FOO >actual && - test_cmp expected actual +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old +ok 4 - two-way reset should remove remnants too -ok 4 - create_symref(FOO, refs/heads/master) +expecting success of 1005.5 'Porcelain reset should remove remnants too': + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" && + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + git reset --hard && + git ls-files -s >actual && + ! test -f old -expecting success of 1407.5 'for_each_reflog()': - echo $ZERO_OID > .git/logs/PSEUDO-MAIN && - mkdir -p .git/logs/refs/bisect && - echo $ZERO_OID > .git/logs/refs/bisect/random && +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old +HEAD is now at 12f5e11 two +ok 5 - Porcelain reset should remove remnants too - echo $ZERO_OID > .git/worktrees/wt/logs/PSEUDO-WT && - mkdir -p .git/worktrees/wt/logs/refs/bisect && - echo $ZERO_OID > .git/worktrees/wt/logs/refs/bisect/wt-random && +expecting success of 1005.6 'Porcelain checkout -f should remove remnants too': + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" && + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + git checkout -f && + git ls-files -s >actual && + ! test -f old - $RWT for-each-reflog | cut -d" " -f 2- | sort >actual && - cat >expected <<-\EOF && - HEAD 0x1 - PSEUDO-WT 0x0 - refs/bisect/wt-random 0x0 - refs/heads/master 0x0 - refs/heads/wt-master 0x0 - EOF - test_cmp expected actual && +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old +ok 6 - Porcelain checkout -f should remove remnants too - $RMAIN for-each-reflog | cut -d" " -f 2- | sort >actual && - cat >expected <<-\EOF && - HEAD 0x1 - PSEUDO-MAIN 0x0 - refs/bisect/random 0x0 - refs/heads/master 0x0 - refs/heads/wt-master 0x0 - EOF - test_cmp expected actual +expecting success of 1005.7 'Porcelain checkout -f HEAD should remove remnants too': + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" && + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + git checkout -f HEAD && + git ls-files -s >actual && + ! test -f old -ok 5 - for_each_reflog() +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 df +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 0 new +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 1 old +100644 d95f3ad14dee633a758d2e331151e950dd13e4ed 3 old +ok 7 - Porcelain checkout -f HEAD should remove remnants too -# passed all 5 test(s) -1..5 +# passed all 7 test(s) +1..7 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1405-main-ref-store.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1405-main-ref-store/.git/ -expecting success of 1405.1 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)': - test_commit one && - N=`find .git/refs -type f | wc -l` && - test "$N" != 0 && - $RUN pack-refs 3 && - N=`find .git/refs -type f | wc -l` - -[master (root-commit) d79ce16] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -ok 1 - pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE) - -expecting success of 1405.2 'peel_ref(new-tag)': - git rev-parse HEAD >expected && - git tag -a -m new-tag new-tag HEAD && - $RUN peel-ref refs/tags/new-tag >actual && - test_cmp expected actual - -ok 2 - peel_ref(new-tag) +*** t1004-read-tree-m-u-wf.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1004-read-tree-m-u-wf/.git/ +expecting success of 1004.1 'two-way setup': -expecting success of 1405.3 'create_symref(FOO, refs/heads/master)': - $RUN create-symref FOO refs/heads/master nothing && - echo refs/heads/master >expected && - git symbolic-ref FOO >actual && - test_cmp expected actual + mkdir subdir && + echo >file1 file one && + echo >file2 file two && + echo >subdir/file1 file one in subdirectory && + echo >subdir/file2 file two in subdirectory && + git update-index --add file1 file2 subdir/file1 subdir/file2 && + git commit -m initial && -ok 3 - create_symref(FOO, refs/heads/master) + git branch side && + git tag -f branch-point && -expecting success of 1405.4 'delete_refs(FOO, refs/tags/new-tag)': - git rev-parse FOO -- && - git rev-parse refs/tags/new-tag -- && - m=$(git rev-parse master) && - REF_NO_DEREF=1 && - $RUN delete-refs $REF_NO_DEREF nothing FOO refs/tags/new-tag && - test_must_fail git rev-parse --symbolic-full-name FOO && - test_must_fail git rev-parse FOO -- && - test_must_fail git rev-parse refs/tags/new-tag -- + echo file2 is not tracked on the master branch anymore && + rm -f file2 subdir/file2 && + git update-index --remove file2 subdir/file2 && + git commit -a -m "master removes file2 and subdir/file2" -d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 --- -407ffbd56c168afa4e9302a7cdfe469155f84482 --- -fatal: ambiguous argument 'FOO': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -FOO -fatal: bad revision 'FOO' -fatal: bad revision 'refs/tags/new-tag' -ok 4 - delete_refs(FOO, refs/tags/new-tag) +[master (root-commit) eb5336a] initial + Author: A U Thor + 4 files changed, 4 insertions(+) + create mode 100644 file1 + create mode 100644 file2 + create mode 100644 subdir/file1 + create mode 100644 subdir/file2 +file2 is not tracked on the master branch anymore +[master ee8fdb2] master removes file2 and subdir/file2 + Author: A U Thor + 2 files changed, 2 deletions(-) + delete mode 100644 file2 + delete mode 100644 subdir/file2 +ok 1 - two-way setup -expecting success of 1405.5 'rename_refs(master, new-master)': - git rev-parse master >expected && - $RUN rename-ref refs/heads/master refs/heads/new-master && - git rev-parse new-master >actual && - test_cmp expected actual && - test_commit recreate-master +expecting success of 1004.2 'two-way not clobbering': -[master (root-commit) c90e4dc] recreate-master - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 one.t - create mode 100644 recreate-master.t -ok 5 - rename_refs(master, new-master) + echo >file2 master creates untracked file2 && + echo >subdir/file2 master creates untracked subdir/file2 && + if err=$(read_tree_u_must_succeed -m -u master side 2>&1) + then + echo should have complained + false + else + echo "happy to see $err" + fi -expecting success of 1405.6 'for_each_ref(refs/heads/)': - $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && - cat >expected <<-\EOF && - master 0x0 - new-master 0x0 - EOF - test_cmp expected actual +happy to see error: Untracked working tree file 'file2' would be overwritten by merge. +ok 2 - two-way not clobbering -ok 6 - for_each_ref(refs/heads/) +expecting success of 1004.3 'two-way with incorrect --exclude-per-directory (1)': -expecting success of 1405.7 'for_each_ref() is sorted': - $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && - sort actual > expected && - test_cmp expected actual + if err=$(read_tree_u_must_succeed -m --exclude-per-directory=.gitignore master side 2>&1) + then + echo should have complained + false + else + echo "happy to see $err" + fi -ok 7 - for_each_ref() is sorted +happy to see fatal: --exclude-per-directory is meaningless unless -u +ok 3 - two-way with incorrect --exclude-per-directory (1) -expecting success of 1405.8 'resolve_ref(new-master)': - SHA1=`git rev-parse new-master` && - echo "$SHA1 refs/heads/new-master 0x0" >expected && - $RUN resolve-ref refs/heads/new-master 0 >actual && - test_cmp expected actual +expecting success of 1004.4 'two-way with incorrect --exclude-per-directory (2)': -ok 8 - resolve_ref(new-master) + if err=$(read_tree_u_must_succeed -m -u --exclude-per-directory=foo --exclude-per-directory=.gitignore master side 2>&1) + then + echo should have complained + false + else + echo "happy to see $err" + fi -expecting success of 1405.9 'verify_ref(new-master)': - $RUN verify-ref refs/heads/new-master +happy to see fatal: more than one --exclude-per-directory given. +ok 4 - two-way with incorrect --exclude-per-directory (2) -ok 9 - verify_ref(new-master) +expecting success of 1004.5 'two-way clobbering a ignored file': -expecting success of 1405.10 'for_each_reflog()': - $RUN for-each-reflog | sort -k2 | cut -d" " -f 2- >actual && - cat >expected <<-\EOF && - HEAD 0x1 - refs/heads/master 0x0 - refs/heads/new-master 0x0 - EOF - test_cmp expected actual + read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore master side -ok 10 - for_each_reflog() +ok 5 - two-way clobbering a ignored file -expecting success of 1405.11 'for_each_reflog_ent()': - $RUN for-each-reflog-ent HEAD >actual && - head -n1 actual | grep one && - tail -n2 actual | head -n1 | grep recreate-master +expecting success of 1004.6 'three-way not complaining on an untracked path in both': -0000000000000000000000000000000000000000 d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 C O Mitter 1112911993 -700 commit (initial): one -0000000000000000000000000000000000000000 c90e4dc5e12224a428dedfbd45ba11e5531706a2 C O Mitter 1112912053 -700 commit (initial): recreate-master -ok 11 - for_each_reflog_ent() + rm -f file2 subdir/file2 && + git checkout side && + echo >file3 file three && + echo >subdir/file3 file three && + git update-index --add file3 subdir/file3 && + git commit -a -m "side adds file3 and removes file2" && -expecting success of 1405.12 'for_each_reflog_ent_reverse()': - $RUN for-each-reflog-ent-reverse HEAD >actual && - head -n1 actual | grep recreate-master && - tail -n2 actual | head -n1 | grep one + git checkout master && + echo >file2 file two is untracked on the master side && + echo >subdir/file2 file two is untracked on the master side && -0000000000000000000000000000000000000000 c90e4dc5e12224a428dedfbd45ba11e5531706a2 C O Mitter 1112912053 -700 commit (initial): recreate-master -0000000000000000000000000000000000000000 d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 C O Mitter 1112911993 -700 commit (initial): one -ok 12 - for_each_reflog_ent_reverse() + read_tree_u_must_succeed -m -u branch-point master side -expecting success of 1405.13 'reflog_exists(HEAD)': - $RUN reflog-exists HEAD +Switched to branch 'side' +D file2 +D subdir/file2 +[side 4be225f] side adds file3 and removes file2 + Author: A U Thor + 4 files changed, 2 insertions(+), 2 deletions(-) + delete mode 100644 file2 + create mode 100644 file3 + delete mode 100644 subdir/file2 + create mode 100644 subdir/file3 +Switched to branch 'master' +ok 6 - three-way not complaining on an untracked path in both -ok 13 - reflog_exists(HEAD) +expecting success of 1004.7 'three-way not clobbering a working tree file': -expecting success of 1405.14 'delete_reflog(HEAD)': - $RUN delete-reflog HEAD && - ! test -f .git/logs/HEAD + git reset --hard && + rm -f file2 subdir/file2 file3 subdir/file3 && + git checkout master && + echo >file3 file three created in master, untracked && + echo >subdir/file3 file three created in master, untracked && + if err=$(read_tree_u_must_succeed -m -u branch-point master side 2>&1) + then + echo should have complained + false + else + echo "happy to see $err" + fi -ok 14 - delete_reflog(HEAD) +HEAD is now at ee8fdb2 master removes file2 and subdir/file2 +Already on 'master' +happy to see error: Untracked working tree file 'file3' would be overwritten by merge. +ok 7 - three-way not clobbering a working tree file -expecting success of 1405.15 'create-reflog(HEAD)': - $RUN create-reflog HEAD 1 && - test -f .git/logs/HEAD +expecting success of 1004.8 'three-way not complaining on an untracked file': -ok 15 - create-reflog(HEAD) + git reset --hard && + rm -f file2 subdir/file2 file3 subdir/file3 && + git checkout master && + echo >file3 file three created in master, untracked && + echo >subdir/file3 file three created in master, untracked && -expecting success of 1405.16 'delete_ref(refs/heads/foo)': - git checkout -b foo && - FOO_SHA1=`git rev-parse foo` && - git checkout --detach && - test_commit bar-commit && - git checkout -b bar && - BAR_SHA1=`git rev-parse bar` && - $RUN update-ref updating refs/heads/foo $BAR_SHA1 $FOO_SHA1 0 && - echo $BAR_SHA1 >expected && - git rev-parse refs/heads/foo >actual && - test_cmp expected actual + read_tree_u_must_succeed -m -u --exclude-per-directory=.gitignore branch-point master side -Switched to a new branch 'foo' -HEAD is now at c90e4dc recreate-master -[detached HEAD 1e995a9] bar-commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 bar-commit.t -Switched to a new branch 'bar' -ok 16 - delete_ref(refs/heads/foo) +HEAD is now at ee8fdb2 master removes file2 and subdir/file2 +Already on 'master' +ok 8 - three-way not complaining on an untracked file -expecting success of 1405.17 'delete_ref(refs/heads/foo)': - SHA1=`git rev-parse foo` && - git checkout --detach && - $RUN delete-ref msg refs/heads/foo $SHA1 0 && - test_must_fail git rev-parse refs/heads/foo -- +expecting success of 1004.9 '3-way not overwriting local changes (setup)': -HEAD is now at 1e995a9 bar-commit -fatal: bad revision 'refs/heads/foo' -ok 17 - delete_ref(refs/heads/foo) + git reset --hard && + git checkout -b side-a branch-point && + echo >>file1 "new line to be kept in the merge result" && + git commit -a -m "side-a changes file1" && + git checkout -b side-b branch-point && + echo >>file2 "new line to be kept in the merge result" && + git commit -a -m "side-b changes file2" && + git checkout side-a -# passed all 17 test(s) -1..17 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1412-reflog-loop.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1412-reflog-loop/.git/ -expecting success of 1412.1 'setup commits': - test_tick && - echo content >file && git add file && git commit -m one && - git tag one && - echo content >>file && git add file && git commit -m two && - git tag two -[master (root-commit) e46513e] one +HEAD is now at ee8fdb2 master removes file2 and subdir/file2 +Switched to a new branch 'side-a' +[side-a 67c0594] side-a changes file1 Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 file -[master 441e5e0] two +Switched to a new branch 'side-b' +[side-b 3ad988a] side-b changes file2 Author: A U Thor 1 file changed, 1 insertion(+) -ok 1 - setup commits - -expecting success of 1412.2 'setup reflog with alternating commits': - git checkout -b topic && - git reset one && - git reset two && - git reset one && - git reset two - -Switched to a new branch 'topic' -Unstaged changes after reset: -M file -Unstaged changes after reset: -M file -ok 2 - setup reflog with alternating commits - -expecting success of 1412.3 'reflog shows all entries': - cat >expect <<-\EOF && - topic@{0} reset: moving to two - topic@{1} reset: moving to one - topic@{2} reset: moving to two - topic@{3} reset: moving to one - topic@{4} branch: Created from HEAD - EOF - git log -g --format="%gd %gs" topic >actual && - test_cmp expect actual - -ok 3 - reflog shows all entries - -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1409-avoid-packing-refs.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1409-avoid-packing-refs/.git/ -expecting success of 1409.1 'setup': - git commit --allow-empty -m "Commit A" && - A=$(git rev-parse HEAD) && - git commit --allow-empty -m "Commit B" && - B=$(git rev-parse HEAD) && - git commit --allow-empty -m "Commit C" && - C=$(git rev-parse HEAD) - -[master (root-commit) 8d09622] Commit A - Author: A U Thor -[master 241b9d6] Commit B - Author: A U Thor -[master 8d1dbac] Commit C - Author: A U Thor -ok 1 - setup - -expecting success of 1409.2 'do not create packed-refs file gratuitously': - test_path_is_missing .git/packed-refs && - git update-ref refs/heads/foo $A && - test_path_is_missing .git/packed-refs && - git update-ref refs/heads/foo $B && - test_path_is_missing .git/packed-refs && - git update-ref refs/heads/foo $C $B && - test_path_is_missing .git/packed-refs && - git update-ref -d refs/heads/foo && - test_path_is_missing .git/packed-refs - -ok 2 - do not create packed-refs file gratuitously - -expecting success of 1409.3 'check that marking the packed-refs file works': - git for-each-ref >expected && - git pack-refs --all && - mark_packed_refs && - check_packed_refs_marked && - git for-each-ref >actual && - test_cmp expected actual && - git pack-refs --all && - ! check_packed_refs_marked && - git for-each-ref >actual2 && - test_cmp expected actual2 - -ok 3 - check that marking the packed-refs file works +Switched to branch 'side-a' +ok 9 - 3-way not overwriting local changes (setup) -expecting success of 1409.4 'leave packed-refs untouched on update of packed': - git update-ref refs/heads/packed-update $A && - git pack-refs --all && - mark_packed_refs && - git update-ref refs/heads/packed-update $B && - check_packed_refs_marked +expecting success of 1004.10 '3-way not overwriting local changes (our side)': -ok 4 - leave packed-refs untouched on update of packed + # At this point, file1 from side-a should be kept as side-b + # did not touch it. -expecting success of 1409.5 'leave packed-refs untouched on checked update of packed': - git update-ref refs/heads/packed-checked-update $A && - git pack-refs --all && - mark_packed_refs && - git update-ref refs/heads/packed-checked-update $B $A && - check_packed_refs_marked + git reset --hard && -ok 5 - leave packed-refs untouched on checked update of packed + echo >>file1 "local changes" && + read_tree_u_must_succeed -m -u branch-point side-a side-b && + grep "new line to be kept" file1 && + grep "local changes" file1 -expecting success of 1409.6 'leave packed-refs untouched on verify of packed': - git update-ref refs/heads/packed-verify $A && - git pack-refs --all && - mark_packed_refs && - echo "verify refs/heads/packed-verify $A" | git update-ref --stdin && - check_packed_refs_marked -ok 6 - leave packed-refs untouched on verify of packed +HEAD is now at 67c0594 side-a changes file1 +new line to be kept in the merge result +local changes +ok 10 - 3-way not overwriting local changes (our side) -expecting success of 1409.7 'touch packed-refs on delete of packed': - git update-ref refs/heads/packed-delete $A && - git pack-refs --all && - mark_packed_refs && - git update-ref -d refs/heads/packed-delete && - ! check_packed_refs_marked +expecting success of 1004.11 '3-way not overwriting local changes (their side)': -ok 7 - touch packed-refs on delete of packed + # At this point, file2 from side-b should be taken as side-a + # did not touch it. -expecting success of 1409.8 'leave packed-refs untouched on update of loose': - git pack-refs --all && - git update-ref refs/heads/loose-update $A && - mark_packed_refs && - git update-ref refs/heads/loose-update $B && - check_packed_refs_marked + git reset --hard && -ok 8 - leave packed-refs untouched on update of loose + echo >>file2 "local changes" && + read_tree_u_must_fail -m -u branch-point side-a side-b && + ! grep "new line to be kept" file2 && + grep "local changes" file2 -expecting success of 1409.9 'leave packed-refs untouched on checked update of loose': - git pack-refs --all && - git update-ref refs/heads/loose-checked-update $A && - mark_packed_refs && - git update-ref refs/heads/loose-checked-update $B $A && - check_packed_refs_marked -ok 9 - leave packed-refs untouched on checked update of loose +HEAD is now at 67c0594 side-a changes file1 +error: Entry 'file2' not uptodate. Cannot merge. +error: Entry 'file2' not uptodate. Cannot merge. +local changes +ok 11 - 3-way not overwriting local changes (their side) -expecting success of 1409.10 'leave packed-refs untouched on verify of loose': - git pack-refs --all && - git update-ref refs/heads/loose-verify $A && - mark_packed_refs && - echo "verify refs/heads/loose-verify $A" | git update-ref --stdin && - check_packed_refs_marked +expecting success of 1004.12 'funny symlink in work tree': -ok 10 - leave packed-refs untouched on verify of loose + git reset --hard && + git checkout -b sym-b side-b && + mkdir -p a && + >a/b && + git add a/b && + git commit -m "side adds a/b" && -expecting success of 1409.11 'leave packed-refs untouched on delete of loose': - git pack-refs --all && - git update-ref refs/heads/loose-delete $A && - mark_packed_refs && - git update-ref -d refs/heads/loose-delete && - check_packed_refs_marked + rm -fr a && + git checkout -b sym-a side-a && + mkdir -p a && + test_ln_s_add ../b a/b && + git commit -m "we add a/b" && -ok 11 - leave packed-refs untouched on delete of loose + read_tree_u_must_succeed -m -u sym-a sym-a sym-b -# passed all 11 test(s) -1..11 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1413-reflog-detach.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1413-reflog-detach/.git/ -expecting success of 1413.1 'setup': - test_tick && - git commit --allow-empty -m initial && - git branch side && - test_tick && - git commit --allow-empty -m second && - cat .git/logs/HEAD >saved_reflog -[master (root-commit) 66fe8b3] initial - Author: A U Thor -[master 5ce2b00] second +HEAD is now at 67c0594 side-a changes file1 +Switched to a new branch 'sym-b' +[sym-b b05f19b] side adds a/b Author: A U Thor -ok 1 - setup - -expecting success of 1413.2 'baseline': - reset_state && - git rev-parse master master^ >expect && - git log -g --format=%H >actual && - test_cmp expect actual - -Already on 'master' -ok 2 - baseline - -expecting success of 1413.3 'switch to branch': - reset_state && - git rev-parse side master master^ >expect && - git checkout side && - git log -g --format=%H >actual && - test_cmp expect actual + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 a/b +Switched to a new branch 'sym-a' +checking prerequisite: SYMLINKS -Already on 'master' -Switched to branch 'side' -ok 3 - switch to branch +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -expecting success of 1413.4 'detach to other': - reset_state && - git rev-parse master side master master^ >expect && - git checkout side && - git checkout master^0 && - git log -g --format=%H >actual && - test_cmp expect actual +) +prerequisite SYMLINKS ok +[sym-a c4bc40b] we add a/b + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 120000 a/b +ok 12 - funny symlink in work tree -Switched to branch 'master' -Switched to branch 'side' -Note: switching to 'master^0'. +checking prerequisite: SANITY -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" - git switch -c + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? -Or undo this operation with: + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status - git switch - +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 1004.13 'funny symlink in work tree, un-unlink-able': -Turn off this advice by setting config variable advice.detachedHead to false + test_when_finished "chmod u+w a 2>/dev/null; rm -fr a b" && -HEAD is now at 5ce2b00 second -ok 4 - detach to other + rm -fr a b && + git reset --hard && -expecting success of 1413.5 'detach to self': - reset_state && - git rev-parse master master master^ >expect && - git checkout master^0 && - git log -g --format=%H >actual && - test_cmp expect actual + git checkout sym-a && + chmod a-w a && + test_must_fail git read-tree -m -u sym-a sym-a sym-b -Switched to branch 'master' -Note: switching to 'master^0'. -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +HEAD is now at c4bc40b we add a/b +Already on 'sym-a' +error: unable to unlink old 'a/b': Permission denied +ok 13 - funny symlink in work tree, un-unlink-able -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 1004.14 'D/F setup': - git switch -c + git reset --hard && -Or undo this operation with: + git checkout side-a && + rm -f subdir/file2 && + mkdir subdir/file2 && + echo qfwfq >subdir/file2/another && + git add subdir/file2/another && + test_tick && + git commit -m "side-a changes file2 to directory" - git switch - -Turn off this advice by setting config variable advice.detachedHead to false +HEAD is now at c4bc40b we add a/b +Switched to branch 'side-a' +[side-a d094fd2] side-a changes file2 to directory + Author: A U Thor + 2 files changed, 1 insertion(+), 1 deletion(-) + delete mode 100644 subdir/file2 + create mode 100644 subdir/file2/another +ok 14 - D/F setup -HEAD is now at 5ce2b00 second -ok 5 - detach to self +expecting success of 1004.15 'D/F': -expecting success of 1413.6 'attach to self': - reset_state && - git rev-parse master master master master^ >expect && - git checkout master^0 && - git checkout master && - git log -g --format=%H >actual && + git checkout side-b && + read_tree_u_must_succeed -m -u branch-point side-b side-a && + git ls-files -u >actual && + ( + a=$(git rev-parse branch-point:subdir/file2) && + b=$(git rev-parse side-a:subdir/file2/another) && + echo "100644 $a 1 subdir/file2" && + echo "100644 $a 2 subdir/file2" && + echo "100644 $b 3 subdir/file2/another" + ) >expect && test_cmp expect actual -Switched to branch 'master' -Note: switching to 'master^0'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at 5ce2b00 second -Switched to branch 'master' -ok 6 - attach to self +Switched to branch 'side-b' +ok 15 - D/F -expecting success of 1413.7 'attach to other': - reset_state && - git rev-parse side master master master^ >expect && - git checkout master^0 && - git checkout side && - git log -g --format=%H >actual && - test_cmp expect actual +expecting success of 1004.16 'D/F resolve': -Already on 'master' -Note: switching to 'master^0'. + git reset --hard && + git checkout side-b && + git merge-resolve branch-point -- side-b side-a -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +warning: unable to unlink 'subdir/file2/another': Not a directory +HEAD is now at 3ad988a side-b changes file2 +Already on 'side-b' +Trying simple merge. +Simple merge failed, trying Automatic merge. +Adding subdir/file2/another +ok 16 - D/F resolve - git switch -c +expecting success of 1004.17 'D/F recursive': -Or undo this operation with: + git reset --hard && + git checkout side-b && + git merge-recursive branch-point -- side-b side-a - git switch - -Turn off this advice by setting config variable advice.detachedHead to false +HEAD is now at 3ad988a side-b changes file2 +Already on 'side-b' +Merging side-b with side-a +Merging: +3ad988a side-b changes file2 +d094fd2 side-a changes file2 to directory +found 1 common ancestor: +eb5336a initial +Adding subdir/file2/another +Removing subdir/file2 to make room for subdirectory -HEAD is now at 5ce2b00 second -Previous HEAD position was 5ce2b00 second -Switched to branch 'side' -ok 7 - attach to other +Removing subdir/file2 +ok 17 - D/F recursive -# passed all 7 test(s) -1..7 +# passed all 17 test(s) +1..17 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0008-ignores.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0008-ignores/.git/ -expecting success of 0008.1 'setup': - init_vars && - mkdir -p a/b/ignored-dir a/submodule b && - if test_have_prereq SYMLINKS - then - ln -s b a/symlink - fi && - ( - cd a/submodule && - git init && - echo a >a && - git add a && - git commit -m"commit in submodule" - ) && - git add a/submodule && - cat <<-\EOF >.gitignore && - one - ignored-* - top-level-dir/ - EOF - for dir in . a - do - : >$dir/not-ignored && - : >$dir/ignored-and-untracked && - : >$dir/ignored-but-in-index - done && - git add -f ignored-but-in-index a/ignored-but-in-index && - cat <<-\EOF >a/.gitignore && - two* - *three - EOF - cat <<-\EOF >a/b/.gitignore && - four - five - # this comment should affect the line numbers - six - ignored-dir/ - # and so should this blank line: - - !on* - !two - EOF - echo "seven" >a/b/ignored-dir/.gitignore && - test -n "$HOME" && - cat <<-\EOF >"$global_excludes" && - globalone - !globaltwo - globalthree - EOF - cat <<-\EOF >>.git/info/exclude - per-repo - EOF - -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +*** t1008-read-tree-overlay.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1008-read-tree-overlay/.git/ +expecting success of 1008.1 'setup': + echo one >a && + git add a && + git commit -m initial && + git tag initial && + echo two >b && + git add b && + git commit -m second && + git checkout -b side initial && + echo three >a && + mkdir b && + echo four >b/c && + git add b/c && + git commit -m third -) -prerequisite SYMLINKS ok -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0008-ignores/a/submodule/.git/ -[master (root-commit) d93acdf] commit in submodule +[master (root-commit) 4d54ff5] initial Author: A U Thor 1 file changed, 1 insertion(+) create mode 100644 a -warning: adding embedded git repository: a/submodule -hint: You've added another git repository inside your current repository. -hint: Clones of the outer repository will not contain the contents of -hint: the embedded repository and will not know how to obtain it. -hint: If you meant to add a submodule, use: -hint: -hint: git submodule add a/submodule -hint: -hint: If you added this path by mistake, you can remove it from the -hint: index with: -hint: -hint: git rm --cached a/submodule -hint: -hint: See "git help submodule" for more information. +[master a9fb064] second + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 b +Switched to a new branch 'side' +[side 2be041c] third + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 b/c ok 1 - setup -expecting success of 0008.2 '. corner-case': - expect "$expect" && - eval "$code" - -ok 2 - . corner-case - -expecting success of 0008.3 '. corner-case with -q': - expect '' && - - test_check_ignore . 1 - - -ok 3 - . corner-case with -q +expecting success of 1008.2 'multi-read': + read_tree_must_succeed initial master side && + test_write_lines a b/c >expect && + git ls-files >actual && + test_cmp expect actual -expecting success of 0008.4 '. corner-case with --quiet': - expect '' && - - test_check_ignore . 1 +ok 2 - multi-read - -ok 4 - . corner-case with --quiet +# passed all 2 test(s) +1..2 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1000-read-tree-m-3way.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1000-read-tree-m-3way/.git/ +expecting success of 1000.1 'adding test file NN and Z/NN': git update-index --add $p && + git update-index --add Z/$p +ok 1 - adding test file NN and Z/NN -expecting success of 0008.5 '. corner-case with -v': - expect '' && - - test_check_ignore . 1 +expecting success of 1000.2 'adding test file ND and Z/ND': git update-index --add $p && + git update-index --add Z/$p +ok 2 - adding test file ND and Z/ND - -ok 5 - . corner-case with -v +expecting success of 1000.3 'adding test file NM and Z/NM': git update-index --add $p && + git update-index --add Z/$p +ok 3 - adding test file NM and Z/NM -expecting success of 0008.6 '. corner-case with -v -n': - expect ':: .' && - - test_check_ignore . 1 +expecting success of 1000.4 'adding test file DN and Z/DN': git update-index --add $p && + git update-index --add Z/$p +ok 4 - adding test file DN and Z/DN - -ok 6 - . corner-case with -v -n +expecting success of 1000.5 'adding test file DD and Z/DD': git update-index --add $p && + git update-index --add Z/$p +ok 5 - adding test file DD and Z/DD -expecting success of 0008.7 '. corner-case with -v --non-matching': - expect ':: .' && - - test_check_ignore . 1 +expecting success of 1000.6 'adding test file DM and Z/DM': git update-index --add $p && + git update-index --add Z/$p +ok 6 - adding test file DM and Z/DM - -ok 7 - . corner-case with -v --non-matching +expecting success of 1000.7 'adding test file MN and Z/MN': git update-index --add $p && + git update-index --add Z/$p +ok 7 - adding test file MN and Z/MN -expecting success of 0008.8 '. corner-case with --verbose': - expect '' && - - test_check_ignore . 1 +expecting success of 1000.8 'adding test file MD and Z/MD': git update-index --add $p && + git update-index --add Z/$p +ok 8 - adding test file MD and Z/MD - -ok 8 - . corner-case with --verbose +expecting success of 1000.9 'adding test file MM and Z/MM': git update-index --add $p && + git update-index --add Z/$p +ok 9 - adding test file MM and Z/MM -expecting success of 0008.9 '. corner-case with --verbose -n': - expect ':: .' && - - test_check_ignore . 1 +expecting success of 1000.10 'adding test file SS': git update-index --add SS +ok 10 - adding test file SS - -ok 9 - . corner-case with --verbose -n +expecting success of 1000.11 'adding test file TT': git update-index --add TT +ok 11 - adding test file TT -expecting success of 0008.10 '. corner-case with --verbose --non-matching': - expect ':: .' && - - test_check_ignore . 1 +expecting success of 1000.12 'prepare initial tree': tree_O=$(git write-tree) +ok 12 - prepare initial tree - -ok 10 - . corner-case with --verbose --non-matching +expecting success of 1000.13 'change in branch A (removal)': git update-index --remove $to_remove +ok 13 - change in branch A (removal) -expecting success of 0008.11 'empty command line': - expect "$expect" && - eval "$code" - -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1000.14 'change in branch A (modification)': git update-index MD +ok 14 - change in branch A (modification) -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 1000.15 'change in branch A (modification)': git update-index MM +ok 15 - change in branch A (modification) -) -prerequisite C_LOCALE_OUTPUT ok -fatal: no path specified -ok 11 - empty command line +expecting success of 1000.16 'change in branch A (modification)': git update-index MN +ok 16 - change in branch A (modification) -expecting success of 0008.12 'empty command line with -q': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.17 'change in branch A (modification)': git update-index Z/MD +ok 17 - change in branch A (modification) - -fatal: no path specified -ok 12 - empty command line with -q +expecting success of 1000.18 'change in branch A (modification)': git update-index Z/MM +ok 18 - change in branch A (modification) -expecting success of 0008.13 'empty command line with --quiet': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.19 'change in branch A (modification)': git update-index Z/MN +ok 19 - change in branch A (modification) - -fatal: no path specified -ok 13 - empty command line with --quiet +expecting success of 1000.20 'change in branch A (addition)': git update-index --add AN +ok 20 - change in branch A (addition) -expecting success of 0008.14 'empty command line with -v': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.21 'change in branch A (addition)': git update-index --add AA +ok 21 - change in branch A (addition) - -fatal: no path specified -ok 14 - empty command line with -v +expecting success of 1000.22 'change in branch A (addition)': git update-index --add Z/AN +ok 22 - change in branch A (addition) -expecting success of 0008.15 'empty command line with -v -n': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.23 'change in branch A (addition)': git update-index --add Z/AA +ok 23 - change in branch A (addition) - -fatal: no path specified -ok 15 - empty command line with -v -n +expecting success of 1000.24 'change in branch A (addition)': git update-index --add LL && + git update-index SS +ok 24 - change in branch A (addition) -expecting success of 0008.16 'empty command line with -v --non-matching': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.25 'change in branch A (edit)': git update-index TT +ok 25 - change in branch A (edit) - -fatal: no path specified -ok 16 - empty command line with -v --non-matching +expecting success of 1000.26 'change in branch A (change file to directory)': git update-index --add DF/DF +ok 26 - change in branch A (change file to directory) -expecting success of 0008.17 'empty command line with --verbose': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.27 'recording branch A tree': tree_A=$(git write-tree) +ok 27 - recording branch A tree - -fatal: no path specified -ok 17 - empty command line with --verbose +expecting success of 1000.28 'reading original tree and checking out': git read-tree $tree_O && + git checkout-index -a +ok 28 - reading original tree and checking out -expecting success of 0008.18 'empty command line with --verbose -n': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.29 'change in branch B (removal)': git update-index --remove DD MD ND Z/DD Z/MD Z/ND +ok 29 - change in branch B (removal) - -fatal: no path specified -ok 18 - empty command line with --verbose -n +expecting success of 1000.30 'change in branch B (modification)': git update-index DM +ok 30 - change in branch B (modification) -expecting success of 0008.19 'empty command line with --verbose --non-matching': - expect '' && - - test_check_ignore "" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.31 'change in branch B (modification)': git update-index MM +ok 31 - change in branch B (modification) - -fatal: no path specified -ok 19 - empty command line with --verbose --non-matching +expecting success of 1000.32 'change in branch B (modification)': git update-index NM +ok 32 - change in branch B (modification) -expecting success of 0008.20 '--stdin with empty STDIN': - expect "$expect" && - eval "$code" - -ok 20 - --stdin with empty STDIN +expecting success of 1000.33 'change in branch B (modification)': git update-index Z/DM +ok 33 - change in branch B (modification) -expecting success of 0008.21 '--stdin with empty STDIN with -q': - expect '' && - - test_check_ignore "--stdin" 1 XX && + git update-index --add XX && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.29 '-q with multiple args': - expect "" && - test_check_ignore "-q one two" 128 && - stderr_contains "fatal: --quiet is only valid with a single pathname" +error: Entry 'XX' would be overwritten by merge. Cannot merge. +error: Entry 'XX' would be overwritten by merge. Cannot merge. +ok 47 - 1 - must not have an entry not in A. -fatal: --quiet is only valid with a single pathname -ok 29 - -q with multiple args +expecting success of 1000.48 '2 - must match B in !O && !A && B case.': + rm -f .git/index NA && + cp .orig-B/NA NA && + git update-index --add NA && + read_tree_must_succeed -m $tree_O $tree_A $tree_B -expecting success of 0008.30 '--quiet with multiple args': - expect "" && - test_check_ignore "--quiet one two" 128 && - stderr_contains "fatal: --quiet is only valid with a single pathname" +ok 48 - 2 - must match B in !O && !A && B case. -fatal: --quiet is only valid with a single pathname -ok 30 - --quiet with multiple args +expecting success of 1000.49 '2 - matching B alone is OK in !O && !A && B case.': + rm -f .git/index NA && + cp .orig-B/NA NA && + git update-index --add NA && + echo extra >>NA && + read_tree_must_succeed -m $tree_O $tree_A $tree_B -expecting success of 0008.31 '-q -v': - expect '' && - test_check_ignore '-q -v foo' 128 && - stderr_contains 'fatal: cannot have both --quiet and --verbose' - -fatal: cannot have both --quiet and --verbose -ok 31 - -q -v +ok 49 - 2 - matching B alone is OK in !O && !A && B case. -expecting success of 0008.32 '--quiet -v': - expect '' && - test_check_ignore '--quiet -v foo' 128 && - stderr_contains 'fatal: cannot have both --quiet and --verbose' - -fatal: cannot have both --quiet and --verbose -ok 32 - --quiet -v +expecting success of 1000.50 '3 - must match A in !O && A && !B case.': + rm -f .git/index AN && + cp .orig-A/AN AN && + git update-index --add AN && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result -expecting success of 0008.33 '-q --verbose': - expect '' && - test_check_ignore '-q --verbose foo' 128 && - stderr_contains 'fatal: cannot have both --quiet and --verbose' - -fatal: cannot have both --quiet and --verbose -ok 33 - -q --verbose +ok 50 - 3 - must match A in !O && A && !B case. -expecting success of 0008.34 '--quiet --verbose': - expect '' && - test_check_ignore '--quiet --verbose foo' 128 && - stderr_contains 'fatal: cannot have both --quiet and --verbose' - -fatal: cannot have both --quiet and --verbose -ok 34 - --quiet --verbose +expecting success of 1000.51 '3 - matching A alone is OK in !O && A && !B case.': + rm -f .git/index AN && + cp .orig-A/AN AN && + git update-index --add AN && + echo extra >>AN && + read_tree_must_succeed -m $tree_O $tree_A $tree_B -expecting success of 0008.35 '--quiet with multiple args': - expect "" && - test_check_ignore "--quiet one two" 128 && - stderr_contains "fatal: --quiet is only valid with a single pathname" +ok 51 - 3 - matching A alone is OK in !O && A && !B case. -fatal: --quiet is only valid with a single pathname -ok 35 - --quiet with multiple args +expecting success of 1000.52 '3 (fail) - must match A in !O && A && !B case.': + rm -f .git/index AN && + cp .orig-A/AN AN && + echo extra >>AN && + git update-index --add AN && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.36 'erroneous use of --': - expect "$expect" && - eval "$code" - -fatal: no path specified -ok 36 - erroneous use of -- +error: Entry 'AN' would be overwritten by merge. Cannot merge. +error: Entry 'AN' would be overwritten by merge. Cannot merge. +ok 52 - 3 (fail) - must match A in !O && A && !B case. -expecting success of 0008.37 'erroneous use of -- with -q': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.53 '4 - must match and be up-to-date in !O && A && B && A!=B case.': + rm -f .git/index AA && + cp .orig-A/AA AA && + git update-index --add AA && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: no path specified -ok 37 - erroneous use of -- with -q +ok 53 - 4 - must match and be up-to-date in !O && A && B && A!=B case. -expecting success of 0008.38 'erroneous use of -- with --quiet': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.54 '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.': + rm -f .git/index AA && + cp .orig-A/AA AA && + git update-index --add AA && + echo extra >>AA && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: no path specified -ok 38 - erroneous use of -- with --quiet +error: Entry 'AA' not uptodate. Cannot merge. +error: Entry 'AA' not uptodate. Cannot merge. +ok 54 - 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case. -expecting success of 0008.39 'erroneous use of -- with -v': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.55 '4 (fail) - must match and be up-to-date in !O && A && B && A!=B case.': + rm -f .git/index AA && + cp .orig-A/AA AA && + echo extra >>AA && + git update-index --add AA && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: no path specified -ok 39 - erroneous use of -- with -v +error: Entry 'AA' would be overwritten by merge. Cannot merge. +error: Entry 'AA' would be overwritten by merge. Cannot merge. +ok 55 - 4 (fail) - must match and be up-to-date in !O && A && B && A!=B case. -expecting success of 0008.40 'erroneous use of -- with -v -n': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.56 '5 - must match in !O && A && B && A==B case.': + rm -f .git/index LL && + cp .orig-A/LL LL && + git update-index --add LL && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: no path specified -ok 40 - erroneous use of -- with -v -n +ok 56 - 5 - must match in !O && A && B && A==B case. -expecting success of 0008.41 'erroneous use of -- with -v --non-matching': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.57 '5 - must match in !O && A && B && A==B case.': + rm -f .git/index LL && + cp .orig-A/LL LL && + git update-index --add LL && + echo extra >>LL && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: no path specified -ok 41 - erroneous use of -- with -v --non-matching +ok 57 - 5 - must match in !O && A && B && A==B case. -expecting success of 0008.42 'erroneous use of -- with --verbose': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.58 '5 (fail) - must match A in !O && A && B && A==B case.': + rm -f .git/index LL && + cp .orig-A/LL LL && + echo extra >>LL && + git update-index --add LL && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: no path specified -ok 42 - erroneous use of -- with --verbose +error: Entry 'LL' would be overwritten by merge. Cannot merge. +error: Entry 'LL' would be overwritten by merge. Cannot merge. +ok 58 - 5 (fail) - must match A in !O && A && B && A==B case. -expecting success of 0008.43 'erroneous use of -- with --verbose -n': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.59 '6 - must not exist in O && !A && !B case': + rm -f .git/index DD && + echo DD >DD && + git update-index --add DD && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: no path specified -ok 43 - erroneous use of -- with --verbose -n +error: Entry 'DD' would be overwritten by merge. Cannot merge. +error: Entry 'DD' would be overwritten by merge. Cannot merge. +ok 59 - 6 - must not exist in O && !A && !B case -expecting success of 0008.44 'erroneous use of -- with --verbose --non-matching': - expect '' && - - test_check_ignore "--" 128 && - stderr_contains "fatal: no path specified" +expecting success of 1000.60 '7 - must not exist in O && !A && B && O!=B case': + rm -f .git/index DM && + cp .orig-B/DM DM && + git update-index --add DM && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: no path specified -ok 44 - erroneous use of -- with --verbose --non-matching +error: Entry 'DM' would be overwritten by merge. Cannot merge. +error: Entry 'DM' would be overwritten by merge. Cannot merge. +ok 60 - 7 - must not exist in O && !A && B && O!=B case -expecting success of 0008.45 '--stdin with superfluous arg': - expect "$expect" && - eval "$code" - -fatal: cannot specify pathnames with --stdin -ok 45 - --stdin with superfluous arg +expecting success of 1000.61 '8 - must not exist in O && !A && B && O==B case': + rm -f .git/index DN && + cp .orig-B/DN DN && + git update-index --add DN && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.46 '--stdin with superfluous arg with -q': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +error: Entry 'DN' would be overwritten by merge. Cannot merge. +error: Entry 'DN' would be overwritten by merge. Cannot merge. +ok 61 - 8 - must not exist in O && !A && B && O==B case - -fatal: cannot specify pathnames with --stdin -ok 46 - --stdin with superfluous arg with -q +expecting success of 1000.62 '9 - must match and be up-to-date in O && A && !B && O!=A case': + rm -f .git/index MD && + cp .orig-A/MD MD && + git update-index --add MD && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result -expecting success of 0008.47 '--stdin with superfluous arg with --quiet': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +ok 62 - 9 - must match and be up-to-date in O && A && !B && O!=A case - -fatal: cannot specify pathnames with --stdin -ok 47 - --stdin with superfluous arg with --quiet +expecting success of 1000.63 '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case': + rm -f .git/index MD && + cp .orig-A/MD MD && + git update-index --add MD && + echo extra >>MD && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.48 '--stdin with superfluous arg with -v': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +error: Entry 'MD' not uptodate. Cannot merge. +error: Entry 'MD' not uptodate. Cannot merge. +ok 63 - 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case - -fatal: cannot specify pathnames with --stdin -ok 48 - --stdin with superfluous arg with -v +expecting success of 1000.64 '9 (fail) - must match and be up-to-date in O && A && !B && O!=A case': + rm -f .git/index MD && + cp .orig-A/MD MD && + echo extra >>MD && + git update-index --add MD && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.49 '--stdin with superfluous arg with -v -n': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +error: Entry 'MD' would be overwritten by merge. Cannot merge. +error: Entry 'MD' would be overwritten by merge. Cannot merge. +ok 64 - 9 (fail) - must match and be up-to-date in O && A && !B && O!=A case - -fatal: cannot specify pathnames with --stdin -ok 49 - --stdin with superfluous arg with -v -n +expecting success of 1000.65 '10 - must match and be up-to-date in O && A && !B && O==A case': + rm -f .git/index ND && + cp .orig-A/ND ND && + git update-index --add ND && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result -expecting success of 0008.50 '--stdin with superfluous arg with -v --non-matching': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +ok 65 - 10 - must match and be up-to-date in O && A && !B && O==A case - -fatal: cannot specify pathnames with --stdin -ok 50 - --stdin with superfluous arg with -v --non-matching +expecting success of 1000.66 '10 (fail) - must match and be up-to-date in O && A && !B && O==A case': + rm -f .git/index ND && + cp .orig-A/ND ND && + git update-index --add ND && + echo extra >>ND && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.51 '--stdin with superfluous arg with --verbose': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +error: Entry 'ND' not uptodate. Cannot merge. +error: Entry 'ND' not uptodate. Cannot merge. +ok 66 - 10 (fail) - must match and be up-to-date in O && A && !B && O==A case - -fatal: cannot specify pathnames with --stdin -ok 51 - --stdin with superfluous arg with --verbose +expecting success of 1000.67 '10 (fail) - must match and be up-to-date in O && A && !B && O==A case': + rm -f .git/index ND && + cp .orig-A/ND ND && + echo extra >>ND && + git update-index --add ND && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.52 '--stdin with superfluous arg with --verbose -n': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +error: Entry 'ND' would be overwritten by merge. Cannot merge. +error: Entry 'ND' would be overwritten by merge. Cannot merge. +ok 67 - 10 (fail) - must match and be up-to-date in O && A && !B && O==A case - -fatal: cannot specify pathnames with --stdin -ok 52 - --stdin with superfluous arg with --verbose -n +expecting success of 1000.68 '11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case': + rm -f .git/index MM && + cp .orig-A/MM MM && + git update-index --add MM && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result -expecting success of 0008.53 '--stdin with superfluous arg with --verbose --non-matching': - expect '' && - - test_check_ignore "--stdin foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +ok 68 - 11 - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case - -fatal: cannot specify pathnames with --stdin -ok 53 - --stdin with superfluous arg with --verbose --non-matching +expecting success of 1000.69 '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case': + rm -f .git/index MM && + cp .orig-A/MM MM && + git update-index --add MM && + echo extra >>MM && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.54 '--stdin -z with superfluous arg': - expect "$expect" && - eval "$code" - -fatal: cannot specify pathnames with --stdin -ok 54 - --stdin -z with superfluous arg +error: Entry 'MM' not uptodate. Cannot merge. +error: Entry 'MM' not uptodate. Cannot merge. +ok 69 - 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case -expecting success of 0008.55 '--stdin -z with superfluous arg with -q': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.70 '11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case': + rm -f .git/index MM && + cp .orig-A/MM MM && + echo extra >>MM && + git update-index --add MM && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: cannot specify pathnames with --stdin -ok 55 - --stdin -z with superfluous arg with -q +error: Entry 'MM' would be overwritten by merge. Cannot merge. +error: Entry 'MM' would be overwritten by merge. Cannot merge. +ok 70 - 11 (fail) - must match and be up-to-date in O && A && B && O!=A && O!=B && A!=B case -expecting success of 0008.56 '--stdin -z with superfluous arg with --quiet': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.71 '12 - must match A in O && A && B && O!=A && A==B case': + rm -f .git/index SS && + cp .orig-A/SS SS && + git update-index --add SS && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: cannot specify pathnames with --stdin -ok 56 - --stdin -z with superfluous arg with --quiet +ok 71 - 12 - must match A in O && A && B && O!=A && A==B case -expecting success of 0008.57 '--stdin -z with superfluous arg with -v': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.72 '12 - must match A in O && A && B && O!=A && A==B case': + rm -f .git/index SS && + cp .orig-A/SS SS && + git update-index --add SS && + echo extra >>SS && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: cannot specify pathnames with --stdin -ok 57 - --stdin -z with superfluous arg with -v +ok 72 - 12 - must match A in O && A && B && O!=A && A==B case -expecting success of 0008.58 '--stdin -z with superfluous arg with -v -n': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.73 '12 (fail) - must match A in O && A && B && O!=A && A==B case': + rm -f .git/index SS && + cp .orig-A/SS SS && + echo extra >>SS && + git update-index --add SS && + read_tree_must_fail -m $tree_O $tree_A $tree_B - -fatal: cannot specify pathnames with --stdin -ok 58 - --stdin -z with superfluous arg with -v -n +error: Entry 'SS' would be overwritten by merge. Cannot merge. +error: Entry 'SS' would be overwritten by merge. Cannot merge. +ok 73 - 12 (fail) - must match A in O && A && B && O!=A && A==B case -expecting success of 0008.59 '--stdin -z with superfluous arg with -v --non-matching': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.74 '13 - must match A in O && A && B && O!=A && O==B case': + rm -f .git/index MN && + cp .orig-A/MN MN && + git update-index --add MN && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: cannot specify pathnames with --stdin -ok 59 - --stdin -z with superfluous arg with -v --non-matching +ok 74 - 13 - must match A in O && A && B && O!=A && O==B case -expecting success of 0008.60 '--stdin -z with superfluous arg with --verbose': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.75 '13 - must match A in O && A && B && O!=A && O==B case': + rm -f .git/index MN && + cp .orig-A/MN MN && + git update-index --add MN && + echo extra >>MN && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: cannot specify pathnames with --stdin -ok 60 - --stdin -z with superfluous arg with --verbose +ok 75 - 13 - must match A in O && A && B && O!=A && O==B case -expecting success of 0008.61 '--stdin -z with superfluous arg with --verbose -n': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.76 '14 - must match and be up-to-date in O && A && B && O==A && O!=B case': + rm -f .git/index NM && + cp .orig-A/NM NM && + git update-index --add NM && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: cannot specify pathnames with --stdin -ok 61 - --stdin -z with superfluous arg with --verbose -n +ok 76 - 14 - must match and be up-to-date in O && A && B && O==A && O!=B case -expecting success of 0008.62 '--stdin -z with superfluous arg with --verbose --non-matching': - expect '' && - - test_check_ignore "--stdin -z foo" 128 && - stderr_contains "fatal: cannot specify pathnames with --stdin" +expecting success of 1000.77 '14 - may match B in O && A && B && O==A && O!=B case': + rm -f .git/index NM && + cp .orig-B/NM NM && + git update-index --add NM && + echo extra >>NM && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result - -fatal: cannot specify pathnames with --stdin -ok 62 - --stdin -z with superfluous arg with --verbose --non-matching +ok 77 - 14 - may match B in O && A && B && O==A && O!=B case -expecting success of 0008.63 '-z without --stdin': - expect "$expect" && - eval "$code" - -fatal: -z only makes sense with --stdin -ok 63 - -z without --stdin +expecting success of 1000.78 '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case': + rm -f .git/index NM && + cp .orig-A/NM NM && + git update-index --add NM && + echo extra >>NM && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.64 '-z without --stdin with -q': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +error: Entry 'NM' not uptodate. Cannot merge. +error: Entry 'NM' not uptodate. Cannot merge. +ok 78 - 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case - -fatal: -z only makes sense with --stdin -ok 64 - -z without --stdin with -q +expecting success of 1000.79 '14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case': + rm -f .git/index NM && + cp .orig-A/NM NM && + echo extra >>NM && + git update-index --add NM && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.65 '-z without --stdin with --quiet': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +error: Entry 'NM' would be overwritten by merge. Cannot merge. +error: Entry 'NM' would be overwritten by merge. Cannot merge. +ok 79 - 14 (fail) - must match and be up-to-date in O && A && B && O==A && O!=B case - -fatal: -z only makes sense with --stdin -ok 65 - -z without --stdin with --quiet +expecting success of 1000.80 '15 - must match A in O && A && B && O==A && O==B case': + rm -f .git/index NN && + cp .orig-A/NN NN && + git update-index --add NN && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result -expecting success of 0008.66 '-z without --stdin with -v': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +ok 80 - 15 - must match A in O && A && B && O==A && O==B case - -fatal: -z only makes sense with --stdin -ok 66 - -z without --stdin with -v +expecting success of 1000.81 '15 - must match A in O && A && B && O==A && O==B case': + rm -f .git/index NN && + cp .orig-A/NN NN && + git update-index --add NN && + echo extra >>NN && + read_tree_must_succeed -m $tree_O $tree_A $tree_B && + check_result -expecting success of 0008.67 '-z without --stdin with -v -n': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +ok 81 - 15 - must match A in O && A && B && O==A && O==B case - -fatal: -z only makes sense with --stdin -ok 67 - -z without --stdin with -v -n +expecting success of 1000.82 '15 (fail) - must match A in O && A && B && O==A && O==B case': + rm -f .git/index NN && + cp .orig-A/NN NN && + echo extra >>NN && + git update-index --add NN && + read_tree_must_fail -m $tree_O $tree_A $tree_B -expecting success of 0008.68 '-z without --stdin with -v --non-matching': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +error: Entry 'NN' would be overwritten by merge. Cannot merge. +error: Entry 'NN' would be overwritten by merge. Cannot merge. +ok 82 - 15 (fail) - must match A in O && A && B && O==A && O==B case - -fatal: -z only makes sense with --stdin -ok 68 - -z without --stdin with -v --non-matching +expecting success of 1000.83 '16 - A matches in one and B matches in another.': + rm -f .git/index F16 && + echo F16 >F16 && + git update-index --add F16 && + tree0=$(git write-tree) && + echo E16 >F16 && + git update-index F16 && + tree1=$(git write-tree) && + read_tree_must_succeed -m $tree0 $tree1 $tree1 $tree0 && + git ls-files --stage -expecting success of 0008.69 '-z without --stdin with --verbose': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +100644 ecbec6db011caa3ae26739812f092f76875fe6b6 2 F16 +100644 bcf4afda2c30299bf6538240d40bcb8fb3857691 3 F16 +ok 83 - 16 - A matches in one and B matches in another. - -fatal: -z only makes sense with --stdin -ok 69 - -z without --stdin with --verbose +# passed all 83 test(s) +1..83 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1002-read-tree-m-u-2way.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1002-read-tree-m-u-2way/.git/ +expecting success of 1002.1 'setup': echo frotz >frotz && + echo nitfol >nitfol && + echo bozbar >bozbar && + echo rezrov >rezrov && + git update-index --add nitfol bozbar rezrov && + treeH=$(git write-tree) && + echo treeH $treeH && + git ls-tree $treeH && -expecting success of 0008.70 '-z without --stdin with --verbose -n': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" + echo gnusto >bozbar && + git update-index --add frotz bozbar --force-remove rezrov && + git ls-files --stage >M.out && + treeM=$(git write-tree) && + echo treeM $treeM && + git ls-tree $treeM && + cp bozbar bozbar.M && + cp frotz frotz.M && + cp nitfol nitfol.M && + git diff-tree $treeH $treeM +treeH 661afa9096b7e2d4b9a28a6e43736cd0b06d1308 +100644 blob 78d812a2124ff980a1a70f8cca493698d643d242 bozbar +100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol +100644 blob 766498d93a4b06057a8e49d23f4068f1170ff38f rezrov +treeM 05bf9652e9b06473d6ca2f32ff60e2401e59bfa6 +100644 blob bb3b2cd2e136e1e4e7ecdf10068e246196dd8294 bozbar +100644 blob 8e4020bb5a8d8c873b25de15933e75cc0fc275df frotz +100644 blob dca6b92303befc93086aa025d90a5facd7eb2812 nitfol +:100644 100644 78d812a2124ff980a1a70f8cca493698d643d242 bb3b2cd2e136e1e4e7ecdf10068e246196dd8294 M bozbar +:000000 100644 0000000000000000000000000000000000000000 8e4020bb5a8d8c873b25de15933e75cc0fc275df A frotz +:100644 000000 766498d93a4b06057a8e49d23f4068f1170ff38f 0000000000000000000000000000000000000000 D rezrov +ok 1 - setup - -fatal: -z only makes sense with --stdin -ok 70 - -z without --stdin with --verbose -n +expecting success of 1002.2 '1, 2, 3 - no carry forward': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >1-3.out && + cmp M.out 1-3.out && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol && + check_cache_at bozbar clean && + check_cache_at frotz clean && + check_cache_at nitfol clean +bozbar: clean +frotz: clean +nitfol: clean +ok 2 - 1, 2, 3 - no carry forward -expecting success of 0008.71 '-z without --stdin with --verbose --non-matching': - expect '' && - - test_check_ignore "-z" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.3 '4 - carry forward local addition.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo "+100644 X 0 yomin" >expected && + echo yomin >yomin && + git update-index --add yomin && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >4.out && + test_might_fail git diff -U0 --no-index M.out 4.out >4diff.out && + compare_change 4diff.out expected && + check_cache_at yomin clean && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol && + echo yomin >yomin1 && + diff yomin yomin1 && + rm -f yomin1 +yomin: clean +ok 3 - 4 - carry forward local addition. - -fatal: -z only makes sense with --stdin -ok 71 - -z without --stdin with --verbose --non-matching +expecting success of 1002.4 '5 - carry forward local addition.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + read_tree_u_must_succeed -m -u $treeH && + echo yomin >yomin && + git update-index --add yomin && + echo yomin yomin >yomin && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >5.out && + test_might_fail git diff -U0 --no-index M.out 5.out >5diff.out && + compare_change 5diff.out expected && + check_cache_at yomin dirty && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol && + : dirty index should have prevented -u from checking it out. && + echo yomin yomin >yomin1 && + diff yomin yomin1 && + rm -f yomin1 +yomin: dirty +ok 4 - 5 - carry forward local addition. -expecting success of 0008.72 '-z without --stdin and superfluous arg': - expect "$expect" && - eval "$code" - -fatal: -z only makes sense with --stdin -ok 72 - -z without --stdin and superfluous arg +expecting success of 1002.5 '6 - local addition already has the same.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo frotz >frotz && + git update-index --add frotz && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >6.out && + test_cmp M.out 6.out && + check_cache_at frotz clean && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol && + echo frotz >frotz1 && + diff frotz frotz1 && + rm -f frotz1 +frotz: clean +ok 5 - 6 - local addition already has the same. -expecting success of 0008.73 '-z without --stdin and superfluous arg with -q': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.6 '7 - local addition already has the same.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo frotz >frotz && + git update-index --add frotz && + echo frotz frotz >frotz && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >7.out && + test_cmp M.out 7.out && + check_cache_at frotz dirty && + test_cmp bozbar.M bozbar && + test_cmp nitfol.M nitfol && + : dirty index should have prevented -u from checking it out. && + echo frotz frotz >frotz1 && + diff frotz frotz1 && + rm -f frotz1 +frotz: dirty +ok 6 - 7 - local addition already has the same. - -fatal: -z only makes sense with --stdin -ok 73 - -z without --stdin and superfluous arg with -q +expecting success of 1002.7 '8 - conflicting addition.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo frotz frotz >frotz && + git update-index --add frotz && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'frotz' would be overwritten by merge. Cannot merge. +ok 7 - 8 - conflicting addition. -expecting success of 0008.74 '-z without --stdin and superfluous arg with --quiet': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.8 '9 - conflicting addition.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo frotz frotz >frotz && + git update-index --add frotz && + echo frotz >frotz && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'frotz' would be overwritten by merge. Cannot merge. +ok 8 - 9 - conflicting addition. - -fatal: -z only makes sense with --stdin -ok 74 - -z without --stdin and superfluous arg with --quiet +expecting success of 1002.9 '10 - path removed.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo rezrov >rezrov && + git update-index --add rezrov && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >10.out && + cmp M.out 10.out && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol -expecting success of 0008.75 '-z without --stdin and superfluous arg with -v': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +ok 9 - 10 - path removed. - -fatal: -z only makes sense with --stdin -ok 75 - -z without --stdin and superfluous arg with -v +expecting success of 1002.10 '11 - dirty path removed.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo rezrov >rezrov && + git update-index --add rezrov && + echo rezrov rezrov >rezrov && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'rezrov' not uptodate. Cannot merge. +ok 10 - 11 - dirty path removed. -expecting success of 0008.76 '-z without --stdin and superfluous arg with -v -n': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.11 '12 - unmatching local changes being removed.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo rezrov rezrov >rezrov && + git update-index --add rezrov && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'rezrov' would be overwritten by merge. Cannot merge. +ok 11 - 12 - unmatching local changes being removed. - -fatal: -z only makes sense with --stdin -ok 76 - -z without --stdin and superfluous arg with -v -n +expecting success of 1002.12 '13 - unmatching local changes being removed.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo rezrov rezrov >rezrov && + git update-index --add rezrov && + echo rezrov >rezrov && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'rezrov' would be overwritten by merge. Cannot merge. +ok 12 - 13 - unmatching local changes being removed. -expecting success of 0008.77 '-z without --stdin and superfluous arg with -v --non-matching': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.13 '14 - unchanged in two heads.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo nitfol nitfol >nitfol && + git update-index --add nitfol && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >14.out && + test_must_fail git diff -U0 --no-index M.out 14.out >14diff.out && + compare_change 14diff.out expected && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + check_cache_at nitfol clean && + echo nitfol nitfol >nitfol1 && + diff nitfol nitfol1 && + rm -f nitfol1 +nitfol: clean +ok 13 - 14 - unchanged in two heads. - -fatal: -z only makes sense with --stdin -ok 77 - -z without --stdin and superfluous arg with -v --non-matching +expecting success of 1002.14 '15 - unchanged in two heads.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo nitfol nitfol >nitfol && + git update-index --add nitfol && + echo nitfol nitfol nitfol >nitfol && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >15.out && + test_must_fail git diff -U0 --no-index M.out 15.out >15diff.out && + compare_change 15diff.out expected && + check_cache_at nitfol dirty && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + echo nitfol nitfol nitfol >nitfol1 && + diff nitfol nitfol1 && + rm -f nitfol1 +nitfol: dirty +ok 14 - 15 - unchanged in two heads. -expecting success of 0008.78 '-z without --stdin and superfluous arg with --verbose': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.15 '16 - conflicting local change.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo bozbar bozbar >bozbar && + git update-index --add bozbar && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'bozbar' would be overwritten by merge. Cannot merge. +ok 15 - 16 - conflicting local change. - -fatal: -z only makes sense with --stdin -ok 78 - -z without --stdin and superfluous arg with --verbose +expecting success of 1002.16 '17 - conflicting local change.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo bozbar bozbar >bozbar && + git update-index --add bozbar && + echo bozbar bozbar bozbar >bozbar && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'bozbar' would be overwritten by merge. Cannot merge. +ok 16 - 17 - conflicting local change. -expecting success of 0008.79 '-z without --stdin and superfluous arg with --verbose -n': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.17 '18 - local change already having a good result.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo gnusto >bozbar && + git update-index --add bozbar && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >18.out && + test_cmp M.out 18.out && + check_cache_at bozbar clean && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol - -fatal: -z only makes sense with --stdin -ok 79 - -z without --stdin and superfluous arg with --verbose -n +bozbar: clean +ok 17 - 18 - local change already having a good result. -expecting success of 0008.80 '-z without --stdin and superfluous arg with --verbose --non-matching': - expect '' && - - test_check_ignore "-z foo" 128 && - stderr_contains "fatal: -z only makes sense with --stdin" +expecting success of 1002.18 '19 - local change already having a good result, further modified.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo gnusto >bozbar && + git update-index --add bozbar && + echo gnusto gnusto >bozbar && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >19.out && + test_cmp M.out 19.out && + check_cache_at bozbar dirty && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol && + echo gnusto gnusto >bozbar1 && + diff bozbar bozbar1 && + rm -f bozbar1 +bozbar: dirty +ok 18 - 19 - local change already having a good result, further modified. - -fatal: -z only makes sense with --stdin -ok 80 - -z without --stdin and superfluous arg with --verbose --non-matching +expecting success of 1002.19 '20 - no local change, use new tree.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo bozbar >bozbar && + git update-index --add bozbar && + read_tree_u_must_succeed -m -u $treeH $treeM && + git ls-files --stage >20.out && + test_cmp M.out 20.out && + check_cache_at bozbar clean && + test_cmp bozbar.M bozbar && + test_cmp frotz.M frotz && + test_cmp nitfol.M nitfol -expecting success of 0008.81 'needs work tree': - expect "$expect" && - eval "$code" - -fatal: this operation must be run in a work tree -ok 81 - needs work tree +bozbar: clean +ok 19 - 20 - no local change, use new tree. -expecting success of 0008.82 'needs work tree with -q': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +expecting success of 1002.20 '21 - no local change, dirty cache.': rm -f .git/index nitfol bozbar rezrov frotz && + read_tree_u_must_succeed --reset -u $treeH && + echo bozbar >bozbar && + git update-index --add bozbar && + echo gnusto gnusto >bozbar && + if read_tree_u_must_succeed -m -u $treeH $treeM; then false; else :; fi +error: Entry 'bozbar' not uptodate. Cannot merge. +ok 20 - 21 - no local change, dirty cache. - -fatal: this operation must be run in a work tree -ok 82 - needs work tree with -q +expecting success of 1002.21 'DF vs DF/DF case setup.': rm -f .git/index && + echo DF >DF && + git update-index --add DF && + treeDF=$(git write-tree) && + echo treeDF $treeDF && + git ls-tree $treeDF && -expecting success of 0008.83 'needs work tree with --quiet': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" + rm -f DF && + mkdir DF && + echo DF/DF >DF/DF && + git update-index --add --remove DF DF/DF && + treeDFDF=$(git write-tree) && + echo treeDFDF $treeDFDF && + git ls-tree $treeDFDF && + git ls-files --stage >DFDF.out +treeDF 6bf22db9043f2b5821c019d0ce0f2605421affcb +100644 blob 052efc3abbc31348f7abd34535b1953d38273257 DF +treeDFDF c38e296263d024b0f48c4a728d293232ac6c5443 +040000 tree 90bbead36f4d6a7c325fd450e6cfbcc7479d421a DF +ok 21 - DF vs DF/DF case setup. - -fatal: this operation must be run in a work tree -ok 83 - needs work tree with --quiet +expecting success of 1002.22 'DF vs DF/DF case test.': rm -f .git/index && + rm -fr DF && + echo DF >DF && + git update-index --add DF && + read_tree_u_must_succeed -m -u $treeDF $treeDFDF && + git ls-files --stage >DFDFcheck.out && + test_cmp DFDF.out DFDFcheck.out && + check_cache_at DF/DF clean +DF/DF: clean +ok 22 - DF vs DF/DF case test. -expecting success of 0008.84 'needs work tree with -v': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +# passed all 22 test(s) +1..22 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1009-read-tree-new-index.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1009-read-tree-new-index/.git/ +expecting success of 1009.1 'setup': + echo one >a && + git add a && + git commit -m initial - -fatal: this operation must be run in a work tree -ok 84 - needs work tree with -v +[master (root-commit) 4d54ff5] initial + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 a +ok 1 - setup -expecting success of 0008.85 'needs work tree with -v -n': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +expecting success of 1009.2 'non-existent index file': + rm -f new-index && + GIT_INDEX_FILE=new-index git read-tree master - -fatal: this operation must be run in a work tree -ok 85 - needs work tree with -v -n +ok 2 - non-existent index file -expecting success of 0008.86 'needs work tree with -v --non-matching': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +expecting success of 1009.3 'empty index file': + rm -f new-index && + > new-index && + GIT_INDEX_FILE=new-index git read-tree master - -fatal: this operation must be run in a work tree -ok 86 - needs work tree with -v --non-matching +ok 3 - empty index file -expecting success of 0008.87 'needs work tree with --verbose': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +# passed all 3 test(s) +1..3 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1010-mktree.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1010-mktree/.git/ +expecting success of 1010.1 'setup': + for d in a a. a0 + do + mkdir "$d" && echo "$d/one" >"$d/one" && + git add "$d" + done && + echo zero >one && + git update-index --add --info-only one && + git write-tree --missing-ok >tree.missing && + git ls-tree $(cat tree.missing) >top.missing && + git ls-tree -r $(cat tree.missing) >all.missing && + echo one >one && + git add one && + git write-tree >tree && + git ls-tree $(cat tree) >top && + git ls-tree -r $(cat tree) >all && + test_tick && + git commit -q -m one && + H=$(git rev-parse HEAD) && + git update-index --add --cacheinfo 160000 $H sub && + test_tick && + git commit -q -m two && + git rev-parse HEAD^{tree} >tree.withsub && + git ls-tree HEAD >top.withsub && + git ls-tree -r HEAD >all.withsub - -fatal: this operation must be run in a work tree -ok 87 - needs work tree with --verbose +ok 1 - setup -expecting success of 0008.88 'needs work tree with --verbose -n': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +expecting success of 1010.2 'ls-tree piped to mktree (1)': + git mktree actual && + test_cmp tree actual - -fatal: this operation must be run in a work tree -ok 88 - needs work tree with --verbose -n +ok 2 - ls-tree piped to mktree (1) -expecting success of 0008.89 'needs work tree with --verbose --non-matching': - expect '' && - - ( - cd .git && - test_check_ignore "foo" 128 - ) && - stderr_contains "fatal: this operation must be run in a work tree" +expecting success of 1010.3 'ls-tree piped to mktree (2)': + git mktree actual && + test_cmp tree.withsub actual - -fatal: this operation must be run in a work tree -ok 89 - needs work tree with --verbose --non-matching +ok 3 - ls-tree piped to mktree (2) -expecting success of 0008.90 'non-existent file at top-level not ignored': - expect "$expect" && - eval "$code" - -ok 90 - non-existent file at top-level not ignored +expecting success of 1010.4 'ls-tree output in wrong order given to mktree (1)': + perl -e "print reverse <>" actual && + test_cmp tree actual -expecting success of 0008.91 'non-existent file at top-level not ignored with -q': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 91 - non-existent file at top-level not ignored with -q +ok 4 - ls-tree output in wrong order given to mktree (1) -expecting success of 0008.92 'non-existent file at top-level not ignored with --quiet': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 92 - non-existent file at top-level not ignored with --quiet +expecting success of 1010.5 'ls-tree output in wrong order given to mktree (2)': + perl -e "print reverse <>" actual && + test_cmp tree.withsub actual -expecting success of 0008.93 'non-existent file at top-level not ignored with -v': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 93 - non-existent file at top-level not ignored with -v +ok 5 - ls-tree output in wrong order given to mktree (2) -expecting success of 0008.94 'non-existent file at top-level not ignored with -v -n': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 94 - non-existent file at top-level not ignored with -v -n +expecting success of 1010.6 'allow missing object with --missing': + git mktree --missing actual && + test_cmp tree.missing actual -expecting success of 0008.95 'non-existent file at top-level not ignored with -v --non-matching': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 95 - non-existent file at top-level not ignored with -v --non-matching +ok 6 - allow missing object with --missing -expecting success of 0008.96 'non-existent file at top-level not ignored with --verbose': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 96 - non-existent file at top-level not ignored with --verbose +expecting success of 1010.7 'mktree refuses to read ls-tree -r output (1)': + test_must_fail git mktree actual -expecting success of 0008.97 'non-existent file at top-level not ignored with --verbose -n': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 97 - non-existent file at top-level not ignored with --verbose -n +fatal: path a./one contains slash +ok 7 - mktree refuses to read ls-tree -r output (1) -expecting success of 0008.98 'non-existent file at top-level not ignored with --verbose --non-matching': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 98 - non-existent file at top-level not ignored with --verbose --non-matching +expecting success of 1010.8 'mktree refuses to read ls-tree -r output (2)': + test_must_fail git mktree actual -expecting success of 0008.99 'non-existent file at top-level not ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 99 - non-existent file at top-level not ignored with --no-index +fatal: path a./one contains slash +ok 8 - mktree refuses to read ls-tree -r output (2) -expecting success of 0008.100 'non-existent file at top-level not ignored with --no-index -q': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 100 - non-existent file at top-level not ignored with --no-index -q +# passed all 8 test(s) +1..8 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1007-hash-object.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/.git/ +expecting success of 1007.1 'setup': + setup_repo && + test_oid_cache <<-EOF + hello sha1:5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 + hello sha256:1e3b6c04d2eeb2b3e45c8a330445404c0b7cc7b257e2b097167d26f5230090c4 -expecting success of 0008.101 'non-existent file at top-level not ignored with --no-index --quiet': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 101 - non-existent file at top-level not ignored with --no-index --quiet + example sha1:ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + example sha256:b44fe1fe65589848253737db859bd490453510719d7424daab03daf0767b85ae + EOF -expecting success of 0008.102 'non-existent file at top-level not ignored with --no-index -v': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 102 - non-existent file at top-level not ignored with --no-index -v +ok 1 - setup -expecting success of 0008.103 'non-existent file at top-level not ignored with --no-index -v -n': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 103 - non-existent file at top-level not ignored with --no-index -v -n +expecting success of 1007.2 'multiple '--stdin's are rejected': + echo example | test_must_fail git hash-object --stdin --stdin -expecting success of 0008.104 'non-existent file at top-level not ignored with --no-index -v --non-matching': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 104 - non-existent file at top-level not ignored with --no-index -v --non-matching +error: Multiple --stdin arguments are not supported +usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... + or: git hash-object --stdin-paths -expecting success of 0008.105 'non-existent file at top-level not ignored with --no-index --verbose': - expect '' && - test_check_ignore 'non-existent' 1 - -ok 105 - non-existent file at top-level not ignored with --no-index --verbose + -t object type + -w write the object into the object database + --stdin read the object from stdin + --stdin-paths read file names from stdin + --no-filters store file as is without filters + --literally just hash any random garbage to create corrupt objects for debugging Git + --path process file as it were from this path -expecting success of 0008.106 'non-existent file at top-level not ignored with --no-index --verbose -n': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 106 - non-existent file at top-level not ignored with --no-index --verbose -n +ok 2 - multiple '--stdin's are rejected -expecting success of 0008.107 'non-existent file at top-level not ignored with --no-index --verbose --non-matching': - expect ':: non-existent' && - test_check_ignore 'non-existent' 1 - -ok 107 - non-existent file at top-level not ignored with --no-index --verbose --non-matching +expecting success of 1007.3 'Can't use --stdin and --stdin-paths together': + echo example | test_must_fail git hash-object --stdin --stdin-paths && + echo example | test_must_fail git hash-object --stdin-paths --stdin -expecting success of 0008.108 'non-existent file at top-level ignored': - expect "$expect" && - eval "$code" - -ok 108 - non-existent file at top-level ignored +error: Can't use --stdin-paths with --stdin +usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... + or: git hash-object --stdin-paths -expecting success of 0008.109 'non-existent file at top-level ignored with -q': - expect '' && - test_check_ignore 'one' - -ok 109 - non-existent file at top-level ignored with -q + -t object type + -w write the object into the object database + --stdin read the object from stdin + --stdin-paths read file names from stdin + --no-filters store file as is without filters + --literally just hash any random garbage to create corrupt objects for debugging Git + --path process file as it were from this path -expecting success of 0008.110 'non-existent file at top-level ignored with --quiet': - expect '' && - test_check_ignore 'one' - -ok 110 - non-existent file at top-level ignored with --quiet +error: Can't use --stdin-paths with --stdin +usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... + or: git hash-object --stdin-paths -expecting success of 0008.111 'non-existent file at top-level ignored with -v': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 111 - non-existent file at top-level ignored with -v + -t object type + -w write the object into the object database + --stdin read the object from stdin + --stdin-paths read file names from stdin + --no-filters store file as is without filters + --literally just hash any random garbage to create corrupt objects for debugging Git + --path process file as it were from this path -expecting success of 0008.112 'non-existent file at top-level ignored with -v -n': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 112 - non-existent file at top-level ignored with -v -n +ok 3 - Can't use --stdin and --stdin-paths together -expecting success of 0008.113 'non-existent file at top-level ignored with -v --non-matching': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 113 - non-existent file at top-level ignored with -v --non-matching +expecting success of 1007.4 'Can't pass filenames as arguments with --stdin-paths': + echo example | test_must_fail git hash-object --stdin-paths hello -expecting success of 0008.114 'non-existent file at top-level ignored with --verbose': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 114 - non-existent file at top-level ignored with --verbose +error: Can't specify files with --stdin-paths +usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... + or: git hash-object --stdin-paths -expecting success of 0008.115 'non-existent file at top-level ignored with --verbose -n': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 115 - non-existent file at top-level ignored with --verbose -n + -t object type + -w write the object into the object database + --stdin read the object from stdin + --stdin-paths read file names from stdin + --no-filters store file as is without filters + --literally just hash any random garbage to create corrupt objects for debugging Git + --path process file as it were from this path -expecting success of 0008.116 'non-existent file at top-level ignored with --verbose --non-matching': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 116 - non-existent file at top-level ignored with --verbose --non-matching +ok 4 - Can't pass filenames as arguments with --stdin-paths -expecting success of 0008.117 'non-existent file at top-level ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 117 - non-existent file at top-level ignored with --no-index +expecting success of 1007.5 'Can't use --path with --stdin-paths': + echo example | test_must_fail git hash-object --stdin-paths --path=foo -expecting success of 0008.118 'non-existent file at top-level ignored with --no-index -q': - expect '' && - test_check_ignore 'one' - -ok 118 - non-existent file at top-level ignored with --no-index -q +error: Can't use --stdin-paths with --path +usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... + or: git hash-object --stdin-paths -expecting success of 0008.119 'non-existent file at top-level ignored with --no-index --quiet': - expect '' && - test_check_ignore 'one' - -ok 119 - non-existent file at top-level ignored with --no-index --quiet + -t object type + -w write the object into the object database + --stdin read the object from stdin + --stdin-paths read file names from stdin + --no-filters store file as is without filters + --literally just hash any random garbage to create corrupt objects for debugging Git + --path process file as it were from this path -expecting success of 0008.120 'non-existent file at top-level ignored with --no-index -v': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 120 - non-existent file at top-level ignored with --no-index -v +ok 5 - Can't use --path with --stdin-paths -expecting success of 0008.121 'non-existent file at top-level ignored with --no-index -v -n': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 121 - non-existent file at top-level ignored with --no-index -v -n +expecting success of 1007.6 'Can't use --path with --no-filters': + test_must_fail git hash-object --no-filters --path=foo -expecting success of 0008.122 'non-existent file at top-level ignored with --no-index -v --non-matching': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 122 - non-existent file at top-level ignored with --no-index -v --non-matching +error: Can't use --path with --no-filters +usage: git hash-object [-t ] [-w] [--path= | --no-filters] [--stdin] [--] ... + or: git hash-object --stdin-paths -expecting success of 0008.123 'non-existent file at top-level ignored with --no-index --verbose': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 123 - non-existent file at top-level ignored with --no-index --verbose + -t object type + -w write the object into the object database + --stdin read the object from stdin + --stdin-paths read file names from stdin + --no-filters store file as is without filters + --literally just hash any random garbage to create corrupt objects for debugging Git + --path process file as it were from this path -expecting success of 0008.124 'non-existent file at top-level ignored with --no-index --verbose -n': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 124 - non-existent file at top-level ignored with --no-index --verbose -n +ok 6 - Can't use --path with --no-filters -expecting success of 0008.125 'non-existent file at top-level ignored with --no-index --verbose --non-matching': - expect '.gitignore:1:one one' && - test_check_ignore 'one' - -ok 125 - non-existent file at top-level ignored with --no-index --verbose --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ +expecting success of 1007.7 'hash a file': + test "$(test_oid hello)" = $(git hash-object hello) -expecting success of 0008.126 'existing untracked file at top-level not ignored': - expect "$expect" && - eval "$code" +ok 7 - hash a file + +expecting success of 1007.8 'blob does not exist in database': + test_must_fail git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 -ok 126 - existing untracked file at top-level not ignored +fatal: git cat-file 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689: bad file +ok 8 - blob does not exist in database -expecting success of 0008.127 'existing untracked file at top-level not ignored with -q': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 127 - existing untracked file at top-level not ignored with -q +expecting success of 1007.9 'hash from stdin': + test "$(test_oid example)" = $(git hash-object --stdin < example) -expecting success of 0008.128 'existing untracked file at top-level not ignored with --quiet': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 128 - existing untracked file at top-level not ignored with --quiet +ok 9 - hash from stdin -expecting success of 0008.129 'existing untracked file at top-level not ignored with -v': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 129 - existing untracked file at top-level not ignored with -v +expecting success of 1007.10 'blob does not exist in database': + test_must_fail git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + +fatal: git cat-file ddd3f836d3e3fbb7ae289aa9ae83536f76956399: bad file +ok 10 - blob does not exist in database -expecting success of 0008.130 'existing untracked file at top-level not ignored with -v -n': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 130 - existing untracked file at top-level not ignored with -v -n +expecting success of 1007.11 'hash a file and write to database': + test "$(test_oid hello)" = $(git hash-object -w hello) -expecting success of 0008.131 'existing untracked file at top-level not ignored with -v --non-matching': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 131 - existing untracked file at top-level not ignored with -v --non-matching +ok 11 - hash a file and write to database -expecting success of 0008.132 'existing untracked file at top-level not ignored with --verbose': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 132 - existing untracked file at top-level not ignored with --verbose +expecting success of 1007.12 'blob exists in database': + git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 + +Hello Worldok 12 - blob exists in database -expecting success of 0008.133 'existing untracked file at top-level not ignored with --verbose -n': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 133 - existing untracked file at top-level not ignored with --verbose -n +expecting success of 1007.13 'git hash-object --stdin file1 file1 && + obname0=$(echo bar | git hash-object --stdin) && + obname1=$(git hash-object file1) && + obname0new=$(echo bar | git hash-object --stdin file1 | sed -n -e 1p) && + obname1new=$(echo bar | git hash-object --stdin file1 | sed -n -e 2p) && + test "$obname0" = "$obname0new" && + test "$obname1" = "$obname1new" -expecting success of 0008.134 'existing untracked file at top-level not ignored with --verbose --non-matching': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 134 - existing untracked file at top-level not ignored with --verbose --non-matching +ok 13 - git hash-object --stdin file1 file0 && + cp file0 file1 && + echo "file0 -crlf" >.gitattributes && + echo "file1 crlf" >>.gitattributes && + git config core.autocrlf true && + file0_sha=$(git hash-object file0) && + file1_sha=$(git hash-object file1) && + test "$file0_sha" != "$file1_sha" -expecting success of 0008.136 'existing untracked file at top-level not ignored with --no-index -q': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 136 - existing untracked file at top-level not ignored with --no-index -q +ok 14 - set up crlf tests -expecting success of 0008.137 'existing untracked file at top-level not ignored with --no-index --quiet': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 137 - existing untracked file at top-level not ignored with --no-index --quiet +expecting success of 1007.15 'check that appropriate filter is invoke when --path is used': + path1_sha=$(git hash-object --path=file1 file0) && + path0_sha=$(git hash-object --path=file0 file1) && + test "$file0_sha" = "$path0_sha" && + test "$file1_sha" = "$path1_sha" && + path1_sha=$(cat file0 | git hash-object --path=file1 --stdin) && + path0_sha=$(cat file1 | git hash-object --path=file0 --stdin) && + test "$file0_sha" = "$path0_sha" && + test "$file1_sha" = "$path1_sha" -expecting success of 0008.138 'existing untracked file at top-level not ignored with --no-index -v': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 138 - existing untracked file at top-level not ignored with --no-index -v +ok 15 - check that appropriate filter is invoke when --path is used -expecting success of 0008.139 'existing untracked file at top-level not ignored with --no-index -v -n': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 139 - existing untracked file at top-level not ignored with --no-index -v -n +expecting success of 1007.16 'gitattributes also work in a subdirectory': + mkdir subdir && + ( + cd subdir && + subdir_sha0=$(git hash-object ../file0) && + subdir_sha1=$(git hash-object ../file1) && + test "$file0_sha" = "$subdir_sha0" && + test "$file1_sha" = "$subdir_sha1" + ) -expecting success of 0008.140 'existing untracked file at top-level not ignored with --no-index -v --non-matching': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 140 - existing untracked file at top-level not ignored with --no-index -v --non-matching +ok 16 - gitattributes also work in a subdirectory -expecting success of 0008.141 'existing untracked file at top-level not ignored with --no-index --verbose': - expect '' && - test_check_ignore 'not-ignored' 1 - -ok 141 - existing untracked file at top-level not ignored with --no-index --verbose +expecting success of 1007.17 '--path works in a subdirectory': + ( + cd subdir && + path1_sha=$(git hash-object --path=../file1 ../file0) && + path0_sha=$(git hash-object --path=../file0 ../file1) && + test "$file0_sha" = "$path0_sha" && + test "$file1_sha" = "$path1_sha" + ) -expecting success of 0008.142 'existing untracked file at top-level not ignored with --no-index --verbose -n': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 142 - existing untracked file at top-level not ignored with --no-index --verbose -n +ok 17 - --path works in a subdirectory -expecting success of 0008.143 'existing untracked file at top-level not ignored with --no-index --verbose --non-matching': - expect ':: not-ignored' && - test_check_ignore 'not-ignored' 1 - -ok 143 - existing untracked file at top-level not ignored with --no-index --verbose --non-matching +expecting success of 1007.18 'check that --no-filters option works': + nofilters_file1=$(git hash-object --no-filters file1) && + test "$file0_sha" = "$nofilters_file1" && + nofilters_file1=$(cat file1 | git hash-object --stdin) && + test "$file0_sha" = "$nofilters_file1" -expecting success of 0008.144 'existing tracked file at top-level not ignored': - expect "$expect" && - eval "$code" +ok 18 - check that --no-filters option works + +expecting success of 1007.19 'check that --no-filters option works with --stdin-paths': + nofilters_file1=$(echo "file1" | git hash-object --stdin-paths --no-filters) && + test "$file0_sha" = "$nofilters_file1" + +ok 19 - check that --no-filters option works with --stdin-paths + +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ +expecting success of 1007.20 'hash from stdin and write to database (-w --stdin)': + test "$(test_oid example)" = $(git hash-object $args < example) -ok 144 - existing tracked file at top-level not ignored +ok 20 - hash from stdin and write to database (-w --stdin) -expecting success of 0008.145 'existing tracked file at top-level not ignored with -q': - expect '' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 145 - existing tracked file at top-level not ignored with -q +expecting success of 1007.21 'blob exists in database': + git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + +This is an exampleok 21 - blob exists in database -expecting success of 0008.146 'existing tracked file at top-level not ignored with --quiet': - expect '' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 146 - existing tracked file at top-level not ignored with --quiet +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ +expecting success of 1007.22 'hash from stdin and write to database (--stdin -w)': + test "$(test_oid example)" = $(git hash-object $args < example) + +ok 22 - hash from stdin and write to database (--stdin -w) -expecting success of 0008.147 'existing tracked file at top-level not ignored with -v': - expect '' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 147 - existing tracked file at top-level not ignored with -v +expecting success of 1007.23 'blob exists in database': + git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + +This is an exampleok 23 - blob exists in database -expecting success of 0008.148 'existing tracked file at top-level not ignored with -v -n': - expect ':: ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 148 - existing tracked file at top-level not ignored with -v -n +expecting success of 1007.24 'hash two files with names on stdin': + test "$oids" = "$(echo_without_newline "$filenames" | git hash-object --stdin-paths)" -expecting success of 0008.149 'existing tracked file at top-level not ignored with -v --non-matching': - expect ':: ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 149 - existing tracked file at top-level not ignored with -v --non-matching +ok 24 - hash two files with names on stdin -expecting success of 0008.150 'existing tracked file at top-level not ignored with --verbose': - expect '' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 150 - existing tracked file at top-level not ignored with --verbose +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ +expecting success of 1007.25 'hash two files with names on stdin and write to database (-w --stdin-paths)': + test "$oids" = "$(echo_without_newline "$filenames" | git hash-object $args)" + +ok 25 - hash two files with names on stdin and write to database (-w --stdin-paths) -expecting success of 0008.151 'existing tracked file at top-level not ignored with --verbose -n': - expect ':: ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 151 - existing tracked file at top-level not ignored with --verbose -n +expecting success of 1007.26 'blob exists in database': + git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 + +Hello Worldok 26 - blob exists in database -expecting success of 0008.152 'existing tracked file at top-level not ignored with --verbose --non-matching': - expect ':: ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' 1 - -ok 152 - existing tracked file at top-level not ignored with --verbose --non-matching +expecting success of 1007.27 'blob exists in database': + git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + +This is an exampleok 27 - blob exists in database -expecting success of 0008.153 'existing tracked file at top-level shown as ignored with --no-index': - expect "$expect" && - eval "$code" +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1007-hash-object/test/.git/ +expecting success of 1007.28 'hash two files with names on stdin and write to database (--stdin-paths -w)': + test "$oids" = "$(echo_without_newline "$filenames" | git hash-object $args)" -ok 153 - existing tracked file at top-level shown as ignored with --no-index +ok 28 - hash two files with names on stdin and write to database (--stdin-paths -w) -expecting success of 0008.154 'existing tracked file at top-level shown as ignored with --no-index -q': - expect '' && - test_check_ignore 'ignored-but-in-index' - -ok 154 - existing tracked file at top-level shown as ignored with --no-index -q +expecting success of 1007.29 'blob exists in database': + git cat-file blob 5e1c309dae7f45e0f39b1bf3ac3cd9db12e7d689 + +Hello Worldok 29 - blob exists in database -expecting success of 0008.155 'existing tracked file at top-level shown as ignored with --no-index --quiet': - expect '' && - test_check_ignore 'ignored-but-in-index' - -ok 155 - existing tracked file at top-level shown as ignored with --no-index --quiet +expecting success of 1007.30 'blob exists in database': + git cat-file blob ddd3f836d3e3fbb7ae289aa9ae83536f76956399 + +This is an exampleok 30 - blob exists in database -expecting success of 0008.156 'existing tracked file at top-level shown as ignored with --no-index -v': - expect '.gitignore:2:ignored-* ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' - -ok 156 - existing tracked file at top-level shown as ignored with --no-index -v +expecting success of 1007.31 'too-short tree': + echo abc >malformed-tree && + test_must_fail git hash-object -t tree malformed-tree 2>err && + test_i18ngrep "too-short tree object" err -expecting success of 0008.157 'existing tracked file at top-level shown as ignored with --no-index -v -n': - expect '.gitignore:2:ignored-* ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' - -ok 157 - existing tracked file at top-level shown as ignored with --no-index -v -n +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 0008.158 'existing tracked file at top-level shown as ignored with --no-index -v --non-matching': - expect '.gitignore:2:ignored-* ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' - -ok 158 - existing tracked file at top-level shown as ignored with --no-index -v --non-matching +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 0008.159 'existing tracked file at top-level shown as ignored with --no-index --verbose': - expect '.gitignore:2:ignored-* ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' - -ok 159 - existing tracked file at top-level shown as ignored with --no-index --verbose +) +prerequisite C_LOCALE_OUTPUT ok +fatal: too-short tree object +ok 31 - too-short tree -expecting success of 0008.160 'existing tracked file at top-level shown as ignored with --no-index --verbose -n': - expect '.gitignore:2:ignored-* ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' - -ok 160 - existing tracked file at top-level shown as ignored with --no-index --verbose -n +expecting success of 1007.32 'malformed mode in tree': + hex_sha1=$(echo foo | git hash-object --stdin -w) && + bin_sha1=$(echo $hex_sha1 | hex2oct) && + printf "9100644 \0$bin_sha1" >tree-with-malformed-mode && + test_must_fail git hash-object -t tree tree-with-malformed-mode 2>err && + test_i18ngrep "malformed mode in tree entry" err -expecting success of 0008.161 'existing tracked file at top-level shown as ignored with --no-index --verbose --non-matching': - expect '.gitignore:2:ignored-* ignored-but-in-index' && - test_check_ignore 'ignored-but-in-index' - -ok 161 - existing tracked file at top-level shown as ignored with --no-index --verbose --non-matching +fatal: malformed mode in tree entry +ok 32 - malformed mode in tree -expecting success of 0008.162 'existing untracked file at top-level ignored': - expect "$expect" && - eval "$code" - -ok 162 - existing untracked file at top-level ignored +expecting success of 1007.33 'empty filename in tree': + hex_sha1=$(echo foo | git hash-object --stdin -w) && + bin_sha1=$(echo $hex_sha1 | hex2oct) && + printf "100644 \0$bin_sha1" >tree-with-empty-filename && + test_must_fail git hash-object -t tree tree-with-empty-filename 2>err && + test_i18ngrep "empty filename in tree entry" err -expecting success of 0008.163 'existing untracked file at top-level ignored with -q': - expect '' && - test_check_ignore 'ignored-and-untracked' - -ok 163 - existing untracked file at top-level ignored with -q +fatal: empty filename in tree entry +ok 33 - empty filename in tree -expecting success of 0008.164 'existing untracked file at top-level ignored with --quiet': - expect '' && - test_check_ignore 'ignored-and-untracked' - -ok 164 - existing untracked file at top-level ignored with --quiet +expecting success of 1007.34 'corrupt commit': + test_must_fail git hash-object -t commit --stdin + 1 file changed, 1 insertion(+) + create mode 100644 1 +[master b56a127] my_commit2 + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +Cloning into 'client'... +warning: filtering not recognized by server, ignoring +warning: filtering not recognized by server, ignoring +From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server + * [new tag] my_commit -> my_commit +ok 2 - convert shallow clone to partial clone -expecting success of 0008.180 'mix of file types at top-level': - expect "$expect" && - eval "$code" - -ok 180 - mix of file types at top-level +checking prerequisite: SHA1 -expecting success of 0008.181 'mix of file types at top-level with -v': - expect '.gitignore:1:one one -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 181 - mix of file types at top-level with -v +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && + case "$GIT_DEFAULT_HASH" in + sha1) true ;; + "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; + *) false ;; + esac -expecting success of 0008.182 'mix of file types at top-level with -v -n': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -:: ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 182 - mix of file types at top-level with -v -n +) +prerequisite SHA1 ok +expecting success of 0410.3 'convert to partial clone with noop extension': + rm -fr server client && + test_create_repo server && + test_commit -C server my_commit 1 && + test_commit -C server my_commit2 1 && + git clone --depth=1 "file://$(pwd)/server" client && + test_cmp_config -C client 0 core.repositoryformatversion && + git -C client config extensions.noop true && + git -C client fetch --unshallow --filter="blob:none" -expecting success of 0008.183 'mix of file types at top-level with -v --non-matching': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -:: ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 183 - mix of file types at top-level with -v --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ +[master (root-commit) 593c6ee] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 1 +[master 639877a] my_commit2 + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +Cloning into 'client'... +warning: filtering not recognized by server, ignoring +warning: filtering not recognized by server, ignoring +From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server + * [new tag] my_commit -> my_commit +ok 3 - convert to partial clone with noop extension -expecting success of 0008.184 'mix of file types at top-level with --verbose': - expect '.gitignore:1:one one -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 184 - mix of file types at top-level with --verbose +expecting success of 0410.4 'converting to partial clone fails with unrecognized extension': + rm -fr server client && + test_create_repo server && + test_commit -C server my_commit 1 && + test_commit -C server my_commit2 1 && + git clone --depth=1 "file://$(pwd)/server" client && + test_cmp_config -C client 0 core.repositoryformatversion && + git -C client config extensions.nonsense true && + test_must_fail git -C client fetch --unshallow --filter="blob:none" -expecting success of 0008.185 'mix of file types at top-level with --verbose -n': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -:: ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 185 - mix of file types at top-level with --verbose -n +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ +[master (root-commit) 6114aba] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 1 +[master 743b332] my_commit2 + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +Cloning into 'client'... +error: cannot upgrade repository format: unknown extension nonsense +fatal: unable to upgrade repository format to support partial clone +ok 4 - converting to partial clone fails with unrecognized extension -expecting success of 0008.186 'mix of file types at top-level with --verbose --non-matching': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -:: ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 186 - mix of file types at top-level with --verbose --non-matching +expecting success of 0410.5 'missing reflog object, but promised by a commit, passes fsck': + rm -rf repo && + test_create_repo repo && + test_commit -C repo my_commit && -expecting success of 0008.187 'mix of file types at top-level with --no-index': - expect "$expect" && - eval "$code" - -ok 187 - mix of file types at top-level with --no-index + A=$(git -C repo commit-tree -m a HEAD^{tree}) && + C=$(git -C repo commit-tree -m c -p $A HEAD^{tree}) && -expecting success of 0008.188 'mix of file types at top-level with --no-index -v': - expect '.gitignore:1:one one -.gitignore:2:ignored-* ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 188 - mix of file types at top-level with --no-index -v + # Reference $A only from reflog, and delete it + git -C repo branch my_branch "$A" && + git -C repo branch -f my_branch my_commit && + delete_object repo "$A" && -expecting success of 0008.189 'mix of file types at top-level with --no-index -v -n': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -.gitignore:2:ignored-* ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 189 - mix of file types at top-level with --no-index -v -n + # State that we got $C, which refers to $A, from promisor + printf "$C\n" | pack_as_from_promisor && -expecting success of 0008.190 'mix of file types at top-level with --no-index -v --non-matching': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -.gitignore:2:ignored-* ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 190 - mix of file types at top-level with --no-index -v --non-matching + # Normally, it fails + test_must_fail git -C repo fsck && -expecting success of 0008.191 'mix of file types at top-level with --no-index --verbose': - expect '.gitignore:1:one one -.gitignore:2:ignored-* ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 191 - mix of file types at top-level with --no-index --verbose + # But with the extension, it succeeds + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo fsck -expecting success of 0008.192 'mix of file types at top-level with --no-index --verbose -n': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -.gitignore:2:ignored-* ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 192 - mix of file types at top-level with --no-index --verbose -n +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 645f0a1] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 my_commit.t +b3b4322753142630efe6237cb5ef6cdc9d672d66 +error: refs/heads/my_branch: invalid reflog entry 7fcb8777d818dca542e59d6eec4b069c2142b35e +error: refs/heads/my_branch: invalid reflog entry 7fcb8777d818dca542e59d6eec4b069c2142b35e +dangling commit fe174b3c23f972b6c7ba26ed4c372380fc6d8deb +dangling commit fe174b3c23f972b6c7ba26ed4c372380fc6d8deb +ok 5 - missing reflog object, but promised by a commit, passes fsck -expecting success of 0008.193 'mix of file types at top-level with --no-index --verbose --non-matching': - expect ':: non-existent -.gitignore:1:one one -:: not-ignored -.gitignore:2:ignored-* ignored-but-in-index -.gitignore:2:ignored-* ignored-and-untracked' && - test_check_ignore ' - non-existent - one - not-ignored - ignored-but-in-index - ignored-and-untracked' - - -ok 193 - mix of file types at top-level with --no-index --verbose --non-matching +expecting success of 0410.6 'missing reflog object, but promised by a tag, passes fsck': + rm -rf repo && + test_create_repo repo && + test_commit -C repo my_commit && -expecting success of 0008.194 'non-existent file in subdir a/ not ignored': - expect "$expect" && - eval "$code" - -ok 194 - non-existent file in subdir a/ not ignored + A=$(git -C repo commit-tree -m a HEAD^{tree}) && + git -C repo tag -a -m d my_tag_name $A && + T=$(git -C repo rev-parse my_tag_name) && + git -C repo tag -d my_tag_name && -expecting success of 0008.195 'non-existent file in subdir a/ not ignored with -q': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 195 - non-existent file in subdir a/ not ignored with -q + # Reference $A only from reflog, and delete it + git -C repo branch my_branch "$A" && + git -C repo branch -f my_branch my_commit && + delete_object repo "$A" && -expecting success of 0008.196 'non-existent file in subdir a/ not ignored with --quiet': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 196 - non-existent file in subdir a/ not ignored with --quiet + # State that we got $T, which refers to $A, from promisor + printf "$T\n" | pack_as_from_promisor && -expecting success of 0008.197 'non-existent file in subdir a/ not ignored with -v': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 197 - non-existent file in subdir a/ not ignored with -v + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo fsck -expecting success of 0008.198 'non-existent file in subdir a/ not ignored with -v -n': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 198 - non-existent file in subdir a/ not ignored with -v -n +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) da2e7de] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 my_commit.t +Deleted tag 'my_tag_name' (was 34fac6a) +c5475378ca2e78834b400c9d937a6a162caee84e +dangling tag 34fac6a88cc545a8f8a17584908f0390550dbdb0 +ok 6 - missing reflog object, but promised by a tag, passes fsck -expecting success of 0008.199 'non-existent file in subdir a/ not ignored with -v --non-matching': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 199 - non-existent file in subdir a/ not ignored with -v --non-matching +expecting success of 0410.7 'missing reflog object alone fails fsck, even with extension set': + rm -rf repo && + test_create_repo repo && + test_commit -C repo my_commit && -expecting success of 0008.200 'non-existent file in subdir a/ not ignored with --verbose': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 200 - non-existent file in subdir a/ not ignored with --verbose + A=$(git -C repo commit-tree -m a HEAD^{tree}) && + B=$(git -C repo commit-tree -m b HEAD^{tree}) && -expecting success of 0008.201 'non-existent file in subdir a/ not ignored with --verbose -n': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 201 - non-existent file in subdir a/ not ignored with --verbose -n + # Reference $A only from reflog, and delete it + git -C repo branch my_branch "$A" && + git -C repo branch -f my_branch my_commit && + delete_object repo "$A" && -expecting success of 0008.202 'non-existent file in subdir a/ not ignored with --verbose --non-matching': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 202 - non-existent file in subdir a/ not ignored with --verbose --non-matching + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + test_must_fail git -C repo fsck -expecting success of 0008.203 'non-existent file in subdir a/ not ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 203 - non-existent file in subdir a/ not ignored with --no-index +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) b45c342] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 my_commit.t +error: refs/heads/my_branch: invalid reflog entry f1a8c2dbb0668e21bdaf6b739b0910c11c02cd4e +error: refs/heads/my_branch: invalid reflog entry f1a8c2dbb0668e21bdaf6b739b0910c11c02cd4e +dangling commit 2a85d5935b4dc1c093280877f8358ac27008115b +ok 7 - missing reflog object alone fails fsck, even with extension set -expecting success of 0008.204 'non-existent file in subdir a/ not ignored with --no-index -q': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 204 - non-existent file in subdir a/ not ignored with --no-index -q +expecting success of 0410.8 'missing ref object, but promised, passes fsck': + rm -rf repo && + test_create_repo repo && + test_commit -C repo my_commit && -expecting success of 0008.205 'non-existent file in subdir a/ not ignored with --no-index --quiet': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 205 - non-existent file in subdir a/ not ignored with --no-index --quiet + A=$(git -C repo commit-tree -m a HEAD^{tree}) && -expecting success of 0008.206 'non-existent file in subdir a/ not ignored with --no-index -v': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 206 - non-existent file in subdir a/ not ignored with --no-index -v + # Reference $A only from ref + git -C repo branch my_branch "$A" && + promise_and_delete "$A" && -expecting success of 0008.207 'non-existent file in subdir a/ not ignored with --no-index -v -n': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 207 - non-existent file in subdir a/ not ignored with --no-index -v -n + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo fsck -expecting success of 0008.208 'non-existent file in subdir a/ not ignored with --no-index -v --non-matching': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 208 - non-existent file in subdir a/ not ignored with --no-index -v --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 64a3647] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 my_commit.t +07990eb35a674c00ed95208ed2ad46a96b92b75e +dangling tag 549fe140e3a312e3c41eddbd806b0489252b5987 +ok 8 - missing ref object, but promised, passes fsck -expecting success of 0008.209 'non-existent file in subdir a/ not ignored with --no-index --verbose': - expect '' && - test_check_ignore 'a/non-existent' 1 - -ok 209 - non-existent file in subdir a/ not ignored with --no-index --verbose +expecting success of 0410.9 'missing object, but promised, passes fsck': + rm -rf repo && + test_create_repo repo && + test_commit -C repo 1 && + test_commit -C repo 2 && + test_commit -C repo 3 && + git -C repo tag -a annotated_tag -m "annotated tag" && -expecting success of 0008.210 'non-existent file in subdir a/ not ignored with --no-index --verbose -n': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 210 - non-existent file in subdir a/ not ignored with --no-index --verbose -n + C=$(git -C repo rev-parse 1) && + T=$(git -C repo rev-parse 2^{tree}) && + B=$(git hash-object repo/3.t) && + AT=$(git -C repo rev-parse annotated_tag) && -expecting success of 0008.211 'non-existent file in subdir a/ not ignored with --no-index --verbose --non-matching': - expect ':: a/non-existent' && - test_check_ignore 'a/non-existent' 1 - -ok 211 - non-existent file in subdir a/ not ignored with --no-index --verbose --non-matching + promise_and_delete "$C" && + promise_and_delete "$T" && + promise_and_delete "$B" && + promise_and_delete "$AT" && -expecting success of 0008.212 'non-existent file in subdir a/ ignored': - expect "$expect" && - eval "$code" - -ok 212 - non-existent file in subdir a/ ignored + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo fsck -expecting success of 0008.213 'non-existent file in subdir a/ ignored with -q': - expect '' && - test_check_ignore 'a/one' - -ok 213 - non-existent file in subdir a/ ignored with -q +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 105d4e4] 1 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 1.t +[master 6e1a67a] 2 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 2.t +[master b8c6625] 3 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 3.t +2485aac98d1c3225c271e3af5e766f4367310b3a +error: refs/tags/1 does not point to a valid object! +777e8eb59ffb5b5722c8cd4f7d423cf3cd5ba1c8 +error: refs/tags/1 does not point to a valid object! +31d0fc16a061bb21781c4c8359676a24cc34001e +hint: You have created a nested tag. The object referred to by your new tag is +hint: already a tag. If you meant to tag the object that it points to, use: +hint: +hint: git tag -f my_annotated_tag f68fb4566316e272a308917d081de51a218993a2^{} +hint: Disable this message with "git config advice.nestedTag false" +error: refs/tags/1 does not point to a valid object! +4a50c8bde259d424ffcf127903fe9d554cac6b7d +dangling tag 2683b267061c97bcc34e7140acb2a6275e5b30d1 +dangling tag 34bbb6f6e07e9726facfc8fa6af2c0b91c7d5958 +dangling tag 5cbb9b35329a5b70b793ba9577acb379e91b1e55 +dangling tree dcf3d5d7c6d10fb961287ca9bc59a5bf8a4b2afc +dangling tag 9fcc2c2e5cb1b8f6435735dde34bf7cb9effe69d +ok 9 - missing object, but promised, passes fsck -expecting success of 0008.214 'non-existent file in subdir a/ ignored with --quiet': - expect '' && - test_check_ignore 'a/one' - -ok 214 - non-existent file in subdir a/ ignored with --quiet +expecting success of 0410.10 'missing CLI object, but promised, passes fsck': + rm -rf repo && + test_create_repo repo && + test_commit -C repo my_commit && -expecting success of 0008.215 'non-existent file in subdir a/ ignored with -v': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 215 - non-existent file in subdir a/ ignored with -v + A=$(git -C repo commit-tree -m a HEAD^{tree}) && + promise_and_delete "$A" && -expecting success of 0008.216 'non-existent file in subdir a/ ignored with -v -n': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 216 - non-existent file in subdir a/ ignored with -v -n + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo fsck "$A" -expecting success of 0008.217 'non-existent file in subdir a/ ignored with -v --non-matching': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 217 - non-existent file in subdir a/ ignored with -v --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 1a8f860] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 my_commit.t +492fcaedcae5f38e5d43847baf9ad7f322583322 +dangling tag 2b9e4c52199b033af01a67d4508ef14ad7cf61f0 +dangling commit 1a8f8606ad20bf122ef5b7c5a44b64bc32833be8 +ok 10 - missing CLI object, but promised, passes fsck -expecting success of 0008.218 'non-existent file in subdir a/ ignored with --verbose': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 218 - non-existent file in subdir a/ ignored with --verbose +expecting success of 0410.11 'fetching of missing objects': + rm -rf repo err && + test_create_repo server && + test_commit -C server foo && + git -C server repack -a -d --write-bitmap-index && -expecting success of 0008.219 'non-existent file in subdir a/ ignored with --verbose -n': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 219 - non-existent file in subdir a/ ignored with --verbose -n + git clone "file://$(pwd)/server" repo && + HASH=$(git -C repo rev-parse foo) && + rm -rf repo/.git/objects/* && -expecting success of 0008.220 'non-existent file in subdir a/ ignored with --verbose --non-matching': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 220 - non-existent file in subdir a/ ignored with --verbose --non-matching + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "origin" && + git -C repo cat-file -p "$HASH" 2>err && -expecting success of 0008.221 'non-existent file in subdir a/ ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 221 - non-existent file in subdir a/ ignored with --no-index + # Ensure that no spurious FETCH_HEAD messages are written + ! grep FETCH_HEAD err && -expecting success of 0008.222 'non-existent file in subdir a/ ignored with --no-index -q': - expect '' && - test_check_ignore 'a/one' - -ok 222 - non-existent file in subdir a/ ignored with --no-index -q + # Ensure that the .promisor file is written, and check that its + # associated packfile contains the object + ls repo/.git/objects/pack/pack-*.promisor >promisorlist && + test_line_count = 1 promisorlist && + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH" out -expecting success of 0008.223 'non-existent file in subdir a/ ignored with --no-index --quiet': - expect '' && - test_check_ignore 'a/one' - -ok 223 - non-existent file in subdir a/ ignored with --no-index --quiet +Reinitialized existing Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ +[master b704ccc] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +Cloning into 'repo'... +tree e36fba6ed8261dd9be2ee0232186fc8ed7b73cdf +parent 743b332bcde964fd77f8834b760ab10e4e6a878e +author A U Thor 1112912833 -0700 +committer C O Mitter 1112912833 -0700 -expecting success of 0008.224 'non-existent file in subdir a/ ignored with --no-index -v': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 224 - non-existent file in subdir a/ ignored with --no-index -v +foo +b704ccc22db3053176e94aafda84b62a9f092a25 commit 215 155 12 +ok 11 - fetching of missing objects -expecting success of 0008.225 'non-existent file in subdir a/ ignored with --no-index -v -n': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 225 - non-existent file in subdir a/ ignored with --no-index -v -n +expecting success of 0410.12 'fetching of missing objects works with ref-in-want enabled': + # ref-in-want requires protocol version 2 + git -C server config protocol.version 2 && + git -C server config uploadpack.allowrefinwant 1 && + git -C repo config protocol.version 2 && -expecting success of 0008.226 'non-existent file in subdir a/ ignored with --no-index -v --non-matching': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 226 - non-existent file in subdir a/ ignored with --no-index -v --non-matching + rm -rf repo/.git/objects/* && + rm -f trace && + GIT_TRACE_PACKET="$(pwd)/trace" git -C repo cat-file -p "$HASH" && + grep "fetch< fetch=.*ref-in-want" trace -expecting success of 0008.227 'non-existent file in subdir a/ ignored with --no-index --verbose': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 227 - non-existent file in subdir a/ ignored with --no-index --verbose +warning: filtering not recognized by server, ignoring +tree e36fba6ed8261dd9be2ee0232186fc8ed7b73cdf +parent 743b332bcde964fd77f8834b760ab10e4e6a878e +author A U Thor 1112912833 -0700 +committer C O Mitter 1112912833 -0700 -expecting success of 0008.228 'non-existent file in subdir a/ ignored with --no-index --verbose -n': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 228 - non-existent file in subdir a/ ignored with --no-index --verbose -n +foo +packet: fetch< fetch=shallow ref-in-want +ok 12 - fetching of missing objects works with ref-in-want enabled -expecting success of 0008.229 'non-existent file in subdir a/ ignored with --no-index --verbose --non-matching': - expect '.gitignore:1:one a/one' && - test_check_ignore 'a/one' - -ok 229 - non-existent file in subdir a/ ignored with --no-index --verbose --non-matching +expecting success of 0410.13 'fetching of missing objects from another promisor remote': + git clone "file://$(pwd)/server" server2 && + test_commit -C server2 bar && + git -C server2 repack -a -d --write-bitmap-index && + HASH2=$(git -C server2 rev-parse bar) && -expecting success of 0008.230 'existing untracked file in subdir a/ not ignored': - expect "$expect" && - eval "$code" - -ok 230 - existing untracked file in subdir a/ not ignored + git -C repo remote add server2 "file://$(pwd)/server2" && + git -C repo config remote.server2.promisor true && + git -C repo cat-file -p "$HASH2" && -expecting success of 0008.231 'existing untracked file in subdir a/ not ignored with -q': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 231 - existing untracked file in subdir a/ not ignored with -q + git -C repo fetch server2 && + rm -rf repo/.git/objects/* && + git -C repo cat-file -p "$HASH2" && -expecting success of 0008.232 'existing untracked file in subdir a/ not ignored with --quiet': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 232 - existing untracked file in subdir a/ not ignored with --quiet + # Ensure that the .promisor file is written, and check that its + # associated packfile contains the object + ls repo/.git/objects/pack/pack-*.promisor >promisorlist && + test_line_count = 1 promisorlist && + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH2" out -expecting success of 0008.233 'existing untracked file in subdir a/ not ignored with -v': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 233 - existing untracked file in subdir a/ not ignored with -v +Cloning into 'server2'... +[master dcd9300] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar.t +warning: filtering not recognized by server, ignoring +tree 71baac54afb804ff6a25aae0730b2466d066a704 +parent b704ccc22db3053176e94aafda84b62a9f092a25 +author A U Thor 1112912893 -0700 +committer C O Mitter 1112912893 -0700 -expecting success of 0008.234 'existing untracked file in subdir a/ not ignored with -v -n': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 234 - existing untracked file in subdir a/ not ignored with -v -n +bar +From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server2 + * [new branch] master -> server2/master + * [new tag] bar -> bar +warning: filtering not recognized by server, ignoring +tree 71baac54afb804ff6a25aae0730b2466d066a704 +parent b704ccc22db3053176e94aafda84b62a9f092a25 +author A U Thor 1112912893 -0700 +committer C O Mitter 1112912893 -0700 -expecting success of 0008.235 'existing untracked file in subdir a/ not ignored with -v --non-matching': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 235 - existing untracked file in subdir a/ not ignored with -v --non-matching +bar +dcd93000cb3620e00e92f7bf15dd15265b7945e3 commit 215 156 12 +ok 13 - fetching of missing objects from another promisor remote -expecting success of 0008.236 'existing untracked file in subdir a/ not ignored with --verbose': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 236 - existing untracked file in subdir a/ not ignored with --verbose +expecting success of 0410.14 'fetching of missing objects configures a promisor remote': + git clone "file://$(pwd)/server" server3 && + test_commit -C server3 baz && + git -C server3 repack -a -d --write-bitmap-index && + HASH3=$(git -C server3 rev-parse baz) && + git -C server3 config uploadpack.allowfilter 1 && -expecting success of 0008.237 'existing untracked file in subdir a/ not ignored with --verbose -n': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 237 - existing untracked file in subdir a/ not ignored with --verbose -n + rm repo/.git/objects/pack/pack-*.promisor && -expecting success of 0008.238 'existing untracked file in subdir a/ not ignored with --verbose --non-matching': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 238 - existing untracked file in subdir a/ not ignored with --verbose --non-matching + git -C repo remote add server3 "file://$(pwd)/server3" && + git -C repo fetch --filter="blob:none" server3 $HASH3 && -expecting success of 0008.239 'existing untracked file in subdir a/ not ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 239 - existing untracked file in subdir a/ not ignored with --no-index + test_cmp_config -C repo true remote.server3.promisor && -expecting success of 0008.240 'existing untracked file in subdir a/ not ignored with --no-index -q': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 240 - existing untracked file in subdir a/ not ignored with --no-index -q + # Ensure that the .promisor file is written, and check that its + # associated packfile contains the object + ls repo/.git/objects/pack/pack-*.promisor >promisorlist && + test_line_count = 1 promisorlist && + IDX=$(sed "s/promisor$/idx/" promisorlist) && + git verify-pack --verbose "$IDX" >out && + grep "$HASH3" out -expecting success of 0008.241 'existing untracked file in subdir a/ not ignored with --no-index --quiet': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 241 - existing untracked file in subdir a/ not ignored with --no-index --quiet +Cloning into 'server3'... +[master e3103d2] baz + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 baz.t +From file:///build/git-2.30.2/t/trash directory.t0410-partial-clone/server3 + * branch e3103d2f75518c211dd5b6abe06ec88c7ac1d760 -> FETCH_HEAD +e3103d2f75518c211dd5b6abe06ec88c7ac1d760 commit 215 157 12 +ok 14 - fetching of missing objects configures a promisor remote -expecting success of 0008.242 'existing untracked file in subdir a/ not ignored with --no-index -v': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 242 - existing untracked file in subdir a/ not ignored with --no-index -v +expecting success of 0410.15 'fetching of missing blobs works': + rm -rf server server2 repo && + rm -rf server server3 repo && + test_create_repo server && + test_commit -C server foo && + git -C server repack -a -d --write-bitmap-index && -expecting success of 0008.243 'existing untracked file in subdir a/ not ignored with --no-index -v -n': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 243 - existing untracked file in subdir a/ not ignored with --no-index -v -n + git clone "file://$(pwd)/server" repo && + git hash-object repo/foo.t >blobhash && + rm -rf repo/.git/objects/* && -expecting success of 0008.244 'existing untracked file in subdir a/ not ignored with --no-index -v --non-matching': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 244 - existing untracked file in subdir a/ not ignored with --no-index -v --non-matching + git -C server config uploadpack.allowanysha1inwant 1 && + git -C server config uploadpack.allowfilter 1 && + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "origin" && -expecting success of 0008.245 'existing untracked file in subdir a/ not ignored with --no-index --verbose': - expect '' && - test_check_ignore 'a/not-ignored' 1 - -ok 245 - existing untracked file in subdir a/ not ignored with --no-index --verbose + git -C repo cat-file -p $(cat blobhash) -expecting success of 0008.246 'existing untracked file in subdir a/ not ignored with --no-index --verbose -n': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 246 - existing untracked file in subdir a/ not ignored with --no-index --verbose -n +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ +[master (root-commit) a4efc16] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +Cloning into 'repo'... +foo +ok 15 - fetching of missing blobs works -expecting success of 0008.247 'existing untracked file in subdir a/ not ignored with --no-index --verbose --non-matching': - expect ':: a/not-ignored' && - test_check_ignore 'a/not-ignored' 1 - -ok 247 - existing untracked file in subdir a/ not ignored with --no-index --verbose --non-matching +expecting success of 0410.16 'fetching of missing trees does not fetch blobs': + rm -rf server repo && + test_create_repo server && + test_commit -C server foo && + git -C server repack -a -d --write-bitmap-index && -expecting success of 0008.248 'existing tracked file in subdir a/ not ignored': - expect "$expect" && - eval "$code" - -ok 248 - existing tracked file in subdir a/ not ignored + git clone "file://$(pwd)/server" repo && + git -C repo rev-parse foo^{tree} >treehash && + git hash-object repo/foo.t >blobhash && + rm -rf repo/.git/objects/* && -expecting success of 0008.249 'existing tracked file in subdir a/ not ignored with -q': - expect '' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 249 - existing tracked file in subdir a/ not ignored with -q + git -C server config uploadpack.allowanysha1inwant 1 && + git -C server config uploadpack.allowfilter 1 && + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "origin" && + git -C repo cat-file -p $(cat treehash) && -expecting success of 0008.250 'existing tracked file in subdir a/ not ignored with --quiet': - expect '' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 250 - existing tracked file in subdir a/ not ignored with --quiet + # Ensure that the tree, but not the blob, is fetched + git -C repo rev-list --objects --missing=print $(cat treehash) >objects && + grep "^$(cat treehash)" objects && + grep "^[?]$(cat blobhash)" objects -expecting success of 0008.251 'existing tracked file in subdir a/ not ignored with -v': - expect '' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 251 - existing tracked file in subdir a/ not ignored with -v +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/server/.git/ +[master (root-commit) bbef54c] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +Cloning into 'repo'... +100644 blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 foo.t +64fd3796c57084e7b8cbae358ce37970b8e954f6 +?257cc5642cb1a054f08cc83f2d943e56fd3ebe99 +ok 16 - fetching of missing trees does not fetch blobs -expecting success of 0008.252 'existing tracked file in subdir a/ not ignored with -v -n': - expect ':: a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 252 - existing tracked file in subdir a/ not ignored with -v -n +expecting success of 0410.17 'rev-list stops traversal at missing and promised commit': + rm -rf repo && + test_create_repo repo && + test_commit -C repo foo && + test_commit -C repo bar && -expecting success of 0008.253 'existing tracked file in subdir a/ not ignored with -v --non-matching': - expect ':: a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 253 - existing tracked file in subdir a/ not ignored with -v --non-matching + FOO=$(git -C repo rev-parse foo) && + promise_and_delete "$FOO" && -expecting success of 0008.254 'existing tracked file in subdir a/ not ignored with --verbose': - expect '' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 254 - existing tracked file in subdir a/ not ignored with --verbose + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + GIT_TEST_COMMIT_GRAPH=0 git -C repo -c core.commitGraph=false rev-list --exclude-promisor-objects --objects bar >out && + grep $(git -C repo rev-parse bar) out && + ! grep $FOO out -expecting success of 0008.255 'existing tracked file in subdir a/ not ignored with --verbose -n': - expect ':: a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 255 - existing tracked file in subdir a/ not ignored with --verbose -n +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 6aab15f] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +[master b1dec3b] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar.t +6957fa0a452191e604d77bee487c33c045870def +b1dec3bac444a8f7cf518a7b91ace0b63f3a2b4d +ok 17 - rev-list stops traversal at missing and promised commit -expecting success of 0008.256 'existing tracked file in subdir a/ not ignored with --verbose --non-matching': - expect ':: a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' 1 - -ok 256 - existing tracked file in subdir a/ not ignored with --verbose --non-matching +expecting success of 0410.18 'missing tree objects with --missing=allow-promisor and --exclude-promisor-objects': + rm -rf repo && + test_create_repo repo && + test_commit -C repo foo && + test_commit -C repo bar && + test_commit -C repo baz && -expecting success of 0008.257 'existing tracked file in subdir a/ shown as ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 257 - existing tracked file in subdir a/ shown as ignored with --no-index + promise_and_delete $(git -C repo rev-parse bar^{tree}) && + promise_and_delete $(git -C repo rev-parse foo^{tree}) && -expecting success of 0008.258 'existing tracked file in subdir a/ shown as ignored with --no-index -q': - expect '' && - test_check_ignore 'a/ignored-but-in-index' - -ok 258 - existing tracked file in subdir a/ shown as ignored with --no-index -q + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && -expecting success of 0008.259 'existing tracked file in subdir a/ shown as ignored with --no-index --quiet': - expect '' && - test_check_ignore 'a/ignored-but-in-index' - -ok 259 - existing tracked file in subdir a/ shown as ignored with --no-index --quiet + git -C repo rev-list --missing=allow-promisor --objects HEAD >objs 2>rev_list_err && + test_must_be_empty rev_list_err && + # 3 commits, 3 blobs, and 1 tree + test_line_count = 7 objs && -expecting success of 0008.260 'existing tracked file in subdir a/ shown as ignored with --no-index -v': - expect '.gitignore:2:ignored-* a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' - -ok 260 - existing tracked file in subdir a/ shown as ignored with --no-index -v + # Do the same for --exclude-promisor-objects, but with all trees gone. + promise_and_delete $(git -C repo rev-parse baz^{tree}) && + git -C repo rev-list --exclude-promisor-objects --objects HEAD >objs 2>rev_list_err && + test_must_be_empty rev_list_err && + # 3 commits, no blobs or trees + test_line_count = 3 objs -expecting success of 0008.261 'existing tracked file in subdir a/ shown as ignored with --no-index -v -n': - expect '.gitignore:2:ignored-* a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' - -ok 261 - existing tracked file in subdir a/ shown as ignored with --no-index -v -n +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 64e4430] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +[master 7d4554d] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar.t +[master cd99eb2] baz + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 baz.t +5a7677c1cfd341d40bd44c43b4f874297f1ec02f +73268b48a1d52e8d7427a13e5e0a53d1ce3a2cde +45cdf0e3b8883f1e635118044731f8007b425446 +ok 18 - missing tree objects with --missing=allow-promisor and --exclude-promisor-objects -expecting success of 0008.262 'existing tracked file in subdir a/ shown as ignored with --no-index -v --non-matching': - expect '.gitignore:2:ignored-* a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' - -ok 262 - existing tracked file in subdir a/ shown as ignored with --no-index -v --non-matching +expecting success of 0410.19 'missing non-root tree object and rev-list': + rm -rf repo && + test_create_repo repo && + mkdir repo/dir && + echo foo >repo/dir/foo && + git -C repo add dir/foo && + git -C repo commit -m "commit dir/foo" && -expecting success of 0008.263 'existing tracked file in subdir a/ shown as ignored with --no-index --verbose': - expect '.gitignore:2:ignored-* a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' - -ok 263 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose + promise_and_delete $(git -C repo rev-parse HEAD:dir) && -expecting success of 0008.264 'existing tracked file in subdir a/ shown as ignored with --no-index --verbose -n': - expect '.gitignore:2:ignored-* a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' - -ok 264 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose -n + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && -expecting success of 0008.265 'existing tracked file in subdir a/ shown as ignored with --no-index --verbose --non-matching': - expect '.gitignore:2:ignored-* a/ignored-but-in-index' && - test_check_ignore 'a/ignored-but-in-index' - -ok 265 - existing tracked file in subdir a/ shown as ignored with --no-index --verbose --non-matching + git -C repo rev-list --missing=allow-any --objects HEAD >objs 2>rev_list_err && + test_must_be_empty rev_list_err && + # 1 commit and 1 tree + test_line_count = 2 objs -expecting success of 0008.266 'existing untracked file in subdir a/ ignored': - expect "$expect" && - eval "$code" - -ok 266 - existing untracked file in subdir a/ ignored +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) a5e7939] commit dir/foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 dir/foo +7ce7d28db10a68b678ada6d4ecb4c006ef98efdf +ok 19 - missing non-root tree object and rev-list -expecting success of 0008.267 'existing untracked file in subdir a/ ignored with -q': - expect '' && - test_check_ignore 'a/ignored-and-untracked' - -ok 267 - existing untracked file in subdir a/ ignored with -q +expecting success of 0410.20 'rev-list stops traversal at missing and promised tree': + rm -rf repo && + test_create_repo repo && + test_commit -C repo foo && + mkdir repo/a_dir && + echo something >repo/a_dir/something && + git -C repo add a_dir/something && + git -C repo commit -m bar && -expecting success of 0008.268 'existing untracked file in subdir a/ ignored with --quiet': - expect '' && - test_check_ignore 'a/ignored-and-untracked' - -ok 268 - existing untracked file in subdir a/ ignored with --quiet + # foo^{tree} (tree referenced from commit) + TREE=$(git -C repo rev-parse foo^{tree}) && -expecting success of 0008.269 'existing untracked file in subdir a/ ignored with -v': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 269 - existing untracked file in subdir a/ ignored with -v + # a tree referenced by HEAD^{tree} (tree referenced from tree) + TREE2=$(git -C repo ls-tree HEAD^{tree} | grep " tree " | head -1 | cut -b13-52) && -expecting success of 0008.270 'existing untracked file in subdir a/ ignored with -v -n': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 270 - existing untracked file in subdir a/ ignored with -v -n + promise_and_delete "$TREE" && + promise_and_delete "$TREE2" && -expecting success of 0008.271 'existing untracked file in subdir a/ ignored with -v --non-matching': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 271 - existing untracked file in subdir a/ ignored with -v --non-matching + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo rev-list --exclude-promisor-objects --objects HEAD >out && + grep $(git -C repo rev-parse foo) out && + ! grep $TREE out && + grep $(git -C repo rev-parse HEAD) out && + ! grep $TREE2 out -expecting success of 0008.272 'existing untracked file in subdir a/ ignored with --verbose': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 272 - existing untracked file in subdir a/ ignored with --verbose +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 96b8fe3] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +[master 8de0a7d] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 a_dir/something +21f60db37d541c539ce18abed9c34cca08275e75 +6caf607f93808b23e8773d5ceaf964a46fb56c9e +96b8fe3464a11619c1a316025ca9559d70376519 +8de0a7d1831a9b960ff060dd7a5b24ad6d24d64e +ok 20 - rev-list stops traversal at missing and promised tree -expecting success of 0008.273 'existing untracked file in subdir a/ ignored with --verbose -n': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 273 - existing untracked file in subdir a/ ignored with --verbose -n +expecting success of 0410.21 'rev-list stops traversal at missing and promised blob': + rm -rf repo && + test_create_repo repo && + echo something >repo/something && + git -C repo add something && + git -C repo commit -m foo && -expecting success of 0008.274 'existing untracked file in subdir a/ ignored with --verbose --non-matching': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 274 - existing untracked file in subdir a/ ignored with --verbose --non-matching + BLOB=$(git -C repo hash-object -w something) && + promise_and_delete "$BLOB" && -expecting success of 0008.275 'existing untracked file in subdir a/ ignored with --no-index': - expect "$expect" && - eval "$code" - -ok 275 - existing untracked file in subdir a/ ignored with --no-index + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo rev-list --exclude-promisor-objects --objects HEAD >out && + grep $(git -C repo rev-parse HEAD) out && + ! grep $BLOB out -expecting success of 0008.276 'existing untracked file in subdir a/ ignored with --no-index -q': - expect '' && - test_check_ignore 'a/ignored-and-untracked' - -ok 276 - existing untracked file in subdir a/ ignored with --no-index -q +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 01a8213] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 something +d6f316ffccd3991a4054699cd282e93f0a553231 +01a82131db12b84e117cf2846b6fa9a3725295b8 +ok 21 - rev-list stops traversal at missing and promised blob -expecting success of 0008.277 'existing untracked file in subdir a/ ignored with --no-index --quiet': - expect '' && - test_check_ignore 'a/ignored-and-untracked' - -ok 277 - existing untracked file in subdir a/ ignored with --no-index --quiet +expecting success of 0410.22 'rev-list stops traversal at promisor commit, tree, and blob': + rm -rf repo && + test_create_repo repo && + test_commit -C repo foo && + test_commit -C repo bar && + test_commit -C repo baz && -expecting success of 0008.278 'existing untracked file in subdir a/ ignored with --no-index -v': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 278 - existing untracked file in subdir a/ ignored with --no-index -v + COMMIT=$(git -C repo rev-parse foo) && + TREE=$(git -C repo rev-parse bar^{tree}) && + BLOB=$(git hash-object repo/baz.t) && + printf "%s\n%s\n%s\n" $COMMIT $TREE $BLOB | pack_as_from_promisor && -expecting success of 0008.279 'existing untracked file in subdir a/ ignored with --no-index -v -n': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 279 - existing untracked file in subdir a/ ignored with --no-index -v -n + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo rev-list --exclude-promisor-objects --objects HEAD >out && + ! grep $COMMIT out && + ! grep $TREE out && + ! grep $BLOB out && + grep $(git -C repo rev-parse bar) out # sanity check that some walking was done -expecting success of 0008.280 'existing untracked file in subdir a/ ignored with --no-index -v --non-matching': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 280 - existing untracked file in subdir a/ ignored with --no-index -v --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 17fbdf8] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +[master ea417f4] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar.t +[master 77b3ab0] baz + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 baz.t +213f85e674040d949d96a3cd96c377e01a7489e5 +ea417f432d150bbcc6ffcbe70901b68a8827c5ed +ok 22 - rev-list stops traversal at promisor commit, tree, and blob -expecting success of 0008.281 'existing untracked file in subdir a/ ignored with --no-index --verbose': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 281 - existing untracked file in subdir a/ ignored with --no-index --verbose +expecting success of 0410.23 'rev-list dies for missing objects on cmd line': + rm -rf repo && + test_create_repo repo && + test_commit -C repo foo && + test_commit -C repo bar && + test_commit -C repo baz && -expecting success of 0008.282 'existing untracked file in subdir a/ ignored with --no-index --verbose -n': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 282 - existing untracked file in subdir a/ ignored with --no-index --verbose -n + COMMIT=$(git -C repo rev-parse foo) && + TREE=$(git -C repo rev-parse bar^{tree}) && + BLOB=$(git hash-object repo/baz.t) && -expecting success of 0008.283 'existing untracked file in subdir a/ ignored with --no-index --verbose --non-matching': - expect '.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore 'a/ignored-and-untracked' - -ok 283 - existing untracked file in subdir a/ ignored with --no-index --verbose --non-matching + promise_and_delete $COMMIT && + promise_and_delete $TREE && + promise_and_delete $BLOB && -expecting success of 0008.284 'mix of file types in subdir a/': - expect "$expect" && - eval "$code" - -ok 284 - mix of file types in subdir a/ + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && -expecting success of 0008.285 'mix of file types in subdir a/ with -v': - expect '.gitignore:1:one a/one -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 285 - mix of file types in subdir a/ with -v + for OBJ in "$COMMIT" "$TREE" "$BLOB"; do + test_must_fail git -C repo rev-list --objects \ + --exclude-promisor-objects "$OBJ" && + test_must_fail git -C repo rev-list --objects-edge-aggressive \ + --exclude-promisor-objects "$OBJ" && -expecting success of 0008.286 'mix of file types in subdir a/ with -v -n': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -:: a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 286 - mix of file types in subdir a/ with -v -n + # Do not die or crash when --ignore-missing is passed. + git -C repo rev-list --ignore-missing --objects \ + --exclude-promisor-objects "$OBJ" && + git -C repo rev-list --ignore-missing --objects-edge-aggressive \ + --exclude-promisor-objects "$OBJ" + done -expecting success of 0008.287 'mix of file types in subdir a/ with -v --non-matching': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -:: a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 287 - mix of file types in subdir a/ with -v --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) dbd5891] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +[master f8d3fbb] bar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar.t +[master 82a6de6] baz + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 baz.t +fe36566d86f850e97a356bb713f16fdce42ae943 +error: refs/tags/foo does not point to a valid object! +2466985ce14937f9b8316aabdc58fd495d2c4715 +error: refs/tags/foo does not point to a valid object! +83bee6f9cf9ae59ed554e7b770aa3432ee1e0dd3 +fatal: ambiguous argument 'dbd58910fc0548e9de113d1f0fe29b2019c8c2d7': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +fatal: ambiguous argument 'dbd58910fc0548e9de113d1f0fe29b2019c8c2d7': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +fatal: ambiguous argument '12e519f9839344d0202cbb4a0286099ef31e2196': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +fatal: ambiguous argument '12e519f9839344d0202cbb4a0286099ef31e2196': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +fatal: ambiguous argument '76018072e09c5d31c8c6e3113b8aa0fe625195ca': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +fatal: ambiguous argument '76018072e09c5d31c8c6e3113b8aa0fe625195ca': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +ok 23 - rev-list dies for missing objects on cmd line -expecting success of 0008.288 'mix of file types in subdir a/ with --verbose': - expect '.gitignore:1:one a/one -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 288 - mix of file types in subdir a/ with --verbose +expecting success of 0410.24 'single promisor remote can be re-initialized gracefully': + # ensure one promisor is in the promisors list + rm -rf repo && + test_create_repo repo && + test_create_repo other && + git -C repo remote add foo "file://$(pwd)/other" && + git -C repo config remote.foo.promisor true && + git -C repo config extensions.partialclone foo && -expecting success of 0008.289 'mix of file types in subdir a/ with --verbose -n': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -:: a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 289 - mix of file types in subdir a/ with --verbose -n + # reinitialize the promisors list + git -C repo fetch --filter=blob:none foo -expecting success of 0008.290 'mix of file types in subdir a/ with --verbose --non-matching': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -:: a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 290 - mix of file types in subdir a/ with --verbose --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/other/.git/ +ok 24 - single promisor remote can be re-initialized gracefully -expecting success of 0008.291 'mix of file types in subdir a/ with --no-index': - expect "$expect" && - eval "$code" - -ok 291 - mix of file types in subdir a/ with --no-index +expecting success of 0410.25 'gc repacks promisor objects separately from non-promisor objects': + rm -rf repo && + test_create_repo repo && + test_commit -C repo one && + test_commit -C repo two && -expecting success of 0008.292 'mix of file types in subdir a/ with --no-index -v': - expect '.gitignore:1:one a/one -.gitignore:2:ignored-* a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 292 - mix of file types in subdir a/ with --no-index -v + TREE_ONE=$(git -C repo rev-parse one^{tree}) && + printf "$TREE_ONE\n" | pack_as_from_promisor && + TREE_TWO=$(git -C repo rev-parse two^{tree}) && + printf "$TREE_TWO\n" | pack_as_from_promisor && -expecting success of 0008.293 'mix of file types in subdir a/ with --no-index -v -n': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -.gitignore:2:ignored-* a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 293 - mix of file types in subdir a/ with --no-index -v -n + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo gc && -expecting success of 0008.294 'mix of file types in subdir a/ with --no-index -v --non-matching': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -.gitignore:2:ignored-* a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 294 - mix of file types in subdir a/ with --no-index -v --non-matching + # Ensure that exactly one promisor packfile exists, and that it + # contains the trees but not the commits + ls repo/.git/objects/pack/pack-*.promisor >promisorlist && + test_line_count = 1 promisorlist && + PROMISOR_PACKFILE=$(sed "s/.promisor/.pack/" out && + grep "$TREE_ONE" out && + grep "$TREE_TWO" out && + ! grep "$(git -C repo rev-parse one)" out && + ! grep "$(git -C repo rev-parse two)" out && -expecting success of 0008.295 'mix of file types in subdir a/ with --no-index --verbose': - expect '.gitignore:1:one a/one -.gitignore:2:ignored-* a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 295 - mix of file types in subdir a/ with --no-index --verbose + # Remove the promisor packfile and associated files + rm $(sed "s/.promisor//" packlist && + test_line_count = 1 packlist && + git verify-pack repo/.git/objects/pack/pack-*.pack -v >out && + grep "$(git -C repo rev-parse one)" out && + grep "$(git -C repo rev-parse two)" out && + ! grep "$TREE_ONE" out && + ! grep "$TREE_TWO" out -expecting success of 0008.297 'mix of file types in subdir a/ with --no-index --verbose --non-matching': - expect ':: a/non-existent -.gitignore:1:one a/one -:: a/not-ignored -.gitignore:2:ignored-* a/ignored-but-in-index -.gitignore:2:ignored-* a/ignored-and-untracked' && - test_check_ignore ' - a/non-existent - a/one - a/not-ignored - a/ignored-but-in-index - a/ignored-and-untracked' - - -ok 297 - mix of file types in subdir a/ with --no-index --verbose --non-matching +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 113e21e] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +[master ba941b5] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +80b0d61182f42d417d3f1080999c86acd16276f7 +4f4b1c441e35611dff006a309fbda4370b40fc90 +a7cddf35737959e1438bc929b665619e9e79bfee tree 33 44 12 +2f00a404aed7e63d867313d504bd0fccea53fd25 tree 66 73 56 +113e21eacaa73fca9d70b1192181d92f218dbbe2 commit 167 126 168 +ba941b5d2cdf1d78e421a6b2caaabb9edfaf502b commit 215 156 12 +ok 25 - gc repacks promisor objects separately from non-promisor objects -expecting success of 0008.298 'sub-directory local ignore': - expect "a/3-three" && - test_check_ignore "a/3-three a/three-not-this-one" +expecting success of 0410.26 'gc does not repack promisor objects if there are none': + rm -rf repo && + test_create_repo repo && + test_commit -C repo one && -ok 298 - sub-directory local ignore + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo gc && -expecting success of 0008.299 'sub-directory local ignore with --verbose': - expect "a/.gitignore:2:*three a/3-three" && - test_check_ignore "--verbose a/3-three a/three-not-this-one" + # Ensure that only one pack exists + ls repo/.git/objects/pack/pack-*.pack >packlist && + test_line_count = 1 packlist -ok 299 - sub-directory local ignore with --verbose +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 937aaf2] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +ok 26 - gc does not repack promisor objects if there are none -expecting success of 0008.300 'local ignore inside a sub-directory': - expect "3-three" && - ( - cd a && - test_check_ignore "3-three three-not-this-one" - ) +expecting success of 0410.27 'repack -d does not irreversibly delete promisor objects': + rm -rf repo && + test_create_repo repo && + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && -ok 300 - local ignore inside a sub-directory + git -C repo commit --allow-empty -m one && + git -C repo commit --allow-empty -m two && + git -C repo commit --allow-empty -m three && + git -C repo commit --allow-empty -m four && + ONE=$(git -C repo rev-parse HEAD^^^) && + TWO=$(git -C repo rev-parse HEAD^^) && + THREE=$(git -C repo rev-parse HEAD^) && -expecting success of 0008.301 'local ignore inside a sub-directory with --verbose': - expect "a/.gitignore:2:*three 3-three" && - ( - cd a && - test_check_ignore "--verbose 3-three three-not-this-one" - ) + printf "$TWO\n" | pack_as_from_promisor && + printf "$THREE\n" | pack_as_from_promisor && + delete_object repo "$ONE" && -ok 301 - local ignore inside a sub-directory with --verbose + repack_and_check -a "$TWO" "$THREE" && + repack_and_check -A "$TWO" "$THREE" && + repack_and_check -l "$TWO" "$THREE" -expecting success of 0008.302 'nested include of negated pattern': - expect "" && - test_check_ignore "a/b/one" 1 +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 946817d] one + Author: A U Thor +[master bd6a669] two + Author: A U Thor +[master 3251618] three + Author: A U Thor +[master 4a1ecf2] four + Author: A U Thor +65865e3fad8bccd08b2c629f3f58c6294bdf6c4a +a75f34deda336372829f18b2b99616163b28120b +warning: reflog of 'refs/heads/master' references pruned commits +warning: reflog of 'HEAD' references pruned commits +warning: reflog of 'refs/heads/master' references pruned commits +warning: reflog of 'HEAD' references pruned commits +warning: reflog of 'refs/heads/master' references pruned commits +warning: reflog of 'HEAD' references pruned commits +ok 27 - repack -d does not irreversibly delete promisor objects -ok 302 - nested include of negated pattern +expecting success of 0410.28 'gc stops traversal when a missing but promised object is reached': + rm -rf repo && + test_create_repo repo && + test_commit -C repo my_commit && -expecting success of 0008.303 'nested include of negated pattern with -q': - expect "" && - test_check_ignore "-q a/b/one" 1 + TREE_HASH=$(git -C repo rev-parse HEAD^{tree}) && + HASH=$(promise_and_delete $TREE_HASH) && -ok 303 - nested include of negated pattern with -q + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && + git -C repo gc && -expecting success of 0008.304 'nested include of negated pattern with -v': - expect "a/b/.gitignore:8:!on* a/b/one" && - test_check_ignore "-v a/b/one" 0 + # Ensure that the promisor packfile still exists, and remove it + test -e repo/.git/objects/pack/pack-$HASH.pack && + rm repo/.git/objects/pack/pack-$HASH.* && -ok 304 - nested include of negated pattern with -v + # Ensure that the single other pack contains the commit, but not the tree + ls repo/.git/objects/pack/pack-*.pack >packlist && + test_line_count = 1 packlist && + git verify-pack repo/.git/objects/pack/pack-*.pack -v >out && + grep "$(git -C repo rev-parse HEAD)" out && + ! grep "$TREE_HASH" out -expecting success of 0008.305 'nested include of negated pattern with -v -n': - expect "a/b/.gitignore:8:!on* a/b/one" && - test_check_ignore "-v -n a/b/one" 0 +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 5f8b2fd] my_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 my_commit.t +5f8b2fd9bb66eeb04df79bb70601d558cc1ff3cd commit 173 129 12 +ok 28 - gc stops traversal when a missing but promised object is reached -ok 305 - nested include of negated pattern with -v -n +expecting success of 0410.29 'do not fetch when checking existence of tree we construct ourselves': + rm -rf repo && + test_create_repo repo && + test_commit -C repo base && + test_commit -C repo side1 && + git -C repo checkout base && + test_commit -C repo side2 && -expecting success of 0008.306 'ignored sub-directory': - expect "$expect" && - eval "$code" - -ok 306 - ignored sub-directory + git -C repo config core.repositoryformatversion 1 && + git -C repo config extensions.partialclone "arbitrary string" && -expecting success of 0008.307 'ignored sub-directory with -q': - expect '' && - - test_check_ignore "a/b/ignored-dir" + git -C repo cherry-pick side1 - -ok 307 - ignored sub-directory with -q +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0410-partial-clone/repo/.git/ +[master (root-commit) 307bd8f] base + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 base.t +[master fc18fe7] side1 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 side1.t +Note: switching to 'base'. -expecting success of 0008.308 'ignored sub-directory with --quiet': - expect '' && - - test_check_ignore "a/b/ignored-dir" +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. - -ok 308 - ignored sub-directory with --quiet +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 0008.309 'ignored sub-directory with -v': - expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && - - test_check_ignore "a/b/ignored-dir" + git switch -c - -ok 309 - ignored sub-directory with -v +Or undo this operation with: -expecting success of 0008.310 'ignored sub-directory with -v -n': - expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && - - test_check_ignore "a/b/ignored-dir" + git switch - - -ok 310 - ignored sub-directory with -v -n +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 0008.311 'ignored sub-directory with -v --non-matching': - expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && - - test_check_ignore "a/b/ignored-dir" +HEAD is now at 307bd8f base +[detached HEAD 33a4c41] side2 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 side2.t +[detached HEAD d42937a] side1 + Author: A U Thor + Date: Thu Apr 7 15:49:13 2005 -0700 + 1 file changed, 1 insertion(+) + create mode 100644 side1.t +ok 29 - do not fetch when checking existence of tree we construct ourselves - -ok 311 - ignored sub-directory with -v --non-matching +checking prerequisite: NOT_ROOT -expecting success of 0008.312 'ignored sub-directory with --verbose': - expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && - - test_check_ignore "a/b/ignored-dir" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-NOT_ROOT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-NOT_ROOT" && + uid=$(id -u) && + test "$uid" != 0 - -ok 312 - ignored sub-directory with --verbose +) +prerequisite NOT_ROOT ok +# passed all 29 test(s) +# SKIP no web server found at '/usr/sbin/apache2' +1..29 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1012-read-tree-df.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1012-read-tree-df/.git/ +expecting success of 1012.1 'setup': + maketree O-000 a/b-2/c/d a/b/c/d a/x && + maketree A-000 a/b-2/c/d a/b/c/d a/x && + maketree A-001 a/b-2/c/d a/b/c/d a/b/c/e a/x && + maketree B-000 a/b-2/c/d a/b a/x && -expecting success of 0008.313 'ignored sub-directory with --verbose -n': - expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && - - test_check_ignore "a/b/ignored-dir" + maketree O-010 t-0 t/1 t/2 t=3 && + maketree A-010 t-0 t t=3 && + maketree B-010 t/1: t=3: && - -ok 313 - ignored sub-directory with --verbose -n + maketree O-020 ds/dma/ioat.c ds/dma/ioat_dca.c && + maketree A-020 ds/dma/ioat/Makefile ds/dma/ioat/registers.h && + : -expecting success of 0008.314 'ignored sub-directory with --verbose --non-matching': - expect 'a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir' && - - test_check_ignore "a/b/ignored-dir" +ok 1 - setup - -ok 314 - ignored sub-directory with --verbose --non-matching +expecting success of 1012.2 '3-way (1)': + settree A-000 && + read_tree_u_must_succeed -m -u O-000 A-000 B-000 && + checkindex <<-EOF + 3 a/b + 0 a/b-2/c/d + 1 a/b/c/d + 2 a/b/c/d + 0 a/x + EOF -expecting success of 0008.315 'multiple files inside ignored sub-directory': - expect_from_stdin <<-\EOF && - a/b/ignored-dir/foo - a/b/ignored-dir/twoooo - a/b/ignored-dir/seven +ok 2 - 3-way (1) + +expecting success of 1012.3 '3-way (2)': + settree A-001 && + read_tree_u_must_succeed -m -u O-000 A-001 B-000 && + checkindex <<-EOF + 3 a/b + 0 a/b-2/c/d + 1 a/b/c/d + 2 a/b/c/d + 2 a/b/c/e + 0 a/x EOF - test_check_ignore "a/b/ignored-dir/foo a/b/ignored-dir/twoooo a/b/ignored-dir/seven" -ok 315 - multiple files inside ignored sub-directory +ok 3 - 3-way (2) -expecting success of 0008.316 'multiple files inside ignored sub-directory with -v': - expect_from_stdin <<-\EOF && - a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir/foo - a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir/twoooo - a/b/.gitignore:5:ignored-dir/ a/b/ignored-dir/seven +expecting success of 1012.4 '3-way (3)': + settree A-010 && + read_tree_u_must_succeed -m -u O-010 A-010 B-010 && + checkindex <<-EOF + 2 t + 1 t-0 + 2 t-0 + 1 t/1 + 3 t/1 + 1 t/2 + 0 t=3 EOF - test_check_ignore "-v a/b/ignored-dir/foo a/b/ignored-dir/twoooo a/b/ignored-dir/seven" -ok 316 - multiple files inside ignored sub-directory with -v +ok 4 - 3-way (3) -expecting success of 0008.317 'cd to ignored sub-directory': - expect_from_stdin <<-\EOF && - foo - twoooo - seven - ../../one +expecting success of 1012.5 '2-way (1)': + settree O-020 && + read_tree_u_must_succeed -m -u O-020 A-020 && + checkindex <<-EOF + 0 ds/dma/ioat/Makefile + 0 ds/dma/ioat/registers.h EOF + +ok 5 - 2-way (1) + +# passed all 5 test(s) +1..5 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1015-read-index-unmerged.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1015-read-index-unmerged/.git/ +expecting success of 1015.1 'setup modify/delete + directory/file conflict': + test_create_repo df_plus_modify_delete && ( - cd a/b/ignored-dir && - test_check_ignore "foo twoooo ../one seven ../../one" + cd df_plus_modify_delete && + + test_write_lines a b c d e f g h >letters && + git add letters && + git commit -m initial && + + git checkout -b modify && + # Throw in letters.txt for sorting order fun + # ("letters.txt" sorts between "letters" and "letters/file") + echo i >>letters && + echo "version 2" >letters.txt && + git add letters letters.txt && + git commit -m modified && + + git checkout -b delete HEAD^ && + git rm letters && + mkdir letters && + >letters/file && + echo "version 1" >letters.txt && + git add letters letters.txt && + git commit -m deleted ) -ok 317 - cd to ignored sub-directory +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1015-read-index-unmerged/df_plus_modify_delete/.git/ +[master (root-commit) 461649b] initial + Author: A U Thor + 1 file changed, 8 insertions(+) + create mode 100644 letters +Switched to a new branch 'modify' +[modify 4e26d91] modified + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 letters.txt +Switched to a new branch 'delete' +rm 'letters' +[delete 380ce95] deleted + Author: A U Thor + 3 files changed, 1 insertion(+), 8 deletions(-) + delete mode 100644 letters + create mode 100644 letters.txt + create mode 100644 letters/file +ok 1 - setup modify/delete + directory/file conflict -expecting success of 0008.318 'cd to ignored sub-directory with -v': - expect_from_stdin <<-\EOF && - a/b/.gitignore:5:ignored-dir/ foo - a/b/.gitignore:5:ignored-dir/ twoooo - a/b/.gitignore:8:!on* ../one - a/b/.gitignore:5:ignored-dir/ seven - .gitignore:1:one ../../one - EOF +expecting success of 1015.2 'read-tree --reset cleans unmerged entries': + test_when_finished "git -C df_plus_modify_delete clean -f" && + test_when_finished "git -C df_plus_modify_delete reset --hard" && ( - cd a/b/ignored-dir && - test_check_ignore "-v foo twoooo ../one seven ../../one" + cd df_plus_modify_delete && + + git checkout delete^0 && + test_must_fail git merge modify && + + git read-tree --reset HEAD && + git ls-files -u >conflicts && + test_must_be_empty conflicts ) -ok 318 - cd to ignored sub-directory with -v +Note: switching to 'delete^0'. -expecting success of 0008.319 'symlink': - expect "$expect" && - eval "$code" - -ok 319 - symlink +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 0008.320 'symlink with -q': - expect '' && - - test_check_ignore "a/symlink" 1 +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: - -ok 320 - symlink with -q + git switch -c -expecting success of 0008.321 'symlink with --quiet': - expect '' && - - test_check_ignore "a/symlink" 1 +Or undo this operation with: - -ok 321 - symlink with --quiet + git switch - -expecting success of 0008.322 'symlink with -v': - expect '' && - - test_check_ignore "a/symlink" 1 +Turn off this advice by setting config variable advice.detachedHead to false - -ok 322 - symlink with -v +HEAD is now at 380ce95 deleted +Merging: +380ce95 deleted +virtual modify +found 1 common ancestor: +461649b initial +Adding letters/file +CONFLICT (add/add): Merge conflict in letters.txt +Auto-merging letters.txt +CONFLICT (modify/delete): letters deleted in HEAD and modified in modify. Version modify of letters left in tree at letters~modify. +Automatic merge failed; fix conflicts and then commit the result. +HEAD is now at 380ce95 deleted +Removing conflicts +Removing letters~modify +ok 2 - read-tree --reset cleans unmerged entries -expecting success of 0008.323 'symlink with -v -n': - expect ':: a/symlink' && - - test_check_ignore "a/symlink" 1 +expecting success of 1015.3 'One reset --hard cleans unmerged entries': + test_when_finished "git -C df_plus_modify_delete clean -f" && + test_when_finished "git -C df_plus_modify_delete reset --hard" && + ( + cd df_plus_modify_delete && - -ok 323 - symlink with -v -n + git checkout delete^0 && + test_must_fail git merge modify && -expecting success of 0008.324 'symlink with -v --non-matching': - expect ':: a/symlink' && - - test_check_ignore "a/symlink" 1 + git reset --hard && + test_path_is_missing .git/MERGE_HEAD && + git ls-files -u >conflicts && + test_must_be_empty conflicts + ) - -ok 324 - symlink with -v --non-matching +HEAD is now at 380ce95 deleted +Merging: +380ce95 deleted +virtual modify +found 1 common ancestor: +461649b initial +Adding letters/file +CONFLICT (add/add): Merge conflict in letters.txt +Auto-merging letters.txt +CONFLICT (modify/delete): letters deleted in HEAD and modified in modify. Version modify of letters left in tree at letters~modify. +Automatic merge failed; fix conflicts and then commit the result. +warning: unable to unlink 'letters': Is a directory +HEAD is now at 380ce95 deleted +HEAD is now at 380ce95 deleted +Removing conflicts +Removing letters~modify +ok 3 - One reset --hard cleans unmerged entries -expecting success of 0008.325 'symlink with --verbose': - expect '' && - - test_check_ignore "a/symlink" 1 +expecting success of 1015.4 'setup directory/file conflict + simple edit/edit': + test_create_repo df_plus_edit_edit && + ( + cd df_plus_edit_edit && - -ok 325 - symlink with --verbose + test_seq 1 10 >numbers && + git add numbers && + git commit -m initial && -expecting success of 0008.326 'symlink with --verbose -n': - expect ':: a/symlink' && - - test_check_ignore "a/symlink" 1 + git checkout -b d-edit && + mkdir foo && + echo content >foo/bar && + git add foo && + echo 11 >>numbers && + git add numbers && + git commit -m "directory and edit" && - -ok 326 - symlink with --verbose -n + git checkout -b f-edit d-edit^1 && + echo content >foo && + git add foo && + echo eleven >>numbers && + git add numbers && + git commit -m "file and edit" + ) -expecting success of 0008.327 'symlink with --verbose --non-matching': - expect ':: a/symlink' && - - test_check_ignore "a/symlink" 1 +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1015-read-index-unmerged/df_plus_edit_edit/.git/ +[master (root-commit) e5e228a] initial + Author: A U Thor + 1 file changed, 10 insertions(+) + create mode 100644 numbers +Switched to a new branch 'd-edit' +[d-edit 1997ecb] directory and edit + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 foo/bar +Switched to a new branch 'f-edit' +[f-edit ea28ef2] file and edit + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 foo +ok 4 - setup directory/file conflict + simple edit/edit - -ok 327 - symlink with --verbose --non-matching +expecting success of 1015.5 'git merge --abort succeeds despite D/F conflict': + test_when_finished "git -C df_plus_edit_edit clean -f" && + test_when_finished "git -C df_plus_edit_edit reset --hard" && + ( + cd df_plus_edit_edit && -expecting success of 0008.328 'beyond a symlink': - expect "$expect" && - eval "$code" - -ok 328 - beyond a symlink + git checkout f-edit^0 && + test_must_fail git merge d-edit^0 && -expecting success of 0008.329 'beyond a symlink with -q': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" + git merge --abort && + test_path_is_missing .git/MERGE_HEAD && + git ls-files -u >conflicts && + test_must_be_empty conflicts + ) - -ok 329 - beyond a symlink with -q +Note: switching to 'f-edit^0'. -expecting success of 0008.330 'beyond a symlink with --quiet': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. - -ok 330 - beyond a symlink with --quiet +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 0008.331 'beyond a symlink with -v': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" + git switch -c - -ok 331 - beyond a symlink with -v +Or undo this operation with: -expecting success of 0008.332 'beyond a symlink with -v -n': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" + git switch - - -ok 332 - beyond a symlink with -v -n +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 0008.333 'beyond a symlink with -v --non-matching': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" +HEAD is now at ea28ef2 file and edit +Merging: +ea28ef2 file and edit +virtual d-edit^0 +found 1 common ancestor: +e5e228a initial +Auto-merging numbers +CONFLICT (content): Merge conflict in numbers +Adding foo/bar +Removing foo to make room for subdirectory - -ok 333 - beyond a symlink with -v --non-matching +CONFLICT (file/directory): There is a directory with name foo in d-edit^0. Adding foo as foo~HEAD +Automatic merge failed; fix conflicts and then commit the result. +HEAD is now at ea28ef2 file and edit +Removing conflicts +Removing foo~HEAD +ok 5 - git merge --abort succeeds despite D/F conflict -expecting success of 0008.334 'beyond a symlink with --verbose': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" +expecting success of 1015.6 'git am --skip succeeds despite D/F conflict': + test_when_finished "git -C df_plus_edit_edit clean -f" && + test_when_finished "git -C df_plus_edit_edit reset --hard" && + ( + cd df_plus_edit_edit && - -ok 334 - beyond a symlink with --verbose + git checkout f-edit^0 && + git format-patch -1 d-edit && + test_must_fail git am -3 0001*.patch && -expecting success of 0008.335 'beyond a symlink with --verbose -n': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" + git am --skip && + test_path_is_missing .git/rebase-apply && + git ls-files -u >conflicts && + test_must_be_empty conflicts + ) - -ok 335 - beyond a symlink with --verbose -n +HEAD is now at ea28ef2 file and edit +0001-directory-and-edit.patch +Applying: directory and edit +Using index info to reconstruct a base tree... +M numbers +Falling back to patching base and 3-way merge... +Merging: +ea28ef2 file and edit +virtual directory and edit +found 1 common ancestor: +virtual 75a3e2be4ba4a7062d21fba0206758f5518d6ead +Auto-merging numbers +CONFLICT (content): Merge conflict in numbers +Adding foo/bar +Removing foo to make room for subdirectory -expecting success of 0008.336 'beyond a symlink with --verbose --non-matching': - expect '' && - - test_check_ignore "a/symlink/foo" 128 && - test_stderr "fatal: pathspec 'a/symlink/foo' is beyond a symbolic link" +CONFLICT (file/directory): There is a directory with name foo in directory and edit. Adding foo as foo~HEAD +error: Failed to merge in the changes. +hint: Use 'git am --show-current-patch=diff' to see the failed patch +Patch failed at 0001 directory and edit +When you have resolved this problem, run "git am --continue". +If you prefer to skip this patch, run "git am --skip" instead. +To restore the original branch and stop patching, run "git am --abort". +HEAD is now at ea28ef2 file and edit +Removing 0001-directory-and-edit.patch +Removing conflicts +Removing foo~HEAD +ok 6 - git am --skip succeeds despite D/F conflict - -ok 336 - beyond a symlink with --verbose --non-matching +# passed all 6 test(s) +1..6 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1011-read-tree-sparse-checkout.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1011-read-tree-sparse-checkout/.git/ +expecting success of 1011.1 'setup': + test_commit init && + echo modified >>init.t && -expecting success of 0008.337 'beyond a symlink from subdirectory': - expect "$expect" && - eval "$code" - -ok 337 - beyond a symlink from subdirectory + cat >expected <<-EOF && + 100644 $(git hash-object init.t) 0 init.t + 100644 $EMPTY_BLOB 0 sub/added + 100644 $EMPTY_BLOB 0 sub/addedtoo + 100644 $EMPTY_BLOB 0 subsub/added + EOF + cat >expected.swt <<-\EOF && + H init.t + H sub/added + H sub/addedtoo + H subsub/added + EOF -expecting success of 0008.338 'beyond a symlink from subdirectory with -q': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" + mkdir sub subsub && + touch sub/added sub/addedtoo subsub/added && + git add init.t sub/added sub/addedtoo subsub/added && + git commit -m "modified and added" && + git tag top && + git rm sub/added && + git commit -m removed && + git tag removed && + git checkout top && + git ls-files --stage >result && + test_cmp expected result - -ok 338 - beyond a symlink from subdirectory with -q +[master (root-commit) 2519212] init + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 init.t +[master 9598e22] modified and added + Author: A U Thor + 4 files changed, 1 insertion(+) + create mode 100644 sub/added + create mode 100644 sub/addedtoo + create mode 100644 subsub/added +rm 'sub/added' +[master de70956] removed + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + delete mode 100644 sub/added +Note: switching to 'top'. -expecting success of 0008.339 'beyond a symlink from subdirectory with --quiet': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. - -ok 339 - beyond a symlink from subdirectory with --quiet +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 0008.340 'beyond a symlink from subdirectory with -v': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" + git switch -c - -ok 340 - beyond a symlink from subdirectory with -v +Or undo this operation with: -expecting success of 0008.341 'beyond a symlink from subdirectory with -v -n': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" + git switch - - -ok 341 - beyond a symlink from subdirectory with -v -n +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 0008.342 'beyond a symlink from subdirectory with -v --non-matching': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" +HEAD is now at 9598e22 modified and added +ok 1 - setup - -ok 342 - beyond a symlink from subdirectory with -v --non-matching +expecting success of 1011.2 'read-tree without .git/info/sparse-checkout': + read_tree_u_must_succeed -m -u HEAD && + git ls-files --stage >result && + test_cmp expected result && + git ls-files -t >result && + test_cmp expected.swt result -expecting success of 0008.343 'beyond a symlink from subdirectory with --verbose': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" +ok 2 - read-tree without .git/info/sparse-checkout - -ok 343 - beyond a symlink from subdirectory with --verbose +expecting success of 1011.3 'read-tree with .git/info/sparse-checkout but disabled': + echo >.git/info/sparse-checkout && + read_tree_u_must_succeed -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt result && + test -f init.t && + test -f sub/added -expecting success of 0008.344 'beyond a symlink from subdirectory with --verbose -n': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" +ok 3 - read-tree with .git/info/sparse-checkout but disabled - -ok 344 - beyond a symlink from subdirectory with --verbose -n +expecting success of 1011.4 'read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled': + git config core.sparsecheckout true && + echo >.git/info/sparse-checkout && + read_tree_u_must_succeed --no-sparse-checkout -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt result && + test -f init.t && + test -f sub/added -expecting success of 0008.345 'beyond a symlink from subdirectory with --verbose --non-matching': - expect '' && - - ( - cd a && - test_check_ignore "symlink/foo" 128 - ) && - test_stderr "fatal: pathspec 'symlink/foo' is beyond a symbolic link" +ok 4 - read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled - -ok 345 - beyond a symlink from subdirectory with --verbose --non-matching +expecting success of 1011.5 'read-tree with empty .git/info/sparse-checkout': + git config core.sparsecheckout true && + echo >.git/info/sparse-checkout && + read_tree_u_must_succeed -m -u HEAD && + git ls-files --stage >result && + test_cmp expected result && + git ls-files -t >result && + cat >expected.swt <<-\EOF && + S init.t + S sub/added + S sub/addedtoo + S subsub/added + EOF + test_cmp expected.swt result && + ! test -f init.t && + ! test -f sub/added -expecting success of 0008.346 'submodule': - expect "$expect" && - eval "$code" - -ok 346 - submodule +ok 5 - read-tree with empty .git/info/sparse-checkout -expecting success of 0008.347 'submodule with -q': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" +expecting success of 1011.6 'match directories with trailing slash': + cat >expected.swt-noinit <<-\EOF && + S init.t + H sub/added + H sub/addedtoo + S subsub/added + EOF - -ok 347 - submodule with -q + echo sub/ > .git/info/sparse-checkout && + read_tree_u_must_succeed -m -u HEAD && + git ls-files -t > result && + test_cmp expected.swt-noinit result && + test ! -f init.t && + test -f sub/added -expecting success of 0008.348 'submodule with --quiet': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" +ok 6 - match directories with trailing slash - -ok 348 - submodule with --quiet +expecting success of 1011.7 'match directories without trailing slash': + echo sub >.git/info/sparse-checkout && + read_tree_u_must_succeed -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt-noinit result && + test ! -f init.t && + test -f sub/added -expecting success of 0008.349 'submodule with -v': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" +ok 7 - match directories without trailing slash - -ok 349 - submodule with -v +expecting success of 1011.8 'match directories with negated patterns': + cat >expected.swt-negation <<\EOF && +S init.t +S sub/added +H sub/addedtoo +S subsub/added +EOF -expecting success of 0008.350 'submodule with -v -n': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" + cat >.git/info/sparse-checkout <<\EOF && +sub +!sub/added +EOF + git read-tree -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt-negation result && + test ! -f init.t && + test ! -f sub/added && + test -f sub/addedtoo - -ok 350 - submodule with -v -n +ok 8 - match directories with negated patterns -expecting success of 0008.351 'submodule with -v --non-matching': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" +expecting success of 1011.9 'match directories with negated patterns (2)': + cat >expected.swt-negation2 <<\EOF && +H init.t +H sub/added +S sub/addedtoo +H subsub/added +EOF - -ok 351 - submodule with -v --non-matching + cat >.git/info/sparse-checkout <<\EOF && +/* +!sub +sub/added +EOF + git read-tree -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt-negation2 result && + test -f init.t && + test -f sub/added && + test ! -f sub/addedtoo -expecting success of 0008.352 'submodule with --verbose': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" +ok 9 - match directories with negated patterns (2) - -ok 352 - submodule with --verbose +expecting success of 1011.10 'match directory pattern': + echo "s?b" >.git/info/sparse-checkout && + read_tree_u_must_succeed -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt-noinit result && + test ! -f init.t && + test -f sub/added -expecting success of 0008.353 'submodule with --verbose -n': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" +ok 10 - match directory pattern - -ok 353 - submodule with --verbose -n +expecting success of 1011.11 'checkout area changes': + cat >expected.swt-nosub <<-\EOF && + H init.t + S sub/added + S sub/addedtoo + S subsub/added + EOF -expecting success of 0008.354 'submodule with --verbose --non-matching': - expect '' && - - test_check_ignore "a/submodule/one" 128 && - test_stderr "fatal: Pathspec 'a/submodule/one' is in submodule 'a/submodule'" + echo init.t >.git/info/sparse-checkout && + read_tree_u_must_succeed -m -u HEAD && + git ls-files -t >result && + test_cmp expected.swt-nosub result && + test -f init.t && + test ! -f sub/added - -ok 354 - submodule with --verbose --non-matching +ok 11 - checkout area changes -expecting success of 0008.355 'submodule from subdirectory': - expect "$expect" && - eval "$code" - -ok 355 - submodule from subdirectory +expecting success of 1011.12 'read-tree updates worktree, absent case': + echo sub/added >.git/info/sparse-checkout && + git checkout -f top && + read_tree_u_must_succeed -m -u HEAD^ && + test ! -f init.t -expecting success of 0008.356 'submodule from subdirectory with -q': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +HEAD is now at 9598e22 modified and added +ok 12 - read-tree updates worktree, absent case - -ok 356 - submodule from subdirectory with -q +expecting success of 1011.13 'read-tree updates worktree, dirty case': + echo sub/added >.git/info/sparse-checkout && + git checkout -f top && + echo dirty >init.t && + read_tree_u_must_succeed -m -u HEAD^ && + grep -q dirty init.t && + rm init.t -expecting success of 0008.357 'submodule from subdirectory with --quiet': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +HEAD is now at 9598e22 modified and added +ok 13 - read-tree updates worktree, dirty case - -ok 357 - submodule from subdirectory with --quiet +expecting success of 1011.14 'read-tree removes worktree, dirty case': + echo init.t >.git/info/sparse-checkout && + git checkout -f top && + echo dirty >added && + read_tree_u_must_succeed -m -u HEAD^ && + grep -q dirty added -expecting success of 0008.358 'submodule from subdirectory with -v': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +HEAD is now at 9598e22 modified and added +ok 14 - read-tree removes worktree, dirty case - -ok 358 - submodule from subdirectory with -v +expecting success of 1011.15 'read-tree adds to worktree, absent case': + echo init.t >.git/info/sparse-checkout && + git checkout -f removed && + read_tree_u_must_succeed -u -m HEAD^ && + test ! -f sub/added -expecting success of 0008.359 'submodule from subdirectory with -v -n': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +Previous HEAD position was 9598e22 modified and added +HEAD is now at de70956 removed +ok 15 - read-tree adds to worktree, absent case - -ok 359 - submodule from subdirectory with -v -n +expecting success of 1011.16 'read-tree adds to worktree, dirty case': + echo init.t >.git/info/sparse-checkout && + git checkout -f removed && + mkdir sub && + echo dirty >sub/added && + read_tree_u_must_succeed -u -m HEAD^ && + grep -q dirty sub/added -expecting success of 0008.360 'submodule from subdirectory with -v --non-matching': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +HEAD is now at de70956 removed +ok 16 - read-tree adds to worktree, dirty case - -ok 360 - submodule from subdirectory with -v --non-matching +expecting success of 1011.17 'index removal and worktree narrowing at the same time': + echo init.t >.git/info/sparse-checkout && + echo sub/added >>.git/info/sparse-checkout && + git checkout -f top && + echo init.t >.git/info/sparse-checkout && + git checkout removed && + git ls-files sub/added >result && + test ! -f sub/added && + test_must_be_empty result -expecting success of 0008.361 'submodule from subdirectory with --verbose': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +Previous HEAD position was de70956 removed +HEAD is now at 9598e22 modified and added +Previous HEAD position was 9598e22 modified and added +HEAD is now at de70956 removed +ok 17 - index removal and worktree narrowing at the same time - -ok 361 - submodule from subdirectory with --verbose +expecting success of 1011.18 'read-tree --reset removes outside worktree': + echo init.t >.git/info/sparse-checkout && + git checkout -f top && + git reset --hard removed && + git ls-files sub/added >result && + test_must_be_empty result -expecting success of 0008.362 'submodule from subdirectory with --verbose -n': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +Previous HEAD position was de70956 removed +HEAD is now at 9598e22 modified and added +HEAD is now at de70956 removed +ok 18 - read-tree --reset removes outside worktree - -ok 362 - submodule from subdirectory with --verbose -n +expecting success of 1011.19 'print warnings when some worktree updates disabled': + echo sub >.git/info/sparse-checkout && + git checkout -f init && + mkdir sub && + touch sub/added sub/addedtoo && + # Use -q to suppress "Previous HEAD position" and "Head is now at" msgs + git checkout -q top 2>actual && + cat >expected <<\EOF && +warning: The following paths were already present and thus not updated despite sparse patterns: + sub/added + sub/addedtoo -expecting success of 0008.363 'submodule from subdirectory with --verbose --non-matching': - expect '' && - - ( - cd a && - test_check_ignore "submodule/one" 128 - ) && - test_stderr "fatal: Pathspec 'submodule/one' is in submodule 'a/submodule'" +After fixing the above paths, you may want to run `git sparse-checkout reapply`. +EOF + test_i18ncmp expected actual - -ok 363 - submodule from subdirectory with --verbose --non-matching +Previous HEAD position was de70956 removed +HEAD is now at 2519212 init +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 0008.364 'global ignore not yet enabled': - expect_from_stdin <<-\EOF && - .git/info/exclude:7:per-repo per-repo - a/.gitignore:2:*three a/globalthree - .git/info/exclude:7:per-repo a/per-repo - EOF - test_check_ignore "-v globalone per-repo a/globalthree a/per-repo not-ignored a/globaltwo" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -ok 364 - global ignore not yet enabled +) +prerequisite C_LOCALE_OUTPUT ok +ok 19 - print warnings when some worktree updates disabled -expecting success of 0008.365 'global ignore': - enable_global_excludes && - expect_from_stdin <<-\EOF && - globalone - per-repo - globalthree - a/globalthree - a/per-repo - EOF - test_check_ignore "globalone per-repo globalthree a/globalthree a/per-repo not-ignored globaltwo" +expecting success of 1011.20 'checkout without --ignore-skip-worktree-bits': + echo "*" >.git/info/sparse-checkout && + git checkout -f top && + test_path_is_file init.t && + echo sub >.git/info/sparse-checkout && + git checkout && + echo modified >> sub/added && + git checkout . && + test_path_is_missing init.t && + git diff --exit-code HEAD -ok 365 - global ignore +HEAD is now at 9598e22 modified and added +Updated 1 path from the index +ok 20 - checkout without --ignore-skip-worktree-bits -expecting success of 0008.366 'global ignore with -v': - enable_global_excludes && - expect_from_stdin <<-EOF && - $global_excludes:1:globalone globalone - .git/info/exclude:7:per-repo per-repo - $global_excludes:3:globalthree globalthree - a/.gitignore:2:*three a/globalthree - .git/info/exclude:7:per-repo a/per-repo - $global_excludes:2:!globaltwo globaltwo - EOF - test_check_ignore "-v globalone per-repo globalthree a/globalthree a/per-repo not-ignored globaltwo" +expecting success of 1011.21 'checkout with --ignore-skip-worktree-bits': + echo "*" >.git/info/sparse-checkout && + git checkout -f top && + test_path_is_file init.t && + echo sub >.git/info/sparse-checkout && + git checkout && + echo modified >> sub/added && + git checkout --ignore-skip-worktree-bits . && + test_path_is_file init.t && + git diff --exit-code HEAD -ok 366 - global ignore with -v +HEAD is now at 9598e22 modified and added +Updated 3 paths from the index +ok 21 - checkout with --ignore-skip-worktree-bits -expecting success of 0008.367 '--stdin': - expect_from_stdin file && + git add file && + git commit -m base && + blob=$(git rev-parse HEAD:file) && + tree=$(git rev-parse HEAD^{tree}) -ok 367 - --stdin +[master (root-commit) 5d770fe] base + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 file +ok 1 - create base tree -expecting success of 0008.368 '--stdin -q': - expect "" && - test_check_ignore "-q --stdin" tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree tree && + bogus=$(git mktree out &) && +expecting success of 1014.22 'reject backslashes at end of path': + printf "100644 blob %s\t%s" "$blob" "$path" >tree && + bogus=$(git mktree in" because check-ignore would get EOF - # after echo exited; instead we open the descriptor in our - # shell, and then echo to the fd. We make sure to close it at - # the end, so that the subprocess does get EOF and dies - # properly. - # - # Similarly, we must keep "out" open so that check-ignore does - # not ever get SIGPIPE trying to write to us. Not only would that - # produce incorrect results, but then there would be no writer on the - # other end of the pipe, and we would potentially block forever trying - # to open it. - exec 9>in && - exec 8&-" && - test_when_finished "exec 8<&-" && - echo >&9 one && - read response <&8 && - echo "$response" | grep "^\.gitignore:1:one one" && - echo >&9 two && - read response <&8 && - echo "$response" | grep "^:: two" +expecting success of 1014.23 'reject backslashes as subtree': + printf "040000 tree %s\t%s" "$tree" "$path" >tree && + bogus=$(git mktree tree && + bogus=$(git mktree one && - mkdir top-level-dir && - git check-ignore one top-level-dir >actual && - grep one actual && - grep top-level-dir actual +expecting success of 1014.25 'reject backslashes2 as subtree': + printf "040000 tree %s\t%s" "$tree" "$path" >tree && + bogus=$(git mktree tree && + bogus=$(git mktree one && - mkdir top-level-dir && - git check-ignore top-level-dir one >actual && - grep one actual && - grep top-level-dir actual +expecting success of 1014.27 'reject .git...:alternate-stream as subtree': + printf "040000 tree %s\t%s" "$tree" "$path" >tree && + bogus=$(git mktree tree && + ok=$(git mktree whitespace/trailing && - >whitespace/untracked && - echo "whitespace/trailing " >ignore && - cat >expect <actual 2>err && - test_cmp expect actual && - test_must_be_empty err +ok 28 - utf-8 paths allowed with core.protectHFS off -ok 386 - trailing whitespace is ignored +# passed all 28 test(s) +1..28 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1021-rerere-in-workdir.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1021-rerere-in-workdir/.git/ +checking prerequisite: SYMLINKS -expecting success of 0008.387 'quoting allows trailing whitespace': - rm -rf whitespace && - mkdir whitespace && - >"whitespace/trailing " && - >whitespace/untracked && - echo "whitespace/trailing\\ \\ " >ignore && - echo whitespace/untracked >expect && - git ls-files -o -X ignore whitespace >actual 2>err && - test_cmp expect actual && - test_must_be_empty err +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -ok 387 - quoting allows trailing whitespace +) +prerequisite SYMLINKS ok +expecting success of 1021.1 'setup': + git config rerere.enabled true && + >world && + git add world && + test_tick && + git commit -m initial && -expecting success of 0008.388 'correct handling of backslashes': - rm -rf whitespace && - mkdir whitespace && - >"whitespace/trailing 1 " && - >"whitespace/trailing 2 \\\\" && - >"whitespace/trailing 3 \\\\" && - >"whitespace/trailing 4 \\ " && - >"whitespace/trailing 5 \\ \\ " && - >"whitespace/trailing 6 \\a\\" && - >whitespace/untracked && - sed -e "s/Z$//" >ignore <<-\EOF && - whitespace/trailing 1 \ Z - whitespace/trailing 2 \\\\Z - whitespace/trailing 3 \\\\ Z - whitespace/trailing 4 \\\ Z - whitespace/trailing 5 \\ \\\ Z - whitespace/trailing 6 \\a\\Z - EOF - echo whitespace/untracked >expect && - git ls-files -o -X ignore whitespace >actual 2>err && - test_cmp expect actual && - test_must_be_empty err + echo hello >world && + test_tick && + git commit -a -m hello && -ok 388 - correct handling of backslashes + git checkout -b side HEAD^ && + echo goodbye >world && + test_tick && + git commit -a -m goodbye && -expecting success of 0008.389 'info/exclude trumps core.excludesfile': - echo >>global-excludes usually-ignored && - echo >>.git/info/exclude "!usually-ignored" && - >usually-ignored && - echo "?? usually-ignored" >expect && + git checkout master - git status --porcelain usually-ignored >actual && - test_cmp expect actual +[master (root-commit) 21975ff] initial + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 world +[master 02943d2] hello + Author: A U Thor + 1 file changed, 1 insertion(+) +Switched to a new branch 'side' +[side 5611ff9] goodbye + Author: A U Thor + 1 file changed, 1 insertion(+) +Switched to branch 'master' +ok 1 - setup -ok 389 - info/exclude trumps core.excludesfile +expecting success of 1021.2 'rerere in workdir': + rm -rf .git/rr-cache && + "$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . work && + ( + cd work && + test_must_fail git merge side && + git rerere status >actual && + echo world >expect && + test_cmp expect actual + ) -# passed all 389 test(s) -1..389 +Merging: +02943d2 hello +virtual side +found 1 common ancestor: +21975ff initial +Auto-merging world +CONFLICT (content): Merge conflict in world +Recorded preimage for 'world' +Automatic merge failed; fix conflicts and then commit the result. +ok 2 - rerere in workdir + +checking known breakage of 1021.3 'rerere in workdir (relative)': + rm -rf .git/rr-cache && + "$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . krow && + ( + cd krow && + rm -f .git/rr-cache && + ln -s ../.git/rr-cache .git/rr-cache && + test_must_fail git merge side && + git rerere status >actual && + echo world >expect && + test_cmp expect actual + ) + +Merging: +02943d2 hello +virtual side +found 1 common ancestor: +21975ff initial +Auto-merging world +CONFLICT (content): Merge conflict in world +fatal: could not create directory '.git/rr-cache' +fatal: could not create directory '.git/rr-cache' +not ok 3 - rerere in workdir (relative) # TODO known breakage + +# still have 1 known breakage(s) +# passed all remaining 2 test(s) +1..3 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1420-lost-found.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1420-lost-found/.git/ -expecting success of 1420.1 'setup': - git config core.logAllRefUpdates 0 && - : > file1 && - git add file1 && - test_tick && - git commit -m initial && - echo 1 > file1 && - echo 2 > file2 && - git add file1 file2 && - test_tick && - git commit -m second && - echo 3 > file3 && - git add file3 +*** t1020-subdirectory.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1020-subdirectory/.git/ +expecting success of 1020.1 'setup': + long="a b c d e f g h i j k l m n o p q r s t u v w x y z" && + for c in $long; do echo $c; done >one && + mkdir dir && + for c in x y z $long a b c; do echo $c; done >dir/two && + cp one original.one && + cp dir/two original.two -[master (root-commit) 9bb1ae9] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 file1 -[master 8ad33be] second - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 file2 ok 1 - setup -expecting success of 1420.2 'lost and found something': - git rev-parse HEAD > lost-commit && - git rev-parse :file3 > lost-other && - test_tick && - git reset --hard HEAD^ && - git fsck --lost-found && - test 2 = $(ls .git/lost-found/*/* | wc -l) && - test -f .git/lost-found/commit/$(cat lost-commit) && - test -f .git/lost-found/other/$(cat lost-other) +expecting success of 1020.2 'update-index and ls-files': + git update-index --add one && + case "$(git ls-files)" in + one) echo pass one ;; + *) echo bad one; exit 1 ;; + esac && + ( + cd dir && + git update-index --add two && + case "$(git ls-files)" in + two) echo pass two ;; + *) echo bad two; exit 1 ;; + esac + ) && + case "$(git ls-files)" in + dir/two"$LF"one) echo pass both ;; + *) echo bad; exit 1 ;; + esac -HEAD is now at 9bb1ae9 initial -dangling blob 00750edc07d6415dcc07ae0351e9397b0222b7ba -dangling commit 8ad33beea8de8e15812274614acd0a26d73b60f8 -ok 2 - lost and found something +pass one +pass two +pass both +ok 2 - update-index and ls-files -# passed all 2 test(s) -1..2 +expecting success of 1020.3 'cat-file': + two=$(git ls-files -s dir/two) && + two=$(expr "$two" : "[0-7]* \\([0-9a-f]*\\)") && + echo "$two" && + git cat-file -p "$two" >actual && + cmp dir/two actual && + ( + cd dir && + git cat-file -p "$two" >actual && + cmp two actual + ) + +c1144d0671912dd26751c1fbf1eac57a907f82c7 +ok 3 - cat-file + +expecting success of 1020.4 'diff-files': + echo a >>one && + echo d >>dir/two && + case "$(git diff-files --name-only)" in + dir/two"$LF"one) echo pass top ;; + *) echo bad top; exit 1 ;; + esac && + # diff should not omit leading paths + ( + cd dir && + case "$(git diff-files --name-only)" in + dir/two"$LF"one) echo pass subdir ;; + *) echo bad subdir; exit 1 ;; + esac && + case "$(git diff-files --name-only .)" in + dir/two) echo pass subdir limited ;; + *) echo bad subdir limited; exit 1 ;; + esac + ) + +pass top +pass subdir +pass subdir limited +ok 4 - diff-files + +expecting success of 1020.5 'write-tree': + top=$(git write-tree) && + echo $top && + ( + cd dir && + sub=$(git write-tree) && + echo $sub && + test "z$top" = "z$sub" + ) + +cf1e35b43464cccd320d58a813e14e25fa36b1d7 +cf1e35b43464cccd320d58a813e14e25fa36b1d7 +ok 5 - write-tree + +expecting success of 1020.6 'checkout-index': + git checkout-index -f -u one && + cmp one original.one && + ( + cd dir && + git checkout-index -f -u two && + cmp two ../original.two + ) + +ok 6 - checkout-index + +expecting success of 1020.7 'read-tree': + rm -f one dir/two && + tree=$(git write-tree) && + read_tree_u_must_succeed --reset -u "$tree" && + cmp one original.one && + cmp dir/two original.two && + ( + cd dir && + rm -f two && + read_tree_u_must_succeed --reset -u "$tree" && + cmp two ../original.two && + cmp ../one ../original.one + ) + +ok 7 - read-tree + +expecting success of 1020.8 'alias expansion': + ( + git config alias.test-status-alias status && + cd dir && + git status && + git test-status-alias + ) + +On branch master + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: two + new file: ../one + +Untracked files: + (use "git add ..." to include in what will be committed) + post-dry-run + post-dry-run-wt + pre-dry-run + pre-dry-run-wt + ../original.one + ../original.two + ../post-dry-run + ../post-dry-run-wt + ../pre-dry-run + ../pre-dry-run-wt + +On branch master + +No commits yet + +Changes to be committed: + (use "git rm --cached ..." to unstage) + new file: two + new file: ../one + +Untracked files: + (use "git add ..." to include in what will be committed) + post-dry-run + post-dry-run-wt + pre-dry-run + pre-dry-run-wt + ../original.one + ../original.two + ../post-dry-run + ../post-dry-run-wt + ../pre-dry-run + ../pre-dry-run-wt + +ok 8 - alias expansion + +expecting success of 1020.9 '!alias expansion': + pwd >expect && + ( + git config alias.test-alias-directory !pwd && + cd dir && + git test-alias-directory >../actual + ) && + test_cmp expect actual + +ok 9 - !alias expansion + +expecting success of 1020.10 'GIT_PREFIX for !alias': + printf "dir/" >expect && + ( + git config alias.test-alias-directory "!sh -c \"printf \$GIT_PREFIX\"" && + cd dir && + git test-alias-directory >../actual + ) && + test_cmp expect actual + +ok 10 - GIT_PREFIX for !alias + +expecting success of 1020.11 'GIT_PREFIX for built-ins': + # Use GIT_EXTERNAL_DIFF to test that the "diff" built-in + # receives the GIT_PREFIX variable. + echo "dir/" >expect && + write_script diff <<-\EOF && + printf "%s\n" "$GIT_PREFIX" + EOF + ( + cd dir && + echo "change" >two && + GIT_EXTERNAL_DIFF=./diff git diff >../actual && + git checkout -- two + ) && + test_cmp expect actual + +ok 11 - GIT_PREFIX for built-ins + +expecting success of 1020.12 'no file/rev ambiguity check inside .git': + git commit -a -m 1 && + ( + cd .git && + git show -s HEAD + ) + +[master (root-commit) 63e2ba9] 1 + Author: A U Thor + 2 files changed, 58 insertions(+) + create mode 100644 dir/two + create mode 100644 one +commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c +Author: A U Thor +Date: Fri Apr 1 13:14:15 2005 +0200 + + 1 +ok 12 - no file/rev ambiguity check inside .git + +expecting success of 1020.13 'no file/rev ambiguity check inside a bare repo (explicit GIT_DIR)': + test_when_finished "rm -fr foo.git" && + git clone -s --bare .git foo.git && + ( + cd foo.git && + # older Git needed help by exporting GIT_DIR=. + # to realize that it is inside a bare repository. + # We keep this test around for regression testing. + GIT_DIR=. git show -s HEAD + ) + +Cloning into bare repository 'foo.git'... +done. +commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c +Author: A U Thor +Date: Fri Apr 1 13:14:15 2005 +0200 + + 1 +ok 13 - no file/rev ambiguity check inside a bare repo (explicit GIT_DIR) + +expecting success of 1020.14 'no file/rev ambiguity check inside a bare repo': + test_when_finished "rm -fr foo.git" && + git clone -s --bare .git foo.git && + ( + cd foo.git && + git show -s HEAD + ) + +Cloning into bare repository 'foo.git'... +done. +commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c +Author: A U Thor +Date: Fri Apr 1 13:14:15 2005 +0200 + + 1 +ok 14 - no file/rev ambiguity check inside a bare repo + +checking prerequisite: SYMLINKS + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y + +) +prerequisite SYMLINKS ok +expecting success of 1020.15 'detection should not be fooled by a symlink': + git clone -s .git another && + ln -s another yetanother && + ( + cd yetanother/.git && + git show -s HEAD + ) + +Cloning into 'another'... +done. +commit 63e2ba96e88f4f612aaba03cc52a7db80cff1e0c +Author: A U Thor +Date: Fri Apr 1 13:14:15 2005 +0200 + + 1 +ok 15 - detection should not be fooled by a symlink + +# passed all 15 test(s) +1..15 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t0021-conversion.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/.git/ -expecting success of 0021.1 'setup': - git config filter.rot13.smudge ./rot13.sh && - git config filter.rot13.clean ./rot13.sh && +*** t1051-large-conversion.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1051-large-conversion/.git/ +expecting success of 1051.1 'setup input tests': + printf "\$Id: foo\$\\r\\n" >small && + cat small small >large && + git config core.bigfilethreshold 20 && + git config filter.test.clean "sed s/.*/CLEAN/" - { - echo "*.t filter=rot13" - echo "*.i ident" - } >.gitattributes && +ok 1 - setup input tests - { - echo a b c d e f g h i j k l m - echo n o p q r s t u v w x y z - echo '$Id$' - } >test && - cat test >test.t && - cat test >test.o && - cat test >test.i && - git add test test.t test.i && - rm -f test test.t test.i && - git checkout -- test test.t test.i && +expecting success of 1051.2 'autocrlf=true converts on input': + test_config core.autocrlf true && + check_input - echo "content-test2" >test2.o && - echo "content-test3 - filename with special characters" >"test3 'sq',\$x=.o" +ok 2 - autocrlf=true converts on input + +expecting success of 1051.3 'eol=crlf converts on input': + set_attr eol=crlf && + check_input + +ok 3 - eol=crlf converts on input + +expecting success of 1051.4 'ident converts on input': + set_attr ident && + check_input + +ok 4 - ident converts on input + +expecting success of 1051.5 'user-defined filters convert on input': + set_attr filter=test && + check_input + +ok 5 - user-defined filters convert on input + +expecting success of 1051.6 'setup output tests': + echo "\$Id\$" >small && + cat small small >large && + git add small large && + git config core.bigfilethreshold 7 && + git config filter.test.smudge "sed s/.*/SMUDGE/" + +ok 6 - setup output tests + +expecting success of 1051.7 'autocrlf=true converts on output': + test_config core.autocrlf true && + check_output + +Updated 2 paths from the index +ok 7 - autocrlf=true converts on output + +expecting success of 1051.8 'eol=crlf converts on output': + set_attr eol=crlf && + check_output + +Updated 2 paths from the index +ok 8 - eol=crlf converts on output + +expecting success of 1051.9 'user-defined filters convert on output': + set_attr filter=test && + check_output + +Updated 2 paths from the index +ok 9 - user-defined filters convert on output + +expecting success of 1051.10 'ident converts on output': + set_attr ident && + rm -f small large && + git checkout small large && + sed -n "s/Id: .*/Id: SHA/p" small.clean && + head -n 1 large >large.head && + sed -n "s/Id: .*/Id: SHA/p" large.clean && + test_cmp small.clean large.clean + +Updated 2 paths from the index +ok 10 - ident converts on output + +# passed all 10 test(s) +1..10 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1006-cat-file.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1006-cat-file/.git/ +expecting success of 1006.1 'setup': + echo_without_newline "$hello_content" > hello && + git update-index --add hello ok 1 - setup -expecting success of 0021.2 'check': +expecting success of 1006.2 'blob exists': + git cat-file -e $sha1 + +ok 2 - blob exists - test_cmp test.o test && - test_cmp test.o test.t && +expecting success of 1006.3 'Type of blob is correct': + echo $type >expect && + git cat-file -t $sha1 >actual && + test_cmp expect actual + +ok 3 - Type of blob is correct - # ident should be stripped in the repository - git diff --raw --exit-code :test :test.i && - id=$(git rev-parse --verify :test) && - embedded=$(sed -ne "$script" test.i) && - test "z$id" = "z$embedded" && +expecting success of 1006.4 'Size of blob is correct': + echo $size >expect && + git cat-file -s $sha1 >actual && + test_cmp expect actual + +ok 4 - Size of blob is correct - git cat-file blob :test.t >test.r && +expecting success of 1006.5 'Type of blob is correct using --allow-unknown-type': + echo $type >expect && + git cat-file -t --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 5 - Type of blob is correct using --allow-unknown-type - ./rot13.sh test.t && - test_cmp test.r test.t +expecting success of 1006.6 'Size of blob is correct using --allow-unknown-type': + echo $size >expect && + git cat-file -s --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 6 - Size of blob is correct using --allow-unknown-type -ok 2 - check +expecting success of 1006.7 'Content of blob is correct': + maybe_remove_timestamp "$content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file $type $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 7 - Content of blob is correct -expecting success of 0021.3 'expanded_in_repo': - { - echo "File with expanded keywords" - echo "\$Id\$" - echo "\$Id:\$" - echo "\$Id: 0000000000000000000000000000000000000000 \$" - echo "\$Id: NoSpaceAtEnd\$" - echo "\$Id:NoSpaceAtFront \$" - echo "\$Id:NoSpaceAtEitherEnd\$" - echo "\$Id: NoTerminatingSymbol" - echo "\$Id: Foreign Commit With Spaces \$" - } >expanded-keywords.0 && +expecting success of 1006.8 'Pretty content of blob is correct': + maybe_remove_timestamp "$pretty_content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 8 - Pretty content of blob is correct - { - cat expanded-keywords.0 && - printf "\$Id: NoTerminatingSymbolAtEOF" - } >expanded-keywords && - cat expanded-keywords >expanded-keywords-crlf && - git add expanded-keywords expanded-keywords-crlf && - git commit -m "File with keywords expanded" && - id=$(git rev-parse --verify :expanded-keywords) && +expecting success of 1006.9 '--batch output of blob is correct': + maybe_remove_timestamp "$batch_output" $no_ts >expect && + maybe_remove_timestamp "$(echo $sha1 | git cat-file --batch)" $no_ts >actual && + test_cmp expect actual + +ok 9 - --batch output of blob is correct +expecting success of 1006.10 '--batch-check output of blob is correct': + echo "$sha1 $type $size" >expect && + echo_without_newline $sha1 | git cat-file --batch-check >actual && + test_cmp expect actual + +ok 10 - --batch-check output of blob is correct + +expecting success of 1006.11 'custom --batch-check format': + echo "$type $sha1" >expect && + echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && + test_cmp expect actual + +ok 11 - custom --batch-check format + +expecting success of 1006.12 '--batch-check with %(rest)': + echo "$type this is some extra content" >expect && + echo "$sha1 this is some extra content" | + git cat-file --batch-check="%(objecttype) %(rest)" >actual && + test_cmp expect actual + +ok 12 - --batch-check with %(rest) + +expecting success of 1006.13 '--batch without type (blob)': { - echo "File with expanded keywords" - echo "\$Id: $id \$" - echo "\$Id: $id \$" - echo "\$Id: $id \$" - echo "\$Id: $id \$" - echo "\$Id: $id \$" - echo "\$Id: $id \$" - echo "\$Id: NoTerminatingSymbol" - echo "\$Id: Foreign Commit With Spaces \$" - } >expected-output.0 && - { - cat expected-output.0 && - printf "\$Id: NoTerminatingSymbolAtEOF" - } >expected-output && - { - append_cr expected-output-crlf && + echo "$size" && + maybe_remove_timestamp "$content" $no_ts + } >expect && + echo $sha1 | git cat-file --batch="%(objectsize)" >actual.full && + maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && + test_cmp expect actual + +ok 13 - --batch without type (blob) + +expecting success of 1006.14 '--batch without size (blob)': { - echo "expanded-keywords ident" - echo "expanded-keywords-crlf ident text eol=crlf" - } >>.gitattributes && + echo "$type" && + maybe_remove_timestamp "$content" $no_ts + } >expect && + echo $sha1 | git cat-file --batch="%(objecttype)" >actual.full && + maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && + test_cmp expect actual + +ok 14 - --batch without size (blob) - rm -f expanded-keywords expanded-keywords-crlf && +expecting success of 1006.15 '--batch-check without %(rest) considers whole line': + echo "$hello_sha1 blob $hello_size" >expect && + git update-index --add --cacheinfo 100644 $hello_sha1 "white space" && + test_when_finished "git update-index --remove \"white space\"" && + echo ":white space" | git cat-file --batch-check >actual && + test_cmp expect actual - git checkout -- expanded-keywords && - test_cmp expected-output expanded-keywords && +ok 15 - --batch-check without %(rest) considers whole line - git checkout -- expanded-keywords-crlf && - test_cmp expected-output-crlf expanded-keywords-crlf +expecting success of 1006.16 'tree exists': + git cat-file -e $sha1 + +ok 16 - tree exists -[master (root-commit) bf31399] File with keywords expanded - Author: A U Thor - 5 files changed, 29 insertions(+) - create mode 100644 expanded-keywords - create mode 100644 expanded-keywords-crlf - create mode 100644 test - create mode 100644 test.i - create mode 100644 test.t -ok 3 - expanded_in_repo +expecting success of 1006.17 'Type of tree is correct': + echo $type >expect && + git cat-file -t $sha1 >actual && + test_cmp expect actual + +ok 17 - Type of tree is correct -expecting success of 0021.4 'filter shell-escaped filenames': - cat >argc.sh <<-EOF && - #!$SHELL_PATH - cat >/dev/null - echo argc: \$# "\$@" - EOF - normal=name-no-magic && - special="name with 'sq' and \$x" && - echo some test text >"$normal" && - echo some test text >"$special" && - git add "$normal" "$special" && - git commit -q -m "add files" && - echo "name* filter=argc" >.gitattributes && +expecting success of 1006.18 'Size of tree is correct': + echo $size >expect && + git cat-file -s $sha1 >actual && + test_cmp expect actual + +ok 18 - Size of tree is correct - # delete the files and check them out again, using a smudge filter - # that will count the args and echo the command-line back to us - test_config filter.argc.smudge "sh ./argc.sh %f" && - rm "$normal" "$special" && - git checkout -- "$normal" "$special" && +expecting success of 1006.19 'Type of tree is correct using --allow-unknown-type': + echo $type >expect && + git cat-file -t --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 19 - Type of tree is correct using --allow-unknown-type - # make sure argc.sh counted the right number of args - echo "argc: 1 $normal" >expect && - test_cmp expect "$normal" && - echo "argc: 1 $special" >expect && - test_cmp expect "$special" && +expecting success of 1006.20 'Size of tree is correct using --allow-unknown-type': + echo $size >expect && + git cat-file -s --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 20 - Size of tree is correct using --allow-unknown-type - # do the same thing, but with more args in the filter expression - test_config filter.argc.smudge "sh ./argc.sh %f --my-extra-arg" && - rm "$normal" "$special" && - git checkout -- "$normal" "$special" && +expecting success of 1006.21 'Pretty content of tree is correct': + maybe_remove_timestamp "$pretty_content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 21 - Pretty content of tree is correct - # make sure argc.sh counted the right number of args - echo "argc: 2 $normal --my-extra-arg" >expect && - test_cmp expect "$normal" && - echo "argc: 2 $special --my-extra-arg" >expect && - test_cmp expect "$special" && - : +expecting success of 1006.22 '--batch-check output of tree is correct': + echo "$sha1 $type $size" >expect && + echo_without_newline $sha1 | git cat-file --batch-check >actual && + test_cmp expect actual + +ok 22 - --batch-check output of tree is correct -ok 4 - filter shell-escaped filenames +expecting success of 1006.23 'custom --batch-check format': + echo "$type $sha1" >expect && + echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && + test_cmp expect actual + +ok 23 - custom --batch-check format -expecting success of 0021.5 'required filter should filter data': - test_config filter.required.smudge ./rot13.sh && - test_config filter.required.clean ./rot13.sh && - test_config filter.required.required true && +expecting success of 1006.24 '--batch-check with %(rest)': + echo "$type this is some extra content" >expect && + echo "$sha1 this is some extra content" | + git cat-file --batch-check="%(objecttype) %(rest)" >actual && + test_cmp expect actual + +ok 24 - --batch-check with %(rest) - echo "*.r filter=required" >.gitattributes && +expecting success of 1006.25 'commit exists': + git cat-file -e $sha1 + +ok 25 - commit exists - cat test.o >test.r && - git add test.r && +expecting success of 1006.26 'Type of commit is correct': + echo $type >expect && + git cat-file -t $sha1 >actual && + test_cmp expect actual + +ok 26 - Type of commit is correct - rm -f test.r && - git checkout -- test.r && - test_cmp test.o test.r && +expecting success of 1006.27 'Size of commit is correct': + echo $size >expect && + git cat-file -s $sha1 >actual && + test_cmp expect actual + +ok 27 - Size of commit is correct - ./rot13.sh expected && - git cat-file blob :test.r >actual && - test_cmp expected actual +expecting success of 1006.28 'Type of commit is correct using --allow-unknown-type': + echo $type >expect && + git cat-file -t --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 28 - Type of commit is correct using --allow-unknown-type -ok 5 - required filter should filter data +expecting success of 1006.29 'Size of commit is correct using --allow-unknown-type': + echo $size >expect && + git cat-file -s --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 29 - Size of commit is correct using --allow-unknown-type -expecting success of 0021.6 'required filter smudge failure': - test_config filter.failsmudge.smudge false && - test_config filter.failsmudge.clean cat && - test_config filter.failsmudge.required true && +expecting success of 1006.30 'Content of commit is correct': + maybe_remove_timestamp "$content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file $type $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 30 - Content of commit is correct - echo "*.fs filter=failsmudge" >.gitattributes && +expecting success of 1006.31 'Pretty content of commit is correct': + maybe_remove_timestamp "$pretty_content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 31 - Pretty content of commit is correct - echo test >test.fs && - git add test.fs && - rm -f test.fs && - test_must_fail git checkout -- test.fs +expecting success of 1006.32 '--batch output of commit is correct': + maybe_remove_timestamp "$batch_output" $no_ts >expect && + maybe_remove_timestamp "$(echo $sha1 | git cat-file --batch)" $no_ts >actual && + test_cmp expect actual + +ok 32 - --batch output of commit is correct -error: external filter 'false' failed 1 -error: external filter 'false' failed -fatal: test.fs: smudge filter failsmudge failed -ok 6 - required filter smudge failure +expecting success of 1006.33 '--batch-check output of commit is correct': + echo "$sha1 $type $size" >expect && + echo_without_newline $sha1 | git cat-file --batch-check >actual && + test_cmp expect actual + +ok 33 - --batch-check output of commit is correct -expecting success of 0021.7 'required filter clean failure': - test_config filter.failclean.smudge cat && - test_config filter.failclean.clean false && - test_config filter.failclean.required true && +expecting success of 1006.34 'custom --batch-check format': + echo "$type $sha1" >expect && + echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && + test_cmp expect actual + +ok 34 - custom --batch-check format - echo "*.fc filter=failclean" >.gitattributes && +expecting success of 1006.35 '--batch-check with %(rest)': + echo "$type this is some extra content" >expect && + echo "$sha1 this is some extra content" | + git cat-file --batch-check="%(objecttype) %(rest)" >actual && + test_cmp expect actual + +ok 35 - --batch-check with %(rest) - echo test >test.fc && - test_must_fail git add test.fc +expecting success of 1006.36 '--batch without type (commit)': + { + echo "$size" && + maybe_remove_timestamp "$content" $no_ts + } >expect && + echo $sha1 | git cat-file --batch="%(objectsize)" >actual.full && + maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && + test_cmp expect actual + +ok 36 - --batch without type (commit) -error: external filter 'false' failed 1 -error: external filter 'false' failed -fatal: test.fc: clean filter 'failclean' failed -ok 7 - required filter clean failure +expecting success of 1006.37 '--batch without size (commit)': + { + echo "$type" && + maybe_remove_timestamp "$content" $no_ts + } >expect && + echo $sha1 | git cat-file --batch="%(objecttype)" >actual.full && + maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && + test_cmp expect actual + +ok 37 - --batch without size (commit) -expecting success of 0021.8 'filtering large input to small output should use little memory': - test_config filter.devnull.clean "cat >/dev/null" && - test_config filter.devnull.required true && - for i in $(test_seq 1 30); do printf "%1048576d" 1; done >30MB && - echo "30MB filter=devnull" >.gitattributes && - GIT_MMAP_LIMIT=1m GIT_ALLOC_LIMIT=1m git add 30MB +expecting success of 1006.38 'tag exists': + git cat-file -e $sha1 + +ok 38 - tag exists -ok 8 - filtering large input to small output should use little memory +expecting success of 1006.39 'Type of tag is correct': + echo $type >expect && + git cat-file -t $sha1 >actual && + test_cmp expect actual + +ok 39 - Type of tag is correct -expecting success of 0021.9 'filter that does not read is fine': - test-tool genrandom foo $((128 * 1024 + 1)) >big && - echo "big filter=epipe" >.gitattributes && - test_config filter.epipe.clean "echo xyzzy" && - git add big && - git cat-file blob :big >actual && - echo xyzzy >expect && +expecting success of 1006.40 'Size of tag is correct': + echo $size >expect && + git cat-file -s $sha1 >actual && test_cmp expect actual + +ok 40 - Size of tag is correct -ok 9 - filter that does not read is fine +expecting success of 1006.41 'Type of tag is correct using --allow-unknown-type': + echo $type >expect && + git cat-file -t --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 41 - Type of tag is correct using --allow-unknown-type -checking prerequisite: EXPENSIVE +expecting success of 1006.42 'Size of tag is correct using --allow-unknown-type': + echo $size >expect && + git cat-file -s --allow-unknown-type $sha1 >actual && + test_cmp expect actual + +ok 42 - Size of tag is correct using --allow-unknown-type -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-EXPENSIVE" && - test -n "$GIT_TEST_LONG" +expecting success of 1006.43 'Content of tag is correct': + maybe_remove_timestamp "$content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file $type $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 43 - Content of tag is correct -) -prerequisite EXPENSIVE not satisfied -ok 10 # skip filter large file (missing EXPENSIVE) +expecting success of 1006.44 'Pretty content of tag is correct': + maybe_remove_timestamp "$pretty_content" $no_ts >expect && + maybe_remove_timestamp "$(git cat-file -p $sha1)" $no_ts >actual && + test_cmp expect actual + +ok 44 - Pretty content of tag is correct -expecting success of 0021.11 'filter: clean empty file': - test_config filter.in-repo-header.clean "echo cleaned && cat" && - test_config filter.in-repo-header.smudge "sed 1d" && +expecting success of 1006.45 '--batch output of tag is correct': + maybe_remove_timestamp "$batch_output" $no_ts >expect && + maybe_remove_timestamp "$(echo $sha1 | git cat-file --batch)" $no_ts >actual && + test_cmp expect actual + +ok 45 - --batch output of tag is correct - echo "empty-in-worktree filter=in-repo-header" >>.gitattributes && - >empty-in-worktree && +expecting success of 1006.46 '--batch-check output of tag is correct': + echo "$sha1 $type $size" >expect && + echo_without_newline $sha1 | git cat-file --batch-check >actual && + test_cmp expect actual + +ok 46 - --batch-check output of tag is correct - echo cleaned >expected && - git add empty-in-worktree && - git show :empty-in-worktree >actual && - test_cmp expected actual +expecting success of 1006.47 'custom --batch-check format': + echo "$type $sha1" >expect && + echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual && + test_cmp expect actual + +ok 47 - custom --batch-check format -ok 11 - filter: clean empty file +expecting success of 1006.48 '--batch-check with %(rest)': + echo "$type this is some extra content" >expect && + echo "$sha1 this is some extra content" | + git cat-file --batch-check="%(objecttype) %(rest)" >actual && + test_cmp expect actual + +ok 48 - --batch-check with %(rest) -expecting success of 0021.12 'filter: smudge empty file': - test_config filter.empty-in-repo.clean "cat >/dev/null" && - test_config filter.empty-in-repo.smudge "echo smudged && cat" && +expecting success of 1006.49 '--batch without type (tag)': + { + echo "$size" && + maybe_remove_timestamp "$content" $no_ts + } >expect && + echo $sha1 | git cat-file --batch="%(objectsize)" >actual.full && + maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && + test_cmp expect actual + +ok 49 - --batch without type (tag) - echo "empty-in-repo filter=empty-in-repo" >>.gitattributes && - echo dead data walking >empty-in-repo && - git add empty-in-repo && +expecting success of 1006.50 '--batch without size (tag)': + { + echo "$type" && + maybe_remove_timestamp "$content" $no_ts + } >expect && + echo $sha1 | git cat-file --batch="%(objecttype)" >actual.full && + maybe_remove_timestamp "$(cat actual.full)" $no_ts >actual && + test_cmp expect actual + +ok 50 - --batch without size (tag) - echo smudged >expected && - git checkout-index --prefix=filtered- empty-in-repo && - test_cmp expected filtered-empty-in-repo +expecting success of 1006.51 'Reach a blob from a tag pointing to it': test 'Hello World' = "$(git cat-file blob bb50ec8a71343279c59ba488a3445888e3fb624b)" +ok 51 - Reach a blob from a tag pointing to it -ok 12 - filter: smudge empty file +expecting success of 1006.52 'Passing -t with --batch fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -expecting success of 0021.13 'disable filter with empty override': - test_config_global filter.disable.smudge false && - test_config_global filter.disable.clean false && - test_config filter.disable.smudge false && - test_config filter.disable.clean false && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - echo "*.disable filter=disable" >.gitattributes && +ok 52 - Passing -t with --batch fails - echo test >test.disable && - git -c filter.disable.clean= add test.disable 2>err && - test_must_be_empty err && - rm -f test.disable && - git -c filter.disable.smudge= checkout -- test.disable 2>err && - test_must_be_empty err +expecting success of 1006.53 'Passing --batch with -t fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -ok 13 - disable filter with empty override + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -expecting success of 0021.14 'diff does not reuse worktree files that need cleaning': - test_config filter.counter.clean "echo . >>count; sed s/^/clean:/" && - echo "file filter=counter" >.gitattributes && - test_commit one file && - test_commit two file && +ok 53 - Passing --batch with -t fails - >count && - git diff-tree -p HEAD && - test_line_count = 0 count +expecting success of 1006.54 'Passing -s with --batch fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -[master 77379c5] one - Author: A U Thor - 8 files changed, 8 insertions(+) - create mode 100644 30MB - create mode 100644 big - create mode 100644 empty-in-repo - create mode 100644 empty-in-worktree - create mode 100644 file - create mode 100644 test.disable - create mode 100644 test.fs - create mode 100644 test.r -[master 8868b52] two - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -8868b52c33dfc55cb5d031950895ef4d451f9f03 -diff --git a/file b/file -index e4a1655..0c54b7b 100644 ---- a/file -+++ b/file -@@ -1 +1 @@ --clean:one -+clean:two -ok 14 - diff does not reuse worktree files that need cleaning + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -expecting success of 0021.15 'required process filter should filter data': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - test_config_global filter.protocol.required true && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +ok 54 - Passing -s with --batch fails - echo "*.r filter=protocol" >.gitattributes && - git add . && - git commit -m "test commit 1" && - git branch empty-branch && +expecting success of 1006.55 'Passing --batch with -s fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - cp "$TEST_ROOT/test.o" test.r && - cp "$TEST_ROOT/test2.o" test2.r && - mkdir testsubdir && - cp "$TEST_ROOT/test3 'sq',\$x=.o" "testsubdir/test3 'sq',\$x=.r" && - >test4-empty.r && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - S=$(test_file_size test.r) && - S2=$(test_file_size test2.r) && - S3=$(test_file_size "testsubdir/test3 'sq',\$x=.r") && - M=$(git hash-object test.r) && - M2=$(git hash-object test2.r) && - M3=$(git hash-object "testsubdir/test3 'sq',\$x=.r") && - EMPTY=$(git hash-object /dev/null) && +ok 55 - Passing --batch with -s fails - filter_git add . && - cat >expected.log <<-EOF && - START - init handshake complete - IN: clean test.r $S [OK] -- OUT: $S . [OK] - IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK] - IN: clean test4-empty.r 0 [OK] -- OUT: 0 [OK] - IN: clean testsubdir/test3 'sq',\$x=.r $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_count expected.log debug.log && +expecting success of 1006.56 'Passing -e with --batch fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - git commit -m "test commit 2" && - MASTER=$(git rev-parse --verify master) && - META="ref=refs/heads/master treeish=$MASTER" && - rm -f test2.r "testsubdir/test3 'sq',\$x=.r" && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - filter_git checkout --quiet --no-progress . && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test2.r blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +ok 56 - Passing -e with --batch fails - # Make sure that the file appears dirty, so checkout below has to - # run the configured filter. - touch test.r && - filter_git checkout --quiet --no-progress empty-branch && - cat >expected.log <<-EOF && - START - init handshake complete - IN: clean test.r $S [OK] -- OUT: $S . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +expecting success of 1006.57 'Passing --batch with -e fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - filter_git checkout --quiet --no-progress master && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r && - test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r && - test_cmp_committed_rot13 "$TEST_ROOT/test3 'sq',\$x=.o" "testsubdir/test3 'sq',\$x=.r" - ) +ok 57 - Passing --batch with -e fails -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -[master (root-commit) 56d459b] test commit 1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 .gitattributes -[master 9ea74df] test commit 2 - Author: A U Thor - 4 files changed, 5 insertions(+) - create mode 100644 test.r - create mode 100644 test2.r - create mode 100644 test4-empty.r - create mode 100644 testsubdir/test3 'sq',$x=.r -ok 15 - required process filter should filter data +expecting success of 1006.58 'Passing -p with --batch fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -expecting success of 0021.16 'required process filter should filter data for various subcommands': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - test_config_global filter.protocol.required true && - ( - cd repo && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - S=$(test_file_size test.r) && - S2=$(test_file_size test2.r) && - S3=$(test_file_size "testsubdir/test3 'sq',\$x=.r") && - M=$(git hash-object test.r) && - M2=$(git hash-object test2.r) && - M3=$(git hash-object "testsubdir/test3 'sq',\$x=.r") && - EMPTY=$(git hash-object /dev/null) && +ok 58 - Passing -p with --batch fails - MASTER=$(git rev-parse --verify master) && +expecting success of 1006.59 'Passing --batch with -p fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - cp "$TEST_ROOT/test.o" test5.r && - git add test5.r && - git commit -m "test commit 3" && - git checkout empty-branch && - filter_git rebase --onto empty-branch master^^ master && - MASTER2=$(git rev-parse --verify master) && - META="ref=refs/heads/master treeish=$MASTER2" && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - git reset --hard empty-branch && - filter_git reset --hard $MASTER && - META="treeish=$MASTER" && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +ok 59 - Passing --batch with -p fails - git branch old-master $MASTER && - git reset --hard empty-branch && - filter_git reset --hard old-master && - META="ref=refs/heads/old-master treeish=$MASTER" && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +expecting success of 1006.60 'Passing with --batch fails': + test_must_fail git cat-file --$batch blob $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - git checkout -b merge empty-branch && - git branch -f master $MASTER2 && - filter_git merge master && - META="treeish=$MASTER2" && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - filter_git archive master >/dev/null && - META="ref=refs/heads/master treeish=$MASTER2" && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +ok 60 - Passing with --batch fails - TREE="$(git rev-parse $MASTER2^{tree})" && - filter_git archive $TREE >/dev/null && - META="treeish=$TREE" && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge test.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r $META blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - IN: smudge test4-empty.r $META blob=$EMPTY 0 [OK] -- OUT: 0 [OK] - IN: smudge test5.r $META blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge testsubdir/test3 'sq',\$x=.r $META blob=$M3 $S3 [OK] -- OUT: $S3 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log - ) +expecting success of 1006.61 'Passing --batch with fails': + test_must_fail git cat-file blob --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -[master 07631f7] test commit 3 - Author: A U Thor - 1 file changed, 3 insertions(+) - create mode 100644 test5.r -Switched to branch 'empty-branch' -Current branch master is up to date. -HEAD is now at 56d459b test commit 1 -HEAD is now at 9ea74df test commit 2 -HEAD is now at 56d459b test commit 1 -HEAD is now at 9ea74df test commit 2 -Switched to a new branch 'merge' -Updating 56d459b..07631f7 -Fast-forward - test.r | 3 +++ - test2.r | 1 + - test4-empty.r | 0 - test5.r | 3 +++ - testsubdir/test3 'sq',$x=.r | 1 + - 5 files changed, 8 insertions(+) - create mode 100644 test.r - create mode 100644 test2.r - create mode 100644 test4-empty.r - create mode 100644 test5.r - create mode 100644 testsubdir/test3 'sq',$x=.r -ok 16 - required process filter should filter data for various subcommands + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -expecting success of 0021.17 'required process filter takes precedence': - test_config_global filter.protocol.clean false && - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean" && - test_config_global filter.protocol.required true && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +ok 61 - Passing --batch with fails - echo "*.r filter=protocol" >.gitattributes && - cp "$TEST_ROOT/test.o" test.r && - S=$(test_file_size test.r) && +expecting success of 1006.62 'Passing sha1 with --batch fails': + test_must_fail git cat-file --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - # Check that the process filter is invoked here - filter_git add . && - cat >expected.log <<-EOF && - START - init handshake complete - IN: clean test.r $S [OK] -- OUT: $S . [OK] - STOP - EOF - test_cmp_count expected.log debug.log - ) + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -ok 17 - required process filter takes precedence +ok 62 - Passing sha1 with --batch fails -expecting success of 0021.18 'required process filter should be used only for "clean" operation only': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean" && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +expecting success of 1006.63 'Passing -t with --batch-check fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - echo "*.r filter=protocol" >.gitattributes && - cp "$TEST_ROOT/test.o" test.r && - S=$(test_file_size test.r) && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - filter_git add . && - cat >expected.log <<-EOF && - START - init handshake complete - IN: clean test.r $S [OK] -- OUT: $S . [OK] - STOP - EOF - test_cmp_count expected.log debug.log && +ok 63 - Passing -t with --batch-check fails - rm test.r && +expecting success of 1006.64 'Passing --batch-check with -t fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - filter_git checkout --quiet --no-progress . && - # If the filter would be used for "smudge", too, we would see - # "IN: smudge test.r 57 [OK] -- OUT: 57 . [OK]" here - cat >expected.log <<-EOF && - START - init handshake complete - STOP - EOF - test_cmp_exclude_clean expected.log debug.log - ) + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -ok 18 - required process filter should be used only for "clean" operation only +ok 64 - Passing --batch-check with -t fails -expecting success of 0021.19 'required process filter should process multiple packets': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - test_config_global filter.protocol.required true && +expecting success of 1006.65 'Passing -s with --batch-check fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - # Generate data requiring 1, 2, 3 packets - S=65516 && # PKTLINE_DATA_MAXLEN -> Maximal size of a packet - generate_random_characters $(($S )) 1pkt_1__.file && - generate_random_characters $(($S +1)) 2pkt_1+1.file && - generate_random_characters $(($S*2-1)) 2pkt_2-1.file && - generate_random_characters $(($S*2 )) 2pkt_2__.file && - generate_random_characters $(($S*2+1)) 3pkt_2+1.file && +ok 65 - Passing -s with --batch-check fails - for FILE in "$TEST_ROOT"/*.file - do - cp "$FILE" . && - rot13.sh <"$FILE" >"$FILE.rot13" - done && +expecting success of 1006.66 'Passing --batch-check with -s fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - echo "*.file filter=protocol" >.gitattributes && - filter_git add *.file .gitattributes && - cat >expected.log <<-EOF && - START - init handshake complete - IN: clean 1pkt_1__.file $(($S )) [OK] -- OUT: $(($S )) . [OK] - IN: clean 2pkt_1+1.file $(($S +1)) [OK] -- OUT: $(($S +1)) .. [OK] - IN: clean 2pkt_2-1.file $(($S*2-1)) [OK] -- OUT: $(($S*2-1)) .. [OK] - IN: clean 2pkt_2__.file $(($S*2 )) [OK] -- OUT: $(($S*2 )) .. [OK] - IN: clean 3pkt_2+1.file $(($S*2+1)) [OK] -- OUT: $(($S*2+1)) ... [OK] - STOP - EOF - test_cmp_count expected.log debug.log && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - M1="blob=$(git hash-object 1pkt_1__.file)" && - M2="blob=$(git hash-object 2pkt_1+1.file)" && - M3="blob=$(git hash-object 2pkt_2-1.file)" && - M4="blob=$(git hash-object 2pkt_2__.file)" && - M5="blob=$(git hash-object 3pkt_2+1.file)" && - rm -f *.file debug.log && +ok 66 - Passing --batch-check with -s fails - filter_git checkout --quiet --no-progress -- *.file && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge 1pkt_1__.file $M1 $(($S )) [OK] -- OUT: $(($S )) . [OK] - IN: smudge 2pkt_1+1.file $M2 $(($S +1)) [OK] -- OUT: $(($S +1)) .. [OK] - IN: smudge 2pkt_2-1.file $M3 $(($S*2-1)) [OK] -- OUT: $(($S*2-1)) .. [OK] - IN: smudge 2pkt_2__.file $M4 $(($S*2 )) [OK] -- OUT: $(($S*2 )) .. [OK] - IN: smudge 3pkt_2+1.file $M5 $(($S*2+1)) [OK] -- OUT: $(($S*2+1)) ... [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +expecting success of 1006.67 'Passing -e with --batch-check fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - for FILE in *.file - do - test_cmp_committed_rot13 "$TEST_ROOT/$FILE" $FILE - done - ) + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -ok 19 - required process filter should process multiple packets +ok 67 - Passing -e with --batch-check fails -expecting success of 0021.20 'required process filter with clean error should fail': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - test_config_global filter.protocol.required true && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +expecting success of 1006.68 'Passing --batch-check with -e fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - echo "*.r filter=protocol" >.gitattributes && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - cp "$TEST_ROOT/test.o" test.r && - echo "this is going to fail" >clean-write-fail.r && - echo "content-test3-subdir" >test3.r && +ok 68 - Passing --batch-check with -e fails - test_must_fail git add . - ) +expecting success of 1006.69 'Passing -p with --batch-check fails': + test_must_fail git cat-file --$batch -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -clean write error at /build/git-2.30.2/t/trash directory.t0021-conversion/rot13-filter.pl line 225. -error: external filter 'rot13-filter.pl debug.log clean smudge' failed -fatal: clean-write-fail.r: clean filter 'protocol' failed -ok 20 - required process filter with clean error should fail + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -expecting success of 0021.21 'process filter should restart after unexpected write failure': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +ok 69 - Passing -p with --batch-check fails - echo "*.r filter=protocol" >.gitattributes && +expecting success of 1006.70 'Passing --batch-check with -p fails': + test_must_fail git cat-file -$opt --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - cp "$TEST_ROOT/test.o" test.r && - cp "$TEST_ROOT/test2.o" test2.r && - echo "this is going to fail" >smudge-write-fail.o && - cp smudge-write-fail.o smudge-write-fail.r && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - S=$(test_file_size test.r) && - S2=$(test_file_size test2.r) && - SF=$(test_file_size smudge-write-fail.r) && - M=$(git hash-object test.r) && - M2=$(git hash-object test2.r) && - MF=$(git hash-object smudge-write-fail.r) && - rm -f debug.log && +ok 70 - Passing --batch-check with -p fails - git add . && - rm -f *.r && +expecting success of 1006.71 'Passing with --batch-check fails': + test_must_fail git cat-file --$batch blob $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - rm -f debug.log && - git checkout --quiet --no-progress . 2>git-stderr.log && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - grep "smudge write error at" git-stderr.log && - test_i18ngrep "error: external filter" git-stderr.log && +ok 71 - Passing with --batch-check fails - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge smudge-write-fail.r blob=$MF $SF [OK] -- [WRITE FAIL] - START - init handshake complete - IN: smudge test.r blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +expecting success of 1006.72 'Passing --batch-check with fails': + test_must_fail git cat-file blob --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r && - test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - # Smudge failed - ! test_cmp smudge-write-fail.o smudge-write-fail.r && - rot13.sh expected && - git cat-file blob :smudge-write-fail.r >actual && - test_cmp expected actual - ) +ok 72 - Passing --batch-check with fails -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -smudge write error at /build/git-2.30.2/t/trash directory.t0021-conversion/rot13-filter.pl line 225. -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1006.73 'Passing sha1 with --batch-check fails': + test_must_fail git cat-file --$batch $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -) -prerequisite C_LOCALE_OUTPUT ok -error: external filter 'rot13-filter.pl debug.log clean smudge' failed ---- smudge-write-fail.o 2024-05-31 22:30:19.893382576 +0000 -+++ smudge-write-fail.r 2024-05-31 22:30:20.069382576 +0000 -@@ -1 +1 @@ --this is going to fail -+guvf vf tbvat gb snvy -ok 21 - process filter should restart after unexpected write failure +ok 73 - Passing sha1 with --batch-check fails -expecting success of 0021.22 'process filter should not be restarted if it signals an error': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +expecting success of 1006.74 'Passing -t with --follow-symlinks fails': + test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - echo "*.r filter=protocol" >.gitattributes && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - cp "$TEST_ROOT/test.o" test.r && - cp "$TEST_ROOT/test2.o" test2.r && - echo "this will cause an error" >error.o && - cp error.o error.r && +ok 74 - Passing -t with --follow-symlinks fails - S=$(test_file_size test.r) && - S2=$(test_file_size test2.r) && - SE=$(test_file_size error.r) && - M=$(git hash-object test.r) && - M2=$(git hash-object test2.r) && - ME=$(git hash-object error.r) && - rm -f debug.log && +expecting success of 1006.75 'Passing -s with --follow-symlinks fails': + test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - git add . && - rm -f *.r && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - filter_git checkout --quiet --no-progress . && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge error.r blob=$ME $SE [OK] -- [ERROR] - IN: smudge test.r blob=$M $S [OK] -- OUT: $S . [OK] - IN: smudge test2.r blob=$M2 $S2 [OK] -- OUT: $S2 . [OK] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +ok 75 - Passing -s with --follow-symlinks fails - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.r && - test_cmp_committed_rot13 "$TEST_ROOT/test2.o" test2.r && - test_cmp error.o error.r - ) +expecting success of 1006.76 'Passing -e with --follow-symlinks fails': + test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -ok 22 - process filter should not be restarted if it signals an error + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output -expecting success of 0021.23 'process filter abort stops processing of all further files': - test_config_global filter.protocol.process "rot13-filter.pl debug.log clean smudge" && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +ok 76 - Passing -e with --follow-symlinks fails - echo "*.r filter=protocol" >.gitattributes && +expecting success of 1006.77 'Passing -p with --follow-symlinks fails': + test_must_fail git cat-file --follow-symlinks -$opt $hello_sha1 + +usage: git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv | --filters) [--path=] + or: git cat-file (--batch[=] | --batch-check[=]) [--follow-symlinks] [--textconv | --filters] - cp "$TEST_ROOT/test.o" test.r && - cp "$TEST_ROOT/test2.o" test2.r && - echo "error this blob and all future blobs" >abort.o && - cp abort.o abort.r && + can be one of: blob, tree, commit, tag + -t show object type + -s show object size + -e exit with zero when there's no error + -p pretty-print object's content + --textconv for blob objects, run textconv on object's content + --filters for blob objects, run filters on object's content + --path use a specific path for --textconv/--filters + --allow-unknown-type allow -s and -t to work with broken/corrupt objects + --buffer buffer --batch output + --batch[=] show info and content of objects fed from the standard input + --batch-check[=] + show info about objects fed from the standard input + --follow-symlinks follow in-tree symlinks (used with --batch or --batch-check) + --batch-all-objects show all objects with --batch or --batch-check + --unordered do not order --batch-all-objects output - M="blob=$(git hash-object abort.r)" && - rm -f debug.log && - SA=$(test_file_size abort.r) && +ok 77 - Passing -p with --follow-symlinks fails - git add . && - rm -f *.r && +expecting success of 1006.78 '--batch-check for a non-existent named object': + test "foobar42 missing +foobar84 missing" = \ + "$( ( echo foobar42; echo_without_newline foobar84; ) | git cat-file --batch-check)" +ok 78 - --batch-check for a non-existent named object - # Note: This test assumes that Git filters files in alphabetical - # order ("abort.r" before "test.r"). - filter_git checkout --quiet --no-progress . && - cat >expected.log <<-EOF && - START - init handshake complete - IN: smudge abort.r $M $SA [OK] -- [ABORT] - STOP - EOF - test_cmp_exclude_clean expected.log debug.log && +expecting success of 1006.79 '--batch-check for a non-existent hash': + test "0000000000000000000000000000000000000042 missing +0000000000000000000000000000000000000084 missing" = \ + "$( ( echo 0000000000000000000000000000000000000042; + echo_without_newline 0000000000000000000000000000000000000084; ) | + git cat-file --batch-check)" - test_cmp "$TEST_ROOT/test.o" test.r && - test_cmp "$TEST_ROOT/test2.o" test2.r && - test_cmp abort.o abort.r - ) +ok 79 - --batch-check for a non-existent hash -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -ok 23 - process filter abort stops processing of all further files +expecting success of 1006.80 '--batch for an existent and a non-existent hash': + test "$tag_sha1 tag $tag_size +$tag_content +0000000000000000000000000000000000000000 missing" = \ + "$( ( echo $tag_sha1; + echo_without_newline 0000000000000000000000000000000000000000; ) | + git cat-file --batch)" -expecting success of 0021.24 'invalid process filter must fail (and not hang!)': - test_config_global filter.protocol.process cat && - test_config_global filter.protocol.required true && - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && +ok 80 - --batch for an existent and a non-existent hash - echo "*.r filter=protocol" >.gitattributes && +expecting success of 1006.81 '--batch-check for an empty line': + test " missing" = "$(echo | git cat-file --batch-check)" - cp "$TEST_ROOT/test.o" test.r && - test_must_fail git add . 2>git-stderr.log && - grep "expected git-filter-server" git-stderr.log - ) +ok 81 - --batch-check for an empty line -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -error: Unexpected line 'git-filter-client', expected git-filter-server -ok 24 - invalid process filter must fail (and not hang!) +expecting success of 1006.82 'empty --batch-check notices missing object': + echo "$ZERO_OID missing" >expect && + echo "$ZERO_OID" | git cat-file --batch-check="" >actual && + test_cmp expect actual -expecting success of 0021.25 'delayed checkout in process filter': - test_config_global filter.a.process "rot13-filter.pl a.log clean smudge delay" && - test_config_global filter.a.required true && - test_config_global filter.b.process "rot13-filter.pl b.log clean smudge delay" && - test_config_global filter.b.required true && +ok 82 - empty --batch-check notices missing object - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && - echo "*.a filter=a" >.gitattributes && - echo "*.b filter=b" >>.gitattributes && - cp "$TEST_ROOT/test.o" test.a && - cp "$TEST_ROOT/test.o" test-delay10.a && - cp "$TEST_ROOT/test.o" test-delay11.a && - cp "$TEST_ROOT/test.o" test-delay20.a && - cp "$TEST_ROOT/test.o" test-delay10.b && - git add . && - git commit -m "test commit" - ) && +expecting success of 1006.83 '--batch with multiple sha1s gives correct format': + test "$(maybe_remove_timestamp "$batch_output" 1)" = "$(maybe_remove_timestamp "$(echo_without_newline "$batch_input" | git cat-file --batch)" 1)" - S=$(test_file_size "$TEST_ROOT/test.o") && - PM="ref=refs/heads/master treeish=$(git -C repo rev-parse --verify master) " && - M="${PM}blob=$(git -C repo rev-parse --verify master:test.a)" && - cat >a.exp <<-EOF && - START - init handshake complete - IN: smudge test.a $M $S [OK] -- OUT: $S . [OK] - IN: smudge test-delay10.a $M $S [OK] -- [DELAYED] - IN: smudge test-delay11.a $M $S [OK] -- [DELAYED] - IN: smudge test-delay20.a $M $S [OK] -- [DELAYED] - IN: list_available_blobs test-delay10.a test-delay11.a [OK] - IN: smudge test-delay10.a $M 0 [OK] -- OUT: $S . [OK] - IN: smudge test-delay11.a $M 0 [OK] -- OUT: $S . [OK] - IN: list_available_blobs test-delay20.a [OK] - IN: smudge test-delay20.a $M 0 [OK] -- OUT: $S . [OK] - IN: list_available_blobs [OK] - STOP - EOF - cat >b.exp <<-EOF && - START - init handshake complete - IN: smudge test-delay10.b $M $S [OK] -- [DELAYED] - IN: list_available_blobs test-delay10.b [OK] - IN: smudge test-delay10.b $M 0 [OK] -- OUT: $S . [OK] - IN: list_available_blobs [OK] - STOP +ok 83 - --batch with multiple sha1s gives correct format + +expecting success of 1006.84 '--batch-check with multiple sha1s gives correct format': + test "$batch_check_output" = \ + "$(echo_without_newline "$batch_check_input" | git cat-file --batch-check)" + +ok 84 - --batch-check with multiple sha1s gives correct format + +expecting success of 1006.85 'setup blobs which are likely to delta': + test-tool genrandom foo 10240 >foo && + { cat foo; echo plus; } >foo-plus && + git add foo foo-plus && + git commit -m foo && + cat >blobs <<-\EOF + HEAD:foo + HEAD:foo-plus EOF - rm -rf repo-cloned && - filter_git clone repo repo-cloned && - test_cmp_count a.exp repo-cloned/a.log && - test_cmp_count b.exp repo-cloned/b.log && +[master (root-commit) 8ebd92f] foo + Author: A U Thor + 3 files changed, 1 insertion(+) + create mode 100644 foo + create mode 100644 foo-plus + create mode 100644 hello +ok 85 - setup blobs which are likely to delta - ( - cd repo-cloned && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay11.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay20.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.b && +expecting success of 1006.86 'confirm that neither loose blob is a delta': + cat >expect <<-EOF && + $ZERO_OID + $ZERO_OID + EOF + git cat-file --batch-check="%(deltabase)" actual && + test_cmp expect actual - rm *.a *.b && - filter_git checkout . && - # We are not checking out a ref here, so filter out ref metadata. - sed -e "s!$PM!!" ../a.exp >a.exp.filtered && - sed -e "s!$PM!!" ../b.exp >b.exp.filtered && - test_cmp_count a.exp.filtered a.log && - test_cmp_count b.exp.filtered b.log && +ok 86 - confirm that neither loose blob is a delta - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay11.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay20.a && - test_cmp_committed_rot13 "$TEST_ROOT/test.o" test-delay10.b - ) +expecting success of 1006.87 '%(deltabase) reports packed delta bases': + git repack -ad && + git cat-file --batch-check="%(deltabase)" actual && + { + grep "$(git rev-parse HEAD:foo)" actual || + grep "$(git rev-parse HEAD:foo-plus)" actual + } -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -[master (root-commit) 27d7fe8] test commit - Author: A U Thor - 6 files changed, 17 insertions(+) - create mode 100644 .gitattributes - create mode 100644 test-delay10.a - create mode 100644 test-delay10.b - create mode 100644 test-delay11.a - create mode 100644 test-delay20.a - create mode 100644 test.a -Cloning into 'repo-cloned'... -done. -Updated 9 paths from the index -ok 25 - delayed checkout in process filter +9b546ef00c80e00a1733cb882d607028fcd562fc +ok 87 - %(deltabase) reports packed delta bases -expecting success of 0021.26 'missing file in delayed checkout': - test_config_global filter.bug.process "rot13-filter.pl bug.log clean smudge delay" && - test_config_global filter.bug.required true && +expecting success of 1006.88 'Type of broken object is correct': + echo $bogus_type >expect && + git cat-file -t --allow-unknown-type $bogus_sha1 >actual && + test_cmp expect actual - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && - echo "*.a filter=bug" >.gitattributes && - cp "$TEST_ROOT/test.o" missing-delay.a && - git add . && - git commit -m "test commit" - ) && +ok 88 - Type of broken object is correct - rm -rf repo-cloned && - test_must_fail git clone repo repo-cloned 2>git-stderr.log && - grep "error: .missing-delay\.a. was not filtered properly" git-stderr.log +expecting success of 1006.89 'Size of broken object is correct': + echo $bogus_size >expect && + git cat-file -s --allow-unknown-type $bogus_sha1 >actual && + test_cmp expect actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -[master (root-commit) 5567259] test commit - Author: A U Thor - 2 files changed, 4 insertions(+) - create mode 100644 .gitattributes - create mode 100644 missing-delay.a -error: 'missing-delay.a' was not filtered properly -ok 26 - missing file in delayed checkout +ok 89 - Size of broken object is correct -expecting success of 0021.27 'invalid file in delayed checkout': - test_config_global filter.bug.process "rot13-filter.pl bug.log clean smudge delay" && - test_config_global filter.bug.required true && +expecting success of 1006.90 'Type of broken object is correct when type is large': + echo $bogus_type >expect && + git cat-file -t --allow-unknown-type $bogus_sha1 >actual && + test_cmp expect actual - rm -rf repo && - mkdir repo && - ( - cd repo && - git init && - echo "*.a filter=bug" >.gitattributes && - cp "$TEST_ROOT/test.o" invalid-delay.a && - cp "$TEST_ROOT/test.o" unfiltered && - git add . && - git commit -m "test commit" - ) && +ok 90 - Type of broken object is correct when type is large - rm -rf repo-cloned && - test_must_fail git clone repo repo-cloned 2>git-stderr.log && - grep "error: external filter .* signaled that .unfiltered. is now available although it has not been delayed earlier" git-stderr.log +expecting success of 1006.91 'Size of large broken object is correct when type is large': + echo $bogus_size >expect && + git cat-file -s --allow-unknown-type $bogus_sha1 >actual && + test_cmp expect actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t0021-conversion/repo/.git/ -[master (root-commit) 636012f] test commit - Author: A U Thor - 3 files changed, 7 insertions(+) - create mode 100644 .gitattributes - create mode 100644 invalid-delay.a - create mode 100644 unfiltered -error: external filter 'rot13-filter.pl bug.log clean smudge delay' signaled that 'unfiltered' is now available although it has not been delayed earlier -ok 27 - invalid file in delayed checkout +ok 91 - Size of large broken object is correct when type is large + +expecting success of 1006.92 'prep for symlink tests': + echo_without_newline "$hello_content" >morx && + test_ln_s_add morx same-dir-link && + test_ln_s_add dir link-to-dir && + test_ln_s_add ../fleem out-of-repo-link && + test_ln_s_add .. out-of-repo-link-dir && + test_ln_s_add same-dir-link link-to-link && + test_ln_s_add nope broken-same-dir-link && + mkdir dir && + test_ln_s_add ../morx dir/parent-dir-link && + test_ln_s_add .. dir/link-dir && + test_ln_s_add ../../escape dir/out-of-repo-link && + test_ln_s_add ../.. dir/out-of-repo-link-dir && + test_ln_s_add nope dir/broken-link-in-dir && + mkdir dir/subdir && + test_ln_s_add ../../morx dir/subdir/grandparent-dir-link && + test_ln_s_add ../../../great-escape dir/subdir/out-of-repo-link && + test_ln_s_add ../../.. dir/subdir/out-of-repo-link-dir && + test_ln_s_add ../../../ dir/subdir/out-of-repo-link-dir-trailing && + test_ln_s_add ../parent-dir-link dir/subdir/parent-dir-link-to-link && + echo_without_newline "$hello_content" >dir/subdir/ind2 && + echo_without_newline "$hello_content" >dir/ind1 && + test_ln_s_add dir dirlink && + test_ln_s_add dir/subdir subdirlink && + test_ln_s_add subdir/ind2 dir/link-to-child && + test_ln_s_add dir/link-to-child link-to-down-link && + test_ln_s_add dir/.. up-down && + test_ln_s_add dir/../ up-down-trailing && + test_ln_s_add dir/../morx up-down-file && + test_ln_s_add dir/../../morx up-up-down-file && + test_ln_s_add subdirlink/../../morx up-two-down-file && + test_ln_s_add loop1 loop2 && + test_ln_s_add loop2 loop1 && + git add morx dir/subdir/ind2 dir/ind1 && + git commit -am "test" && + echo $hello_sha1 blob $hello_size >found checking prerequisite: SYMLINKS @@ -39095,387 +33361,731 @@ ) prerequisite SYMLINKS ok -checking prerequisite: CASE_INSENSITIVE_FS +[master 4673f52] test + Author: A U Thor + 30 files changed, 30 insertions(+) + create mode 120000 broken-same-dir-link + create mode 120000 dir/broken-link-in-dir + create mode 100644 dir/ind1 + create mode 120000 dir/link-dir + create mode 120000 dir/link-to-child + create mode 120000 dir/out-of-repo-link + create mode 120000 dir/out-of-repo-link-dir + create mode 120000 dir/parent-dir-link + create mode 120000 dir/subdir/grandparent-dir-link + create mode 100644 dir/subdir/ind2 + create mode 120000 dir/subdir/out-of-repo-link + create mode 120000 dir/subdir/out-of-repo-link-dir + create mode 120000 dir/subdir/out-of-repo-link-dir-trailing + create mode 120000 dir/subdir/parent-dir-link-to-link + create mode 120000 dirlink + create mode 120000 link-to-dir + create mode 120000 link-to-down-link + create mode 120000 link-to-link + create mode 120000 loop1 + create mode 120000 loop2 + create mode 100644 morx + create mode 120000 out-of-repo-link + create mode 120000 out-of-repo-link-dir + create mode 120000 same-dir-link + create mode 120000 subdirlink + create mode 120000 up-down + create mode 120000 up-down-file + create mode 120000 up-down-trailing + create mode 120000 up-two-down-file + create mode 120000 up-up-down-file +ok 92 - prep for symlink tests -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && - echo good >CamelCase && - echo bad >camelcase && - test "$(cat CamelCase)" != good +expecting success of 1006.93 'git cat-file --batch-check --follow-symlinks works for non-links': + echo HEAD:morx | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual && + echo HEAD:nope missing >expect && + echo HEAD:nope | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual -) -prerequisite CASE_INSENSITIVE_FS not satisfied -ok 28 # skip delayed checkout with case-collision don't write to the wrong place (missing CASE_INSENSITIVE_FS of PERL,SYMLINKS,CASE_INSENSITIVE_FS) +ok 93 - git cat-file --batch-check --follow-symlinks works for non-links -checking prerequisite: UTF8_NFD_TO_NFC +expecting success of 1006.94 'git cat-file --batch-check --follow-symlinks works for in-repo, same-dir links': + echo HEAD:same-dir-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && - # check whether FS converts nfd unicode to nfc - auml=$(printf "\303\244") - aumlcdiar=$(printf "\141\314\210") - >"$auml" && - test -f "$aumlcdiar" +ok 94 - git cat-file --batch-check --follow-symlinks works for in-repo, same-dir links -) -prerequisite UTF8_NFD_TO_NFC not satisfied -ok 29 # skip delayed checkout with utf-8-collision don't write to the wrong place (missing UTF8_NFD_TO_NFC of PERL,SYMLINKS,UTF8_NFD_TO_NFC) +expecting success of 1006.95 'git cat-file --batch-check --follow-symlinks works for in-repo, links to dirs': + echo HEAD:link-to-dir/ind1 | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual -ok 30 # skip delayed checkout with submodule collision don't write to the wrong place (missing CASE_INSENSITIVE_FS of PERL,SYMLINKS,CASE_INSENSITIVE_FS) +ok 95 - git cat-file --batch-check --follow-symlinks works for in-repo, links to dirs -# passed all 30 test(s) -1..30 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1414-reflog-walk.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1414-reflog-walk/.git/ -expecting success of 1414.1 'set up some reflog entries': - test_commit one && - test_commit two && - git checkout -b side HEAD^ && - test_commit three && - git merge --no-commit master && - echo evil-merge-content >>one.t && - test_tick && - git commit --no-edit -a +expecting success of 1006.96 'git cat-file --batch-check --follow-symlinks works for broken in-repo, same-dir links': + echo dangling 25 >expect && + echo HEAD:broken-same-dir-link >>expect && + echo HEAD:broken-same-dir-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual -[master (root-commit) d79ce16] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master 139b20d] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -Switched to a new branch 'side' -[side 897c206] three - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 three.t -Merging: -897c206 three -virtual master -found 1 common ancestor: -d79ce16 one -Automatic merge went well; stopped before committing as requested -[side 0a3eb79] Merge branch 'master' into side - Author: A U Thor -ok 1 - set up some reflog entries +ok 96 - git cat-file --batch-check --follow-symlinks works for broken in-repo, same-dir links -expecting success of 1414.2 'set up expected reflog': - cat >expect.all <<-EOF - HEAD@{0} commit (merge): Merge branch ${SQ}master${SQ} into side - HEAD@{1} commit: three - HEAD@{2} checkout: moving from master to side - HEAD@{3} commit: two - HEAD@{4} commit (initial): one - EOF +expecting success of 1006.97 'git cat-file --batch-check --follow-symlinks works for same-dir links-to-links': + echo HEAD:link-to-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual -ok 2 - set up expected reflog +ok 97 - git cat-file --batch-check --follow-symlinks works for same-dir links-to-links -expecting success of 1414.3 'reflog walk shows expected logs': - do_walk >actual && - test_cmp expect.all actual +expecting success of 1006.98 'git cat-file --batch-check --follow-symlinks works for parent-dir links': + echo HEAD:dir/parent-dir-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual && + echo notdir 29 >expect && + echo HEAD:dir/parent-dir-link/nope >>expect && + echo HEAD:dir/parent-dir-link/nope | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual -ok 3 - reflog walk shows expected logs +ok 98 - git cat-file --batch-check --follow-symlinks works for parent-dir links -expecting success of 1414.4 'reflog can limit with --no-merges': - grep -v merge expect.all >expect && - do_walk --no-merges >actual && +expecting success of 1006.99 'git cat-file --batch-check --follow-symlinks works for .. links': + echo dangling 22 >expect && + echo HEAD:dir/link-dir/nope >>expect && + echo HEAD:dir/link-dir/nope | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:dir/link-dir/morx | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual && + echo dangling 27 >expect && + echo HEAD:dir/broken-link-in-dir >>expect && + echo HEAD:dir/broken-link-in-dir | git cat-file --batch-check --follow-symlinks >actual && test_cmp expect actual -ok 4 - reflog can limit with --no-merges +ok 99 - git cat-file --batch-check --follow-symlinks works for .. links -expecting success of 1414.5 'reflog can limit with pathspecs': - grep two expect.all >expect && - do_walk -- two.t >actual && - test_cmp expect actual +expecting success of 1006.100 'git cat-file --batch-check --follow-symlinks works for ../.. links': + echo notdir 41 >expect && + echo HEAD:dir/subdir/grandparent-dir-link/nope >>expect && + echo HEAD:dir/subdir/grandparent-dir-link/nope | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:dir/subdir/grandparent-dir-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual && + echo HEAD:dir/subdir/parent-dir-link-to-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual -ok 5 - reflog can limit with pathspecs +ok 100 - git cat-file --batch-check --follow-symlinks works for ../.. links -expecting success of 1414.6 'pathspec limiting handles merges': - # we pick up: - # - the initial commit of one - # - the checkout back to commit one - # - the evil merge which touched one - sed -n "1p;3p;5p" expect.all >expect && - do_walk -- one.t >actual && +expecting success of 1006.101 'git cat-file --batch-check --follow-symlinks works for dir/ links': + echo dangling 17 >expect && + echo HEAD:dirlink/morx >>expect && + echo HEAD:dirlink/morx | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo $hello_sha1 blob $hello_size >expect && + echo HEAD:dirlink/ind1 | git cat-file --batch-check --follow-symlinks >actual && test_cmp expect actual -ok 6 - pathspec limiting handles merges +ok 101 - git cat-file --batch-check --follow-symlinks works for dir/ links -expecting success of 1414.7 '--parents shows true parents': - # convert newlines to spaces - echo $(git rev-parse HEAD HEAD^1 HEAD^2) >expect && - git rev-list -g --parents -1 HEAD >actual && - test_cmp expect actual +expecting success of 1006.102 'git cat-file --batch-check --follow-symlinks works for dir/subdir links': + echo dangling 20 >expect && + echo HEAD:subdirlink/morx >>expect && + echo HEAD:subdirlink/morx | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:subdirlink/ind2 | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual -ok 7 - --parents shows true parents +ok 102 - git cat-file --batch-check --follow-symlinks works for dir/subdir links -expecting success of 1414.8 'walking multiple reflogs shows all': - # We expect to see all entries for all reflogs, but interleaved by - # date, with order on the command line breaking ties. We - # can use "sort" on the separate lists to generate this, - # but note two tricks: - # - # 1. We use "{" as the delimiter, which lets us skip to the reflog - # date specifier as our second field, and then our "-n" numeric - # sort ignores the bits after the timestamp. - # - # 2. POSIX leaves undefined whether this is a stable sort or not. So - # we use "-k 1" to ensure that we see HEAD before master before - # side when breaking ties. - { - do_walk --date=unix HEAD && - do_walk --date=unix side && - do_walk --date=unix master - } >expect.raw && - sort -t "{" -k 2nr -k 1 expect && - do_walk --date=unix HEAD master side >actual && - test_cmp expect actual +expecting success of 1006.103 'git cat-file --batch-check --follow-symlinks works for dir ->subdir links': + echo notdir 27 >expect && + echo HEAD:dir/link-to-child/morx >>expect && + echo HEAD:dir/link-to-child/morx | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:dir/link-to-child | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual && + echo HEAD:link-to-down-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual -ok 8 - walking multiple reflogs shows all +ok 103 - git cat-file --batch-check --follow-symlinks works for dir ->subdir links -expecting success of 1414.9 'date-limiting does not interfere with other logs': - do_walk HEAD@{1979-01-01} HEAD >actual && - test_cmp expect.all actual +expecting success of 1006.104 'git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks': + echo symlink 8 >expect && + echo ../fleem >>expect && + echo HEAD:out-of-repo-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo symlink 2 >expect && + echo .. >>expect && + echo HEAD:out-of-repo-link-dir | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual -warning: log for 'HEAD' only goes back to Thu, 7 Apr 2005 15:13:13 -0700 -ok 9 - date-limiting does not interfere with other logs +ok 104 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks -expecting success of 1414.10 'min/max age uses entry date to limit': - # Flip between commits one and two so each ref update actually - # does something (and does not get optimized out). We know - # that the timestamps of those commits will be before our "min". +expecting success of 1006.105 'git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in dirs': + echo symlink 9 >expect && + echo ../escape >>expect && + echo HEAD:dir/out-of-repo-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo symlink 2 >expect && + echo .. >>expect && + echo HEAD:dir/out-of-repo-link-dir | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual - git update-ref -m before refs/heads/minmax one && +ok 105 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in dirs - test_tick && - min=$test_tick && - git update-ref -m min refs/heads/minmax two && +expecting success of 1006.106 'git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in subdirs': + echo symlink 15 >expect && + echo ../great-escape >>expect && + echo HEAD:dir/subdir/out-of-repo-link | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo symlink 2 >expect && + echo .. >>expect && + echo HEAD:dir/subdir/out-of-repo-link-dir | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo symlink 3 >expect && + echo ../ >>expect && + echo HEAD:dir/subdir/out-of-repo-link-dir-trailing | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual - test_tick && - max=$test_tick && - git update-ref -m max refs/heads/minmax one && +ok 106 - git cat-file --batch-check --follow-symlinks works for out-of-repo symlinks in subdirs - test_tick && - git update-ref -m after refs/heads/minmax two && +expecting success of 1006.107 'git cat-file --batch-check --follow-symlinks works for symlinks with internal ..': + echo HEAD: | git cat-file --batch-check >expect && + echo HEAD:up-down | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:up-down-trailing | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:up-down-file | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual && + echo symlink 7 >expect && + echo ../morx >>expect && + echo HEAD:up-up-down-file | git cat-file --batch-check --follow-symlinks >actual && + test_cmp expect actual && + echo HEAD:up-two-down-file | git cat-file --batch-check --follow-symlinks >actual && + test_cmp found actual - cat >expect <<-\EOF && - max - min - EOF - git log -g --since=$min --until=$max --format=%gs minmax >actual && +ok 107 - git cat-file --batch-check --follow-symlinks works for symlinks with internal .. + +expecting success of 1006.108 'git cat-file --batch-check --follow-symlink breaks loops': + echo loop 10 >expect && + echo HEAD:loop1 >>expect && + echo HEAD:loop1 | git cat-file --batch-check --follow-symlinks >actual && test_cmp expect actual -ok 10 - min/max age uses entry date to limit +ok 108 - git cat-file --batch-check --follow-symlink breaks loops -expecting success of 1414.11 'walk prefers reflog to ref tip': - head=$(git rev-parse HEAD) && - one=$(git rev-parse one) && - ident="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" && - echo "$head $one $ident broken reflog entry" >>.git/logs/HEAD && +expecting success of 1006.109 'git cat-file --batch --follow-symlink returns correct sha and mode': + echo HEAD:morx | git cat-file --batch >expect && + echo HEAD:morx | git cat-file --batch --follow-symlinks >actual && + test_cmp expect actual - echo $one >expect && - git log -g --format=%H -1 >actual && +ok 109 - git cat-file --batch --follow-symlink returns correct sha and mode + +expecting success of 1006.110 'cat-file --batch-all-objects shows all objects': + # make new repos so we know the full set of objects; we will + # also make sure that there are some packed and some loose + # objects, some referenced and some not, some duplicates, and that + # there are some available only via alternates. + git init all-one && + ( + cd all-one && + echo content >file && + git add file && + git commit -qm base && + git rev-parse HEAD HEAD^{tree} HEAD:file && + git repack -ad && + echo not-cloned | git hash-object -w --stdin + ) >expect.unsorted && + git clone -s all-one all-two && + ( + cd all-two && + echo local-unref | git hash-object -w --stdin + ) >>expect.unsorted && + git -C all-two rev-parse HEAD:file | + git -C all-two pack-objects .git/objects/pack/pack && + sort expect && + git -C all-two cat-file --batch-all-objects \ + --batch-check="%(objectname)" >actual && test_cmp expect actual -ok 11 - walk prefers reflog to ref tip +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1006-cat-file/all-one/.git/ +Cloning into 'all-two'... +done. +2d40090ddd2c612f2679520aaab9f69d52e41628 +ok 110 - cat-file --batch-all-objects shows all objects -expecting success of 1414.12 'rev-list -g complains when there are no reflogs': - test_must_fail git rev-list -g +expecting success of 1006.111 'cat-file --unordered works': + git -C all-two cat-file --batch-all-objects --unordered \ + --batch-check="%(objectname)" >actual.unsorted && + sort actual && + test_cmp expect actual -usage: git rev-list [OPTION] ... [ -- paths... ] - limiting output: - --max-count= - --max-age= - --min-age= - --sparse - --no-merges - --min-parents= - --no-min-parents - --max-parents= - --no-max-parents - --remove-empty - --all - --branches - --tags - --remotes - --stdin - --quiet - ordering output: - --topo-order - --date-order - --reverse - formatting output: - --parents - --children - --objects | --objects-edge - --unpacked - --header | --pretty - --[no-]object-names - --abbrev= | --no-abbrev - --abbrev-commit - --left-right - --count - special purpose: - --bisect - --bisect-vars - --bisect-all -ok 12 - rev-list -g complains when there are no reflogs +ok 111 - cat-file --unordered works -# passed all 12 test(s) -1..12 +# passed all 111 test(s) +1..111 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1411-reflog-show.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1411-reflog-show/.git/ -expecting success of 1411.1 'setup': - echo content >file && - git add file && - test_tick && - git commit -m one +*** t1090-sparse-checkout-scope.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1090-sparse-checkout-scope/.git/ +expecting success of 1090.1 'setup': + echo "initial" >a && + echo "initial" >b && + echo "initial" >c && + git add a b c && + git commit -m "initial commit" -[master (root-commit) e46513e] one +[master (root-commit) 0b6cffd] initial commit Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file + 3 files changed, 3 insertions(+) + create mode 100644 a + create mode 100644 b + create mode 100644 c ok 1 - setup -expecting success of 1411.2 'log -g shows reflog headers': - git log -g -1 >tmp && - grep ^Reflog actual && - test_cmp expect actual - -ok 2 - log -g shows reflog headers +expecting success of 1090.2 'create feature branch': + git checkout -b feature && + echo "modified" >b && + echo "modified" >c && + git add b c && + git commit -m "modification" -expecting success of 1411.3 'oneline reflog format': - git log -g -1 --oneline >actual && - test_cmp expect actual +Switched to a new branch 'feature' +[feature 96237bb] modification + Author: A U Thor + 2 files changed, 2 insertions(+), 2 deletions(-) +ok 2 - create feature branch -ok 3 - oneline reflog format +expecting success of 1090.3 'perform sparse checkout of master': + git config --local --bool core.sparsecheckout true && + echo "!/*" >.git/info/sparse-checkout && + echo "/a" >>.git/info/sparse-checkout && + echo "/c" >>.git/info/sparse-checkout && + git checkout master && + test_path_is_file a && + test_path_is_missing b && + test_path_is_file c -expecting success of 1411.4 'reflog default format': - git reflog -1 >actual && - test_cmp expect actual +Switched to branch 'master' +ok 3 - perform sparse checkout of master -ok 4 - reflog default format +expecting success of 1090.4 'merge feature branch into sparse checkout of master': + git merge feature && + test_path_is_file a && + test_path_is_missing b && + test_path_is_file c && + test "$(cat c)" = "modified" -expecting success of 1411.5 'override reflog default format': - git reflog --format=short -1 >actual && - test_cmp expect actual +Updating 0b6cffd..96237bb +Fast-forward + b | 2 +- + c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) +ok 4 - merge feature branch into sparse checkout of master -ok 5 - override reflog default format +expecting success of 1090.5 'return to full checkout of master': + git checkout feature && + echo "/*" >.git/info/sparse-checkout && + git checkout master && + test_path_is_file a && + test_path_is_file b && + test_path_is_file c && + test "$(cat b)" = "modified" -expecting success of 1411.6 'using @{now} syntax shows reflog date (multiline)': - git log -g -1 HEAD@{now} >tmp && - grep ^Reflog actual && - test_cmp expect actual +Switched to branch 'feature' +Switched to branch 'master' +ok 5 - return to full checkout of master -ok 6 - using @{now} syntax shows reflog date (multiline) +expecting success of 1090.6 'in partial clone, sparse checkout only fetches needed blobs': + test_create_repo server && + git clone "file://$(pwd)/server" client && -expecting success of 1411.7 'using @{now} syntax shows reflog date (oneline)': - git log -g -1 --oneline HEAD@{now} >actual && - test_cmp expect actual + test_config -C server uploadpack.allowfilter 1 && + test_config -C server uploadpack.allowanysha1inwant 1 && + echo a >server/a && + echo bb >server/b && + mkdir server/c && + echo ccc >server/c/c && + git -C server add a b c/c && + git -C server commit -m message && -ok 7 - using @{now} syntax shows reflog date (oneline) + test_config -C client core.sparsecheckout 1 && + echo "!/*" >client/.git/info/sparse-checkout && + echo "/a" >>client/.git/info/sparse-checkout && + git -C client fetch --filter=blob:none origin && + git -C client checkout FETCH_HEAD && -expecting success of 1411.8 'using @{now} syntax shows reflog date (format=%gd)': - git log -g -1 --format=%gd HEAD@{now} >actual && + git -C client rev-list HEAD \ + --quiet --objects --missing=print >unsorted_actual && + ( + printf "?" && + git hash-object server/b && + printf "?" && + git hash-object server/c/c + ) >unsorted_expect && + sort unsorted_actual >actual && + sort unsorted_expect >expect && test_cmp expect actual -ok 8 - using @{now} syntax shows reflog date (format=%gd) +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1090-sparse-checkout-scope/server/.git/ +Cloning into 'client'... +warning: You appear to have cloned an empty repository. +[master (root-commit) ab14680] message + Author: A U Thor + 3 files changed, 3 insertions(+) + create mode 100644 a + create mode 100644 b + create mode 100644 c/c +From file:///build/git-2.30.2/t/trash directory.t1090-sparse-checkout-scope/server + * [new branch] master -> origin/master +Note: switching to 'FETCH_HEAD'. -expecting success of 1411.9 'using --date= shows reflog date (multiline)': - git log -g -1 --date=default >tmp && - grep ^Reflog actual && - test_cmp expect actual +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -ok 9 - using --date= shows reflog date (multiline) +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 1411.10 'using --date= shows reflog date (oneline)': - git log -g -1 --oneline --date=default >actual && - test_cmp expect actual + git switch -c -ok 10 - using --date= shows reflog date (oneline) +Or undo this operation with: -expecting success of 1411.11 'using --date= shows reflog date (format=%gd)': - git log -g -1 --format=%gd --date=raw >actual && - test_cmp expect actual + git switch - -ok 11 - using --date= shows reflog date (format=%gd) +Turn off this advice by setting config variable advice.detachedHead to false -expecting success of 1411.12 'log.date does not invoke "--date" magic (multiline)': - test_config log.date raw && - git log -g -1 >tmp && - grep ^Reflog actual && - test_cmp expect actual +HEAD is now at ab14680 message +ok 6 - in partial clone, sparse checkout only fetches needed blobs -ok 12 - log.date does not invoke "--date" magic (multiline) +# passed all 6 test(s) +1..6 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1100-commit-tree-options.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1100-commit-tree-options/.git/ +expecting success of 1100.1 'test preparation: write empty tree': git write-tree >treeid +ok 1 - test preparation: write empty tree -expecting success of 1411.13 'log.date does not invoke "--date" magic (oneline)': - test_config log.date raw && - git log -g -1 --oneline >actual && - test_cmp expect actual +expecting success of 1100.2 'construct commit': echo comment text | + GIT_AUTHOR_NAME="Author Name" \ + GIT_AUTHOR_EMAIL="author@email" \ + GIT_AUTHOR_DATE="2005-05-26 23:00" \ + GIT_COMMITTER_NAME="Committer Name" \ + GIT_COMMITTER_EMAIL="committer@email" \ + GIT_COMMITTER_DATE="2005-05-26 23:30" \ + TZ=GMT git commit-tree $(cat treeid) >commitid 2>/dev/null +ok 2 - construct commit -ok 13 - log.date does not invoke "--date" magic (oneline) +expecting success of 1100.3 'read commit': git cat-file commit $(cat commitid) >commit +ok 3 - read commit -expecting success of 1411.14 'log.date does not invoke "--date" magic (format=%gd)': - test_config log.date raw && - git log -g -1 --format=%gd >actual && - test_cmp expect actual +expecting success of 1100.4 'compare commit': test_cmp expected commit +ok 4 - compare commit -ok 14 - log.date does not invoke "--date" magic (format=%gd) +expecting success of 1100.5 'flags and then non flags': + test_tick && + echo comment text | + git commit-tree $(cat treeid) >commitid && + echo comment text | + git commit-tree $(cat treeid) -p $(cat commitid) >childid-1 && + echo comment text | + git commit-tree -p $(cat commitid) $(cat treeid) >childid-2 && + test_cmp childid-1 childid-2 && + git commit-tree $(cat treeid) -m foo >childid-3 && + git commit-tree -m foo $(cat treeid) >childid-4 && + test_cmp childid-3 childid-4 -expecting success of 1411.15 '--date magic does not override explicit @{0} syntax': - git log -g -1 --format=%gd --date=raw HEAD@{0} >actual && - test_cmp expect actual +ok 5 - flags and then non flags -ok 15 - --date magic does not override explicit @{0} syntax +# passed all 5 test(s) +1..5 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1060-object-corruption.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/.git/ +expecting success of 1060.1 'setup corrupt repo': + git init bit-error && + ( + cd bit-error && + test_commit content && + corrupt_byte HEAD:content.t 10 + ) && + git init no-bit-error && + ( + # distinct commit from bit-error, but containing a + # non-corrupted version of the same blob + cd no-bit-error && + test_tick && + test_commit content + ) -expecting success of 1411.16 'empty reflog file': - git branch empty && - git reflog expire --expire=all refs/heads/empty && +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/bit-error/.git/ +[master (root-commit) 0df6d69] content + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 content.t +1+0 records in +1+0 records out +1 byte copied, 0.000118341 s, 8.5 kB/s +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/no-bit-error/.git/ +[master (root-commit) f374eba] content + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 content.t +ok 1 - setup corrupt repo - git log -g empty >actual && - test_must_be_empty actual +expecting success of 1060.2 'setup repo with missing object': + git init missing && + ( + cd missing && + test_commit content && + rm -f "$(obj_to_file HEAD:content.t)" + ) -ok 16 - empty reflog file +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/missing/.git/ +[master (root-commit) 0df6d69] content + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 content.t +ok 2 - setup repo with missing object -expecting success of 1411.17 'git log -g -p shows diffs vs. parents': - test_commit two && - git branch flipflop && - git update-ref refs/heads/flipflop -m flip1 HEAD^ && - git update-ref refs/heads/flipflop -m flop1 HEAD && - git update-ref refs/heads/flipflop -m flip2 HEAD^ && - git log -g -p flipflop >reflog && - grep -v ^Reflog reflog >actual && - git log -1 -p HEAD^ >log.one && - git log -1 -p HEAD >log.two && +expecting success of 1060.3 'setup repo with misnamed object': + git init misnamed && ( - cat log.one && echo && - cat log.two && echo && - cat log.one && echo && - cat log.two - ) >expect && - test_cmp expect actual + cd misnamed && + test_commit content && + good=$(obj_to_file HEAD:content.t) && + blob=$(echo corrupt | git hash-object -w --stdin) && + bad=$(obj_to_file $blob) && + rm -f "$good" && + mv "$bad" "$good" + ) -[master fc3e0aa] two +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/misnamed/.git/ +[master (root-commit) 0df6d69] content Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 two.t -ok 17 - git log -g -p shows diffs vs. parents + create mode 100644 content.t +ok 3 - setup repo with misnamed object -expecting success of 1411.18 'reflog exists works': - git reflog exists refs/heads/master && - ! git reflog exists refs/heads/nonexistent +expecting success of 1060.4 'streaming a corrupt blob fails': + ( + cd bit-error && + test_must_fail git cat-file blob HEAD:content.t + ) -ok 18 - reflog exists works +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in .git/objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt +ok 4 - streaming a corrupt blob fails -# passed all 18 test(s) -1..18 +expecting success of 1060.5 'getting type of a corrupt blob fails': + ( + cd bit-error && + test_must_fail git cat-file -s HEAD:content.t + ) + +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +fatal: git cat-file: could not get object info +ok 5 - getting type of a corrupt blob fails + +expecting success of 1060.6 'read-tree -u detects bit-errors in blobs': + ( + cd bit-error && + rm -f content.t && + test_must_fail git read-tree --reset -u HEAD + ) + +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in .git/objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt +ok 6 - read-tree -u detects bit-errors in blobs + +expecting success of 1060.7 'read-tree -u detects missing objects': + ( + cd missing && + rm -f content.t && + test_must_fail git read-tree --reset -u HEAD + ) + +error: unable to read sha1 file of content.t (d95f3ad14dee633a758d2e331151e950dd13e4ed) +ok 7 - read-tree -u detects missing objects + +expecting success of 1060.8 'clone --no-local --bare detects corruption': + test_must_fail git clone --no-local --bare bit-error corrupt-transport + +Cloning into bare repository 'corrupt-transport'... +error: git upload-pack: git-pack-objects died with error. +fatal: git upload-pack: aborting due to possible repository corruption on the remote side. +remote: error: inflate: data stream error (invalid distance too far back) +remote: error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +remote: error: inflate: data stream error (invalid distance too far back) +remote: error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +remote: fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in ./objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt +remote: aborting due to possible repository corruption on the remote side. +fatal: early EOF +fatal: index-pack failed +ok 8 - clone --no-local --bare detects corruption + +expecting success of 1060.9 'clone --no-local --bare detects missing object': + test_must_fail git clone --no-local --bare missing missing-transport + +Cloning into bare repository 'missing-transport'... +error: git upload-pack: git-pack-objects died with error. +fatal: git upload-pack: aborting due to possible repository corruption on the remote side. +remote: fatal: unable to read d95f3ad14dee633a758d2e331151e950dd13e4ed +remote: aborting due to possible repository corruption on the remote side. +fatal: early EOF +fatal: index-pack failed +ok 9 - clone --no-local --bare detects missing object + +expecting success of 1060.10 'clone --no-local --bare detects misnamed object': + test_must_fail git clone --no-local --bare misnamed misnamed-transport + +Cloning into bare repository 'misnamed-transport'... +fatal: did not receive expected object d95f3ad14dee633a758d2e331151e950dd13e4ed +fatal: index-pack failed +ok 10 - clone --no-local --bare detects misnamed object + +expecting success of 1060.11 'clone --local detects corruption': + test_must_fail git clone --local bit-error corrupt-checkout + +Cloning into 'corrupt-checkout'... +done. +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +error: inflate: data stream error (invalid distance too far back) +error: unable to unpack d95f3ad14dee633a758d2e331151e950dd13e4ed header +fatal: loose object d95f3ad14dee633a758d2e331151e950dd13e4ed (stored in /build/git-2.30.2/t/trash directory.t1060-object-corruption/corrupt-checkout/.git/objects/d9/5f3ad14dee633a758d2e331151e950dd13e4ed) is corrupt +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/' + +ok 11 - clone --local detects corruption + +expecting success of 1060.12 'error detected during checkout leaves repo intact': + test_path_is_dir corrupt-checkout/.git + +ok 12 - error detected during checkout leaves repo intact + +expecting success of 1060.13 'clone --local detects missing objects': + test_must_fail git clone --local missing missing-checkout + +Cloning into 'missing-checkout'... +done. +error: unable to read sha1 file of content.t (d95f3ad14dee633a758d2e331151e950dd13e4ed) +fatal: unable to checkout working tree +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/' + +ok 13 - clone --local detects missing objects + +checking known breakage of 1060.14 'clone --local detects misnamed objects': + test_must_fail git clone --local misnamed misnamed-checkout + +Cloning into 'misnamed-checkout'... +done. +test_must_fail: command succeeded: git clone --local misnamed misnamed-checkout +not ok 14 - clone --local detects misnamed objects # TODO known breakage + +expecting success of 1060.15 'fetch into corrupted repo with index-pack': + cp -R bit-error bit-error-cp && + test_when_finished "rm -rf bit-error-cp" && + ( + cd bit-error-cp && + test_must_fail git -c transfer.unpackLimit=1 \ + fetch ../no-bit-error 2>stderr && + test_i18ngrep ! -i collision stderr + ) + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +ok 15 - fetch into corrupted repo with index-pack + +expecting success of 1060.16 'internal tree objects are not "missing"': + git init missing-empty && + ( + cd missing-empty && + empty_tree=$(git hash-object -t tree /dev/null) && + commit=$(echo foo | git commit-tree $empty_tree) && + git rev-list --objects $commit + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1060-object-corruption/missing-empty/.git/ +2093db06f424f426e05da2ca90f40d2663e89387 +4b825dc642cb6eb9a060e54bf8d69288fbee4904 +ok 16 - internal tree objects are not "missing" + +# still have 1 known breakage(s) +# passed all remaining 15 test(s) +1..16 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' *** t1050-large.sh *** @@ -39784,167 +34394,215 @@ 1..27 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1416-ref-transaction-hooks.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1416-ref-transaction-hooks/.git/ -expecting success of 1416.1 'setup': - mkdir -p .git/hooks && - test_commit PRE && - PRE_OID=$(git rev-parse PRE) && - test_commit POST && - POST_OID=$(git rev-parse POST) +*** t1302-repo-version.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1302-repo-version/.git/ +expecting success of 1302.1 'setup': + test_oid_cache <<-\EOF && + version sha1:0 + version sha256:1 + EOF + cat >test.patch <<-\EOF && + diff --git a/test.txt b/test.txt + new file mode 100644 + --- /dev/null + +++ b/test.txt + @@ -0,0 +1 @@ + +123 + EOF -[master (root-commit) 63ac8e7] PRE - Author: A U Thor + test_create_repo "test" && + test_create_repo "test2" && + git config --file=test2/.git/config core.repositoryformatversion 99 + +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1302-repo-version/test/.git/ +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1302-repo-version/test2/.git/ +ok 1 - setup + +expecting success of 1302.2 'gitdir selection on normal repos': + echo $(test_oid version) >expect && + git config core.repositoryformatversion >actual && + git -C test config core.repositoryformatversion >actual2 && + test_cmp expect actual && + test_cmp expect actual2 + +ok 2 - gitdir selection on normal repos + +expecting success of 1302.3 'gitdir selection on unsupported repo': + # Make sure it would stop at test2, not trash + test_expect_code 1 git -C test2 config core.repositoryformatversion >actual + +warning: Expected git repo version <= 1, found 99 +ok 3 - gitdir selection on unsupported repo + +expecting success of 1302.4 'gitdir not required mode': + git apply --stat test.patch && + git -C test apply --stat ../test.patch && + git -C test2 apply --stat ../test.patch + + test.txt | 1 + 1 file changed, 1 insertion(+) - create mode 100644 PRE.t -[master 99d5316] POST - Author: A U Thor + test.txt | 1 + 1 file changed, 1 insertion(+) - create mode 100644 POST.t -ok 1 - setup +warning: Expected git repo version <= 1, found 99 +warning: ignoring git dir '.git': Expected git repo version <= 1, found 99 + test.txt | 1 + + 1 file changed, 1 insertion(+) +ok 4 - gitdir not required mode -expecting success of 1416.2 'hook allows updating ref if successful': - test_when_finished "rm .git/hooks/reference-transaction" && - git reset --hard PRE && - write_script .git/hooks/reference-transaction <<-\EOF && - echo "$*" >>actual - EOF - cat >expect <<-EOF && - prepared - committed - EOF - git update-ref HEAD POST && - test_cmp expect actual +expecting success of 1302.5 'gitdir required mode': + git apply --check --index test.patch && + git -C test apply --check --index ../test.patch && + test_must_fail git -C test2 apply --check --index ../test.patch -HEAD is now at 63ac8e7 PRE -ok 2 - hook allows updating ref if successful +warning: Expected git repo version <= 1, found 99 +warning: ignoring git dir '.git': Expected git repo version <= 1, found 99 +error: --index outside a repository +ok 5 - gitdir required mode -expecting success of 1416.3 'hook aborts updating ref in prepared state': - test_when_finished "rm .git/hooks/reference-transaction" && - git reset --hard PRE && - write_script .git/hooks/reference-transaction <<-\EOF && - if test "$1" = prepared - then - exit 1 - fi - EOF - test_must_fail git update-ref HEAD POST 2>err && - test_i18ngrep "ref updates aborted by hook" err +expecting success of 1302.6 'allow version=0 ': + mkconfig 0 >.git/config && + check_allow + +ok 6 - allow version=0 -HEAD is now at 63ac8e7 PRE -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1302.7 'allow version=1 ': + mkconfig 1 >.git/config && + check_allow + +ok 7 - allow version=1 -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 1302.8 'allow version=1 noop': + mkconfig 1 noop >.git/config && + check_allow + +ok 8 - allow version=1 noop -) -prerequisite C_LOCALE_OUTPUT ok -fatal: ref updates aborted by hook -ok 3 - hook aborts updating ref in prepared state +expecting success of 1302.9 'abort version=1 no-such-extension': + mkconfig 1 no-such-extension >.git/config && + check_abort + +fatal: unknown repository extensions found: + no-such-extension +ok 9 - abort version=1 no-such-extension -expecting success of 1416.4 'hook gets all queued updates in prepared state': - test_when_finished "rm .git/hooks/reference-transaction actual" && - git reset --hard PRE && - write_script .git/hooks/reference-transaction <<-\EOF && - if test "$1" = prepared - then - while read -r line - do - printf "%s\n" "$line" - done >actual - fi - EOF - cat >expect <<-EOF && - $ZERO_OID $POST_OID HEAD - $ZERO_OID $POST_OID refs/heads/master - EOF - git update-ref HEAD POST <<-EOF && - update HEAD $ZERO_OID $POST_OID - update refs/heads/master $ZERO_OID $POST_OID - EOF - test_cmp expect actual +expecting success of 1302.10 'allow version=0 no-such-extension': + mkconfig 0 no-such-extension >.git/config && + check_allow + +ok 10 - allow version=0 no-such-extension -HEAD is now at 63ac8e7 PRE -ok 4 - hook gets all queued updates in prepared state +expecting success of 1302.11 'allow version=0 noop': + mkconfig 0 noop >.git/config && + check_allow + +ok 11 - allow version=0 noop -expecting success of 1416.5 'hook gets all queued updates in committed state': - test_when_finished "rm .git/hooks/reference-transaction actual" && - git reset --hard PRE && - write_script .git/hooks/reference-transaction <<-\EOF && - if test "$1" = committed - then - while read -r line - do - printf "%s\n" "$line" - done >actual - fi - EOF - cat >expect <<-EOF && - $ZERO_OID $POST_OID HEAD - $ZERO_OID $POST_OID refs/heads/master - EOF - git update-ref HEAD POST && - test_cmp expect actual +expecting success of 1302.12 'abort version=0 noop-v1': + mkconfig 0 noop-v1 >.git/config && + check_abort + +fatal: repo version is 0, but v1-only extensions found: + noop-v1 +ok 12 - abort version=0 noop-v1 -HEAD is now at 63ac8e7 PRE -ok 5 - hook gets all queued updates in committed state +expecting success of 1302.13 'allow version=1 noop-v1': + mkconfig 1 noop-v1 >.git/config && + check_allow + +ok 13 - allow version=1 noop-v1 -expecting success of 1416.6 'hook gets all queued updates in aborted state': - test_when_finished "rm .git/hooks/reference-transaction actual" && - git reset --hard PRE && - write_script .git/hooks/reference-transaction <<-\EOF && - if test "$1" = aborted - then - while read -r line - do - printf "%s\n" "$line" - done >actual - fi - EOF - cat >expect <<-EOF && - $ZERO_OID $POST_OID HEAD - $ZERO_OID $POST_OID refs/heads/master - EOF - git update-ref --stdin <<-EOF && - start - update HEAD POST $ZERO_OID - update refs/heads/master POST $ZERO_OID - abort - EOF - test_cmp expect actual +expecting success of 1302.14 'precious-objects allowed': + mkconfig 1 preciousObjects >.git/config && + check_allow -HEAD is now at 63ac8e7 PRE -start: ok -abort: ok -ok 6 - hook gets all queued updates in aborted state +ok 14 - precious-objects allowed -expecting success of 1416.7 'interleaving hook calls succeed': - test_when_finished "rm -r target-repo.git" && +expecting success of 1302.15 'precious-objects blocks destructive repack': + test_must_fail git repack -ad - git init --bare target-repo.git && +fatal: cannot delete packs in a precious-objects repo +ok 15 - precious-objects blocks destructive repack - write_script target-repo.git/hooks/reference-transaction <<-\EOF && - echo $0 "$@" >>actual - EOF +expecting success of 1302.16 'other repacks are OK': + test_commit foo && + git repack - write_script target-repo.git/hooks/update <<-\EOF && - echo $0 "$@" >>actual - EOF +[master (root-commit) ddd63c9] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +ok 16 - other repacks are OK - cat >expect <<-EOF && - hooks/update refs/tags/PRE $ZERO_OID $PRE_OID - hooks/reference-transaction prepared - hooks/reference-transaction committed - hooks/update refs/tags/POST $ZERO_OID $POST_OID - hooks/reference-transaction prepared - hooks/reference-transaction committed - EOF +expecting success of 1302.17 'precious-objects blocks prune': + test_must_fail git prune - git push ./target-repo.git PRE POST && - test_cmp expect target-repo.git/actual +fatal: cannot prune in a precious-objects repo +ok 17 - precious-objects blocks prune + +expecting success of 1302.18 'gc runs without complaint': + git gc + +ok 18 - gc runs without complaint + +# passed all 18 test(s) +1..18 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1304-default-acl.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1304-default-acl/.git/ +expecting success of 1304.1 'checking for a working acl setup': + if setfacl -m d:m:rwx -m u:root:rwx . && + getfacl . | grep user:root:rwx && + touch should-have-readable-acl && + getfacl should-have-readable-acl | egrep "mask::?rw-" + then + test_set_prereq SETFACL + fi + +./test-lib.sh: line 937: setfacl: command not found +ok 1 - checking for a working acl setup + +ok 2 # skip Setup test repo (missing SETFACL) + +ok 3 # skip Objects creation does not break ACLs with restrictive umask (missing SETFACL) + +ok 4 # skip git gc does not break ACLs with restrictive umask (missing SETFACL) + +# passed all 4 test(s) +1..4 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1301-shared-repo.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/.git/ +expecting success of 1301.1 'shared = 0400 (faulty permission u-w)': + test_when_finished "rm -rf sub" && + mkdir sub && ( + cd sub && + test_must_fail git init --shared=0400 + ) + +fatal: problem with core.sharedRepository filemode value (0400). +The owner of files must always have read and write permissions. +ok 1 - shared = 0400 (faulty permission u-w) +expecting success of 1301.2 'shared=1 does not clear bits preset by umask 002': + mkdir sub && ( + cd sub && + umask $u && + git init --shared=1 && + test 1 = "$(git config core.sharedrepository)" + ) && + actual=$(ls -l sub/.git/HEAD) && + case "$actual" in + -rw-rw-r--*) + : happy + ;; + *) + echo Oops, .git/HEAD is not 0664 but $actual + false + ;; + esac + hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -39955,164 +34613,3469 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1416-ref-transaction-hooks/target-repo.git/ -To ./target-repo.git - * [new tag] PRE -> PRE - * [new tag] POST -> POST -ok 7 - interleaving hook calls succeed +Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ +ok 2 - shared=1 does not clear bits preset by umask 002 -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1402-check-ref-format.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1402-check-ref-format/.git/ -expecting success of 1402.1 'ref name '' is invalid': - test_must_fail git check-ref-format '' +expecting success of 1301.3 'shared=1 does not clear bits preset by umask 022': + mkdir sub && ( + cd sub && + umask $u && + git init --shared=1 && + test 1 = "$(git config core.sharedrepository)" + ) && + actual=$(ls -l sub/.git/HEAD) && + case "$actual" in + -rw-rw-r--*) + : happy + ;; + *) + echo Oops, .git/HEAD is not 0664 but $actual + false + ;; + esac -ok 1 - ref name '' is invalid +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ +ok 3 - shared=1 does not clear bits preset by umask 022 -expecting success of 1402.2 'ref name '/' is invalid': - test_must_fail git check-ref-format '/' - -ok 2 - ref name '/' is invalid +expecting success of 1301.4 'shared=all': + mkdir sub && + cd sub && + git init --shared=all && + test 2 = $(git config core.sharedrepository) -expecting success of 1402.3 'ref name '/' is invalid with options --allow-onelevel': - test_must_fail git check-ref-format --allow-onelevel '/' - -ok 3 - ref name '/' is invalid with options --allow-onelevel +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ +ok 4 - shared=all -expecting success of 1402.4 'ref name '/' is invalid with options --normalize': - test_must_fail git check-ref-format --normalize '/' - -ok 4 - ref name '/' is invalid with options --normalize +expecting success of 1301.5 'update-server-info honors core.sharedRepository': + : > a1 && + git add a1 && + test_tick && + git commit -m a1 && + umask 0277 && + git update-server-info && + actual="$(ls -l .git/info/refs)" && + case "$actual" in + -r--r--r--*) + : happy + ;; + *) + echo Oops, .git/info/refs is not 0444 + false + ;; + esac -expecting success of 1402.5 'ref name '/' is invalid with options --allow-onelevel --normalize': - test_must_fail git check-ref-format --allow-onelevel --normalize '/' - -ok 5 - ref name '/' is invalid with options --allow-onelevel --normalize +[master (root-commit) a2bd363] a1 + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 a1 +ok 5 - update-server-info honors core.sharedRepository -expecting success of 1402.6 'ref name 'foo/bar/baz' is valid': - git check-ref-format 'foo/bar/baz' - -ok 6 - ref name 'foo/bar/baz' is valid +expecting success of 1301.6 'shared = 0660 (r--r-----) ro': -expecting success of 1402.7 'ref name 'foo/bar/baz' is valid with options --normalize': - git check-ref-format --normalize 'foo/bar/baz' - -foo/bar/baz -ok 7 - ref name 'foo/bar/baz' is valid with options --normalize + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$y" -expecting success of 1402.8 'ref name 'refs///heads/foo' is invalid': - test_must_fail git check-ref-format 'refs///heads/foo' -ok 8 - ref name 'refs///heads/foo' is invalid +ok 6 - shared = 0660 (r--r-----) ro -expecting success of 1402.9 'ref name 'refs///heads/foo' is valid with options --normalize': - git check-ref-format --normalize 'refs///heads/foo' - -refs/heads/foo -ok 9 - ref name 'refs///heads/foo' is valid with options --normalize +expecting success of 1301.7 'shared = 0660 (rw-rw----) rw': -expecting success of 1402.10 'ref name 'heads/foo/' is invalid': - test_must_fail git check-ref-format 'heads/foo/' - -ok 10 - ref name 'heads/foo/' is invalid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$x" -expecting success of 1402.11 'ref name '/heads/foo' is invalid': - test_must_fail git check-ref-format '/heads/foo' -ok 11 - ref name '/heads/foo' is invalid +ok 7 - shared = 0660 (rw-rw----) rw -expecting success of 1402.12 'ref name '/heads/foo' is valid with options --normalize': - git check-ref-format --normalize '/heads/foo' - -heads/foo -ok 12 - ref name '/heads/foo' is valid with options --normalize +expecting success of 1301.8 'shared = 0640 (r--r-----) ro': -expecting success of 1402.13 'ref name '///heads/foo' is invalid': - test_must_fail git check-ref-format '///heads/foo' - -ok 13 - ref name '///heads/foo' is invalid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$y" -expecting success of 1402.14 'ref name '///heads/foo' is valid with options --normalize': - git check-ref-format --normalize '///heads/foo' -heads/foo -ok 14 - ref name '///heads/foo' is valid with options --normalize +ok 8 - shared = 0640 (r--r-----) ro -expecting success of 1402.15 'ref name './foo' is invalid': - test_must_fail git check-ref-format './foo' - -ok 15 - ref name './foo' is invalid +expecting success of 1301.9 'shared = 0640 (rw-r-----) rw': -expecting success of 1402.16 'ref name './foo/bar' is invalid': - test_must_fail git check-ref-format './foo/bar' - -ok 16 - ref name './foo/bar' is invalid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$x" -expecting success of 1402.17 'ref name 'foo/./bar' is invalid': - test_must_fail git check-ref-format 'foo/./bar' -ok 17 - ref name 'foo/./bar' is invalid +ok 9 - shared = 0640 (rw-r-----) rw -expecting success of 1402.18 'ref name 'foo/bar/.' is invalid': - test_must_fail git check-ref-format 'foo/bar/.' - -ok 18 - ref name 'foo/bar/.' is invalid +expecting success of 1301.10 'shared = 0600 (r--------) ro': -expecting success of 1402.19 'ref name '.refs/foo' is invalid': - test_must_fail git check-ref-format '.refs/foo' - -ok 19 - ref name '.refs/foo' is invalid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$y" -expecting success of 1402.20 'ref name 'refs/heads/foo.' is invalid': - test_must_fail git check-ref-format 'refs/heads/foo.' -ok 20 - ref name 'refs/heads/foo.' is invalid +ok 10 - shared = 0600 (r--------) ro -expecting success of 1402.21 'ref name 'heads/foo..bar' is invalid': - test_must_fail git check-ref-format 'heads/foo..bar' - -ok 21 - ref name 'heads/foo..bar' is invalid +expecting success of 1301.11 'shared = 0600 (rw-------) rw': -expecting success of 1402.22 'ref name 'heads/foo?bar' is invalid': - test_must_fail git check-ref-format 'heads/foo?bar' - -ok 22 - ref name 'heads/foo?bar' is invalid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$x" -expecting success of 1402.23 'ref name 'foo./bar' is valid': - git check-ref-format 'foo./bar' -ok 23 - ref name 'foo./bar' is valid +ok 11 - shared = 0600 (rw-------) rw -expecting success of 1402.24 'ref name 'heads/foo.lock' is invalid': - test_must_fail git check-ref-format 'heads/foo.lock' - -ok 24 - ref name 'heads/foo.lock' is invalid +expecting success of 1301.12 'shared = 0666 (r--r--r--) ro': -expecting success of 1402.25 'ref name 'heads///foo.lock' is invalid': - test_must_fail git check-ref-format 'heads///foo.lock' - -ok 25 - ref name 'heads///foo.lock' is invalid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$y" -expecting success of 1402.26 'ref name 'foo.lock/bar' is invalid': - test_must_fail git check-ref-format 'foo.lock/bar' -ok 26 - ref name 'foo.lock/bar' is invalid +ok 12 - shared = 0666 (r--r--r--) ro -expecting success of 1402.27 'ref name 'foo.lock///bar' is invalid': - test_must_fail git check-ref-format 'foo.lock///bar' - -ok 27 - ref name 'foo.lock///bar' is invalid +expecting success of 1301.13 'shared = 0666 (rw-rw-rw-) rw': -expecting success of 1402.28 'ref name 'heads/foo@bar' is valid': - git check-ref-format 'heads/foo@bar' - -ok 28 - ref name 'heads/foo@bar' is valid + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$x" -expecting success of 1402.29 'ref name 'heads/v@{ation' is invalid': - test_must_fail git check-ref-format 'heads/v@{ation' + +ok 13 - shared = 0666 (rw-rw-rw-) rw + +expecting success of 1301.14 'shared = 0664 (r--r--r--) ro': + + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$y" + + +ok 14 - shared = 0664 (r--r--r--) ro + +expecting success of 1301.15 'shared = 0664 (rw-rw-r--) rw': + + rm -f .git/info/refs && + git update-server-info && + actual="$(test_modebits .git/info/refs)" && + verbose test "x$actual" = "x-$x" + + +ok 15 - shared = 0664 (rw-rw-r--) rw + +expecting success of 1301.16 'info/refs respects umask in unshared repo': + rm -f .git/info/refs && + test_unconfig core.sharedrepository && + umask 002 && + git update-server-info && + echo "-rw-rw-r--" >expect && + test_modebits .git/info/refs >actual && + test_cmp expect actual + +ok 16 - info/refs respects umask in unshared repo + +expecting success of 1301.17 'git reflog expire honors core.sharedRepository': + umask 077 && + git config core.sharedRepository group && + git reflog expire --all && + actual="$(ls -l .git/logs/refs/heads/master)" && + case "$actual" in + -rw-rw-*) + : happy + ;; + *) + echo Ooops, .git/logs/refs/heads/master is not 0662 [$actual] + false + ;; + esac + +ok 17 - git reflog expire honors core.sharedRepository + +expecting success of 1301.18 'forced modes': + mkdir -p templates/hooks && + echo update-server-info >templates/hooks/post-update && + chmod +x templates/hooks/post-update && + echo : >random-file && + mkdir new && + ( + cd new && + umask 002 && + git init --shared=0660 --template=templates && + >frotz && + git add frotz && + git commit -a -m initial && + git repack + ) && + # List repository files meant to be protected; note that + # COMMIT_EDITMSG does not matter---0mode is not about a + # repository with a work tree. + find new/.git -type f -name COMMIT_EDITMSG -prune -o -print | + xargs ls -ld >actual && + + # Everything must be unaccessible to others + test -z "$(sed -e "/^.......---/d" actual)" && + + # All directories must have either 2770 or 770 + test -z "$(sed -n -e "/^drwxrw[sx]---/d" -e "/^d/p" actual)" && + + # post-update hook must be 0770 + test -z "$(sed -n -e "/post-update/{ + /^-rwxrwx---/d + p + }" actual)" && + + # All files inside objects must be accessible by us + test -z "$(sed -n -e "/objects\//{ + /^d/d + /^-r.-r.----/d + p + }" actual)" + +warning: templates not found in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/new/templates +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/new/.git/ +[master (root-commit) e4c5dc6] initial + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 frotz +ok 18 - forced modes + +expecting success of 1301.19 'remote init does not use config from cwd': + git config core.sharedrepository 0666 && + umask 0022 && + git init --bare child.git && + echo "-rw-r--r--" >expect && + test_modebits child.git/config >actual && + test_cmp expect actual + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ +ok 19 - remote init does not use config from cwd + +expecting success of 1301.20 're-init respects core.sharedrepository (local)': + git config core.sharedrepository 0666 && + umask 0022 && + echo whatever >templates/foo && + git init --template=templates && + echo "-rw-rw-rw-" >expect && + test_modebits .git/foo >actual && + test_cmp expect actual + +Reinitialized existing shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/.git/ +ok 20 - re-init respects core.sharedrepository (local) + +expecting success of 1301.21 're-init respects core.sharedrepository (remote)': + rm -rf child.git && + umask 0022 && + git init --bare --shared=0666 child.git && + test_path_is_missing child.git/foo && + git init --bare --template=templates child.git && + echo "-rw-rw-rw-" >expect && + test_modebits child.git/foo >actual && + test_cmp expect actual + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ +Reinitialized existing shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ +ok 21 - re-init respects core.sharedrepository (remote) + +expecting success of 1301.22 'template can set core.sharedrepository': + rm -rf child.git && + umask 0022 && + git config core.sharedrepository 0666 && + cp .git/config templates/config && + git init --bare --template=templates child.git && + echo "-rw-rw-rw-" >expect && + test_modebits child.git/HEAD >actual && + test_cmp expect actual + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty shared Git repository in /build/git-2.30.2/t/trash directory.t1301-shared-repo/sub/child.git/ +ok 22 - template can set core.sharedrepository + +# passed all 22 test(s) +1..22 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1303-wacky-config.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1303-wacky-config/.git/ +expecting success of 1303.1 'modify same key': + setup && + git config section.key bar && + check section.key bar + +ok 1 - modify same key + +expecting success of 1303.2 'add key in same section': + setup && + git config section.other bar && + check section.key foo && + check section.other bar + +ok 2 - add key in same section + +expecting success of 1303.3 'add key in different section': + setup && + git config section2.key bar && + check section.key foo && + check section2.key bar + +ok 3 - add key in different section + +expecting success of 1303.4 'make sure git config escapes section names properly': + git config "$SECTION" bar && + check "$SECTION" bar + +ok 4 - make sure git config escapes section names properly + +expecting success of 1303.5 'do not crash on special long config line': + setup && + git config section.key "$LONG_VALUE" && + check section.key "$LONG_VALUE" + +ok 5 - do not crash on special long config line + +expecting success of 1303.6 'get many entries': + setup_many && + git config --get-all section.key >actual && + test_line_count = 3126 actual + +ok 6 - get many entries + +expecting success of 1303.7 'get many entries by regex': + setup_many && + git config --get-regexp "sec.*ke." >actual && + test_line_count = 3126 actual + +ok 7 - get many entries by regex + +expecting success of 1303.8 'add and replace one of many entries': + setup_many && + git config --add section.key bar && + check_regex section.key "b.*r" bar && + git config section.key beer "b.*r" && + check_regex section.key "b.*r" beer + +ok 8 - add and replace one of many entries + +expecting success of 1303.9 'replace many entries': + setup_many && + git config --replace-all section.key bar && + check section.key bar + +ok 9 - replace many entries + +expecting success of 1303.10 'unset many entries': + setup_many && + git config --unset-all section.key && + test_must_fail git config section.key + +ok 10 - unset many entries + +expecting success of 1303.11 '--add appends new value after existing empty value': + cat >expect <<-\EOF && + + + fool + roll + EOF + cp .git/config .git/config.old && + test_when_finished "mv .git/config.old .git/config" && + cat >.git/config <<-\EOF && + [foo] + baz + baz = + baz = fool + EOF + git config --add foo.baz roll && + git config --get-all foo.baz >output && + test_cmp expect output + +ok 11 - --add appends new value after existing empty value + +# passed all 11 test(s) +1..11 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1306-xdg-files.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1306-xdg-files/.git/ +expecting success of 1306.1 'read config: xdg file exists and ~/.gitconfig doesn't': + mkdir -p .config/git && + echo "[alias]" >.config/git/config && + echo " myalias = !echo in_config" >>.config/git/config && + echo in_config >expected && + git myalias >actual && + test_cmp expected actual + +ok 1 - read config: xdg file exists and ~/.gitconfig doesn't + +expecting success of 1306.2 'read config: xdg file exists and ~/.gitconfig exists': + >.gitconfig && + echo "[alias]" >.gitconfig && + echo " myalias = !echo in_gitconfig" >>.gitconfig && + echo in_gitconfig >expected && + git myalias >actual && + test_cmp expected actual + +ok 2 - read config: xdg file exists and ~/.gitconfig exists + +expecting success of 1306.3 'read with --get: xdg file exists and ~/.gitconfig doesn't': + rm .gitconfig && + echo "[user]" >.config/git/config && + echo " name = read_config" >>.config/git/config && + echo read_config >expected && + git config --get user.name >actual && + test_cmp expected actual + +ok 3 - read with --get: xdg file exists and ~/.gitconfig doesn't + +expecting success of 1306.4 '"$XDG_CONFIG_HOME overrides $HOME/.config/git': + mkdir -p "$HOME"/xdg/git && + echo "[user]name = in_xdg" >"$HOME"/xdg/git/config && + echo in_xdg >expected && + XDG_CONFIG_HOME="$HOME"/xdg git config --get-all user.name >actual && + test_cmp expected actual + +ok 4 - "$XDG_CONFIG_HOME overrides $HOME/.config/git + +expecting success of 1306.5 'read with --get: xdg file exists and ~/.gitconfig exists': + >.gitconfig && + echo "[user]" >.gitconfig && + echo " name = read_gitconfig" >>.gitconfig && + echo read_gitconfig >expected && + git config --get user.name >actual && + test_cmp expected actual + +ok 5 - read with --get: xdg file exists and ~/.gitconfig exists + +expecting success of 1306.6 'read with --list: xdg file exists and ~/.gitconfig doesn't': + rm .gitconfig && + echo user.name=read_config >expected && + git config --global --list >actual && + test_cmp expected actual + +ok 6 - read with --list: xdg file exists and ~/.gitconfig doesn't + +expecting success of 1306.7 'read with --list: xdg file exists and ~/.gitconfig exists': + >.gitconfig && + echo "[user]" >.gitconfig && + echo " name = read_gitconfig" >>.gitconfig && + echo user.name=read_gitconfig >expected && + git config --global --list >actual && + test_cmp expected actual + +ok 7 - read with --list: xdg file exists and ~/.gitconfig exists + +expecting success of 1306.8 'Setup': + git init git && + cd git && + echo foo >to_be_excluded + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1306-xdg-files/git/.git/ +ok 8 - Setup + +expecting success of 1306.9 'Exclusion of a file in the XDG ignore file': + mkdir -p "$HOME"/.config/git/ && + echo to_be_excluded >"$HOME"/.config/git/ignore && + test_must_fail git add to_be_excluded + +The following paths are ignored by one of your .gitignore files: +to_be_excluded +hint: Use -f if you really want to add them. +hint: Turn this message off by running +hint: "git config advice.addIgnoredFile false" +ok 9 - Exclusion of a file in the XDG ignore file + +expecting success of 1306.10 '$XDG_CONFIG_HOME overrides $HOME/.config/git/ignore': + mkdir -p "$HOME"/xdg/git && + echo content >excluded_by_xdg_only && + echo excluded_by_xdg_only >"$HOME"/xdg/git/ignore && + test_when_finished "git read-tree --empty" && + (XDG_CONFIG_HOME="$HOME/xdg" && + export XDG_CONFIG_HOME && + git add to_be_excluded && + test_must_fail git add excluded_by_xdg_only + ) + +The following paths are ignored by one of your .gitignore files: +excluded_by_xdg_only +hint: Use -f if you really want to add them. +hint: Turn this message off by running +hint: "git config advice.addIgnoredFile false" +ok 10 - $XDG_CONFIG_HOME overrides $HOME/.config/git/ignore + +expecting success of 1306.11 'Exclusion in both XDG and local ignore files': + echo to_be_excluded >.gitignore && + test_must_fail git add to_be_excluded + +The following paths are ignored by one of your .gitignore files: +to_be_excluded +hint: Use -f if you really want to add them. +hint: Turn this message off by running +hint: "git config advice.addIgnoredFile false" +ok 11 - Exclusion in both XDG and local ignore files + +expecting success of 1306.12 'Exclusion in a non-XDG global ignore file': + rm .gitignore && + echo >"$HOME"/.config/git/ignore && + echo to_be_excluded >"$HOME"/my_gitignore && + git config core.excludesfile "$HOME"/my_gitignore && + test_must_fail git add to_be_excluded + +The following paths are ignored by one of your .gitignore files: +to_be_excluded +hint: Use -f if you really want to add them. +hint: Turn this message off by running +hint: "git config advice.addIgnoredFile false" +ok 12 - Exclusion in a non-XDG global ignore file + +expecting success of 1306.13 'Checking XDG ignore file when HOME is unset': + (sane_unset HOME && + git config --unset core.excludesfile && + git ls-files --exclude-standard --ignored >actual) && + test_must_be_empty actual + +ok 13 - Checking XDG ignore file when HOME is unset + +expecting success of 1306.14 'Checking attributes in the XDG attributes file': + echo foo >f && + git check-attr -a f >actual && + test_line_count -eq 0 actual && + echo "f attr_f" >"$HOME"/.config/git/attributes && + echo "f: attr_f: set" >expected && + git check-attr -a f >actual && + test_cmp expected actual + +ok 14 - Checking attributes in the XDG attributes file + +expecting success of 1306.15 'Checking XDG attributes when HOME is unset': + (sane_unset HOME && + git check-attr -a f >actual) && + test_must_be_empty actual + +ok 15 - Checking XDG attributes when HOME is unset + +expecting success of 1306.16 '$XDG_CONFIG_HOME overrides $HOME/.config/git/attributes': + mkdir -p "$HOME"/xdg/git && + echo "f attr_f=xdg" >"$HOME"/xdg/git/attributes && + echo "f: attr_f: xdg" >expected && + XDG_CONFIG_HOME="$HOME/xdg" git check-attr -a f >actual && + test_cmp expected actual + +ok 16 - $XDG_CONFIG_HOME overrides $HOME/.config/git/attributes + +expecting success of 1306.17 'Checking attributes in both XDG and local attributes files': + echo "f -attr_f" >.gitattributes && + echo "f: attr_f: unset" >expected && + git check-attr -a f >actual && + test_cmp expected actual + +ok 17 - Checking attributes in both XDG and local attributes files + +expecting success of 1306.18 'Checking attributes in a non-XDG global attributes file': + rm -f .gitattributes && + echo "f attr_f=test" >"$HOME"/my_gitattributes && + git config core.attributesfile "$HOME"/my_gitattributes && + echo "f: attr_f: test" >expected && + git check-attr -a f >actual && + test_cmp expected actual + +ok 18 - Checking attributes in a non-XDG global attributes file + +expecting success of 1306.19 'write: xdg file exists and ~/.gitconfig doesn't': + mkdir -p "$HOME"/.config/git && + >"$HOME"/.config/git/config && + rm -f "$HOME"/.gitconfig && + git config --global user.name "write_config" && + echo "[user]" >expected && + echo " name = write_config" >>expected && + test_cmp expected "$HOME"/.config/git/config + +ok 19 - write: xdg file exists and ~/.gitconfig doesn't + +expecting success of 1306.20 'write: xdg file exists and ~/.gitconfig exists': + >"$HOME"/.gitconfig && + git config --global user.name "write_gitconfig" && + echo "[user]" >expected && + echo " name = write_gitconfig" >>expected && + test_cmp expected "$HOME"/.gitconfig + +ok 20 - write: xdg file exists and ~/.gitconfig exists + +expecting success of 1306.21 'write: ~/.config/git/ exists and config file doesn't': + rm -f "$HOME"/.gitconfig && + rm -f "$HOME"/.config/git/config && + git config --global user.name "write_gitconfig" && + echo "[user]" >expected && + echo " name = write_gitconfig" >>expected && + test_cmp expected "$HOME"/.gitconfig + +ok 21 - write: ~/.config/git/ exists and config file doesn't + +# passed all 21 test(s) +1..21 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1307-config-blob.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1307-config-blob/.git/ +expecting success of 1307.1 'create config blob': + cat >config <<-\EOF && + [some] + value = 1 + EOF + git add config && + git commit -m foo + +[master (root-commit) 5571afa] foo + Author: A U Thor + 1 file changed, 2 insertions(+) + create mode 100644 config +ok 1 - create config blob + +expecting success of 1307.2 'list config blob contents': + echo some.value=1 >expect && + git config --blob=HEAD:config --list >actual && + test_cmp expect actual + +ok 2 - list config blob contents + +expecting success of 1307.3 'fetch value from blob': + echo true >expect && + git config --blob=HEAD:config --bool some.value >actual && + test_cmp expect actual + +ok 3 - fetch value from blob + +expecting success of 1307.4 'reading non-existing value from blob is an error': + test_must_fail git config --blob=HEAD:config non.existing + +ok 4 - reading non-existing value from blob is an error + +expecting success of 1307.5 'reading from blob and file is an error': + test_must_fail git config --blob=HEAD:config --system --list + +error: only one config file at a time +usage: git config [] + +Config file location + --global use global config file + --system use system config file + --local use repository config file + --worktree use per-worktree config file + -f, --file use given config file + --blob read config from given blob object + +Action + --get get value: name [value-pattern] + --get-all get all values: key [value-pattern] + --get-regexp get values for regexp: name-regex [value-pattern] + --get-urlmatch get value specific for the URL: section[.var] URL + --replace-all replace all matching variables: name value [value-pattern] + --add add a new variable: name value + --unset remove a variable: name [value-pattern] + --unset-all remove all matches: name [value-pattern] + --rename-section rename section: old-name new-name + --remove-section remove a section: name + -l, --list list all + --fixed-value use string equality when comparing values to 'value-pattern' + -e, --edit open an editor + --get-color find the color configured: slot [default] + --get-colorbool find the color setting: slot [stdout-is-tty] + +Type + -t, --type <> value is given this type + --bool value is "true" or "false" + --int value is decimal number + --bool-or-int value is --bool or --int + --bool-or-str value is --bool or string + --path value is a path (file or directory name) + --expiry-date value is an expiry date + +Other + -z, --null terminate values with NUL byte + --name-only show variable names only + --includes respect include directives on lookup + --show-origin show origin of config (file, standard input, blob, command line) + --show-scope show scope of config (worktree, local, global, system, command) + --default with --get, use default value when missing entry + +ok 5 - reading from blob and file is an error + +expecting success of 1307.6 'reading from missing ref is an error': + test_must_fail git config --blob=HEAD:doesnotexist --list + +error: unable to resolve config blob 'HEAD:doesnotexist' +fatal: error processing config file(s) +ok 6 - reading from missing ref is an error + +expecting success of 1307.7 'reading from non-blob is an error': + test_must_fail git config --blob=HEAD --list + +error: reference 'HEAD' does not point to a blob +fatal: error processing config file(s) +ok 7 - reading from non-blob is an error + +expecting success of 1307.8 'setting a value in a blob is an error': + test_must_fail git config --blob=HEAD:config some.value foo + +fatal: writing config blobs is not supported +ok 8 - setting a value in a blob is an error + +expecting success of 1307.9 'deleting a value in a blob is an error': + test_must_fail git config --blob=HEAD:config --unset some.value + +fatal: writing config blobs is not supported +ok 9 - deleting a value in a blob is an error + +expecting success of 1307.10 'editing a blob is an error': + test_must_fail git config --blob=HEAD:config --edit + +fatal: editing blobs is not supported +ok 10 - editing a blob is an error + +expecting success of 1307.11 'parse errors in blobs are properly attributed': + cat >config <<-\EOF && + [some] + value = " + EOF + git add config && + git commit -m broken && + + test_must_fail git config --blob=HEAD:config some.value 2>err && + test_i18ngrep "HEAD:config" err + +[master 91b4611] broken + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +error: bad config line 2 in blob HEAD:config +ok 11 - parse errors in blobs are properly attributed + +expecting success of 1307.12 'can parse blob ending with CR': + printf "[some]key = value\\r" >config && + git add config && + git commit -m CR && + echo value >expect && + git config --blob=HEAD:config some.key >actual && + test_cmp expect actual + +[master 2e1cb03] CR + Author: A U Thor + 1 file changed, 1 insertion(+), 2 deletions(-) +ok 12 - can parse blob ending with CR + +expecting success of 1307.13 'config --blob outside of a repository is an error': + nongit test_must_fail git config --blob=foo --list + +fatal: --blob can only be used inside a git repository +ok 13 - config --blob outside of a repository is an error + +# passed all 13 test(s) +1..13 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1305-config-include.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/.git/ +expecting success of 1305.1 'include file by absolute path': + echo "[test]one = 1" >one && + echo "[include]path = \"$(pwd)/one\"" >.gitconfig && + echo 1 >expect && + git config test.one >actual && + test_cmp expect actual + +ok 1 - include file by absolute path + +expecting success of 1305.2 'include file by relative path': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + echo 1 >expect && + git config test.one >actual && + test_cmp expect actual + +ok 2 - include file by relative path + +expecting success of 1305.3 'chained relative paths': + mkdir subdir && + echo "[test]three = 3" >subdir/three && + echo "[include]path = three" >subdir/two && + echo "[include]path = subdir/two" >.gitconfig && + echo 3 >expect && + git config test.three >actual && + test_cmp expect actual + +ok 3 - chained relative paths + +expecting success of 1305.4 'include paths get tilde-expansion': + echo "[test]one = 1" >one && + echo "[include]path = ~/one" >.gitconfig && + echo 1 >expect && + git config test.one >actual && + test_cmp expect actual + +ok 4 - include paths get tilde-expansion + +expecting success of 1305.5 'include options can still be examined': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + echo one >expect && + git config include.path >actual && + test_cmp expect actual + +ok 5 - include options can still be examined + +expecting success of 1305.6 'listing includes option and expansion': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + cat >expect <<-\EOF && + include.path=one + test.one=1 + EOF + git config --list >actual.full && + grep -v -e ^core -e ^extensions actual.full >actual && + test_cmp expect actual + +ok 6 - listing includes option and expansion + +expecting success of 1305.7 'single file lookup does not expand includes by default': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + test_must_fail git config -f .gitconfig test.one && + test_must_fail git config --global test.one && + echo 1 >expect && + git config --includes -f .gitconfig test.one >actual && + test_cmp expect actual + +ok 7 - single file lookup does not expand includes by default + +expecting success of 1305.8 'single file list does not expand includes by default': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + echo "include.path=one" >expect && + git config -f .gitconfig --list >actual && + test_cmp expect actual + +ok 8 - single file list does not expand includes by default + +expecting success of 1305.9 'writing config file does not expand includes': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + git config test.two 2 && + echo 2 >expect && + git config --no-includes test.two >actual && + test_cmp expect actual && + test_must_fail git config --no-includes test.one + +ok 9 - writing config file does not expand includes + +expecting success of 1305.10 'config modification does not affect includes': + echo "[test]one = 1" >one && + echo "[include]path = one" >.gitconfig && + git config test.one 2 && + echo 1 >expect && + git config -f one test.one >actual && + test_cmp expect actual && + cat >expect <<-\EOF && + 1 + 2 + EOF + git config --get-all test.one >actual && + test_cmp expect actual + +ok 10 - config modification does not affect includes + +expecting success of 1305.11 'missing include files are ignored': + cat >.gitconfig <<-\EOF && + [include]path = non-existent + [test]value = yes + EOF + echo yes >expect && + git config test.value >actual && + test_cmp expect actual + +ok 11 - missing include files are ignored + +expecting success of 1305.12 'absolute includes from command line work': + echo "[test]one = 1" >one && + echo 1 >expect && + git -c include.path="$(pwd)/one" config test.one >actual && + test_cmp expect actual + +ok 12 - absolute includes from command line work + +expecting success of 1305.13 'relative includes from command line fail': + echo "[test]one = 1" >one && + test_must_fail git -c include.path=one config test.one + +error: relative config includes must come from files +fatal: unable to parse command-line config +ok 13 - relative includes from command line fail + +expecting success of 1305.14 'absolute includes from blobs work': + echo "[test]one = 1" >one && + echo "[include]path=$(pwd)/one" >blob && + blob=$(git hash-object -w blob) && + echo 1 >expect && + git config --blob=$blob test.one >actual && + test_cmp expect actual + +ok 14 - absolute includes from blobs work + +expecting success of 1305.15 'relative includes from blobs fail': + echo "[test]one = 1" >one && + echo "[include]path=one" >blob && + blob=$(git hash-object -w blob) && + test_must_fail git config --blob=$blob test.one + +error: relative config includes must come from files +error: bad config line 1 in blob d085876092eb24c144128bcd5db5d26e665f4f8a +ok 15 - relative includes from blobs fail + +expecting success of 1305.16 'absolute includes from stdin work': + echo "[test]one = 1" >one && + echo 1 >expect && + echo "[include]path=\"$(pwd)/one\"" | + git config --file - test.one >actual && + test_cmp expect actual + +ok 16 - absolute includes from stdin work + +expecting success of 1305.17 'relative includes from stdin line fail': + echo "[test]one = 1" >one && + echo "[include]path=one" | + test_must_fail git config --file - test.one + +error: relative config includes must come from files +fatal: bad config line 1 in standard input +ok 17 - relative includes from stdin line fail + +expecting success of 1305.18 'conditional include, both unanchored': + git init foo && + ( + cd foo && + echo "[includeIf \"gitdir:foo/\"]path=bar" >>.git/config && + echo "[test]one=1" >.git/bar && + echo 1 >expect && + git config test.one >actual && + test_cmp expect actual + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/foo/.git/ +ok 18 - conditional include, both unanchored + +expecting success of 1305.19 'conditional include, $HOME expansion': + ( + cd foo && + echo "[includeIf \"gitdir:~/foo/\"]path=bar2" >>.git/config && + echo "[test]two=2" >.git/bar2 && + echo 2 >expect && + git config test.two >actual && + test_cmp expect actual + ) + +ok 19 - conditional include, $HOME expansion + +expecting success of 1305.20 'conditional include, full pattern': + ( + cd foo && + echo "[includeIf \"gitdir:**/foo/**\"]path=bar3" >>.git/config && + echo "[test]three=3" >.git/bar3 && + echo 3 >expect && + git config test.three >actual && + test_cmp expect actual + ) + +ok 20 - conditional include, full pattern + +expecting success of 1305.21 'conditional include, relative path': + echo "[includeIf \"gitdir:./foo/.git\"]path=bar4" >>.gitconfig && + echo "[test]four=4" >bar4 && + ( + cd foo && + echo 4 >expect && + git config test.four >actual && + test_cmp expect actual + ) + +ok 21 - conditional include, relative path + +expecting success of 1305.22 'conditional include, both unanchored, icase': + ( + cd foo && + echo "[includeIf \"gitdir/i:FOO/\"]path=bar5" >>.git/config && + echo "[test]five=5" >.git/bar5 && + echo 5 >expect && + git config test.five >actual && + test_cmp expect actual + ) + +ok 22 - conditional include, both unanchored, icase + +expecting success of 1305.23 'conditional include, early config reading': + ( + cd foo && + echo "[includeIf \"gitdir:foo/\"]path=bar6" >>.git/config && + echo "[test]six=6" >.git/bar6 && + echo 6 >expect && + test-tool config read_early_config test.six >actual && + test_cmp expect actual + ) + +ok 23 - conditional include, early config reading + +expecting success of 1305.24 'conditional include with /**/': + REPO=foo/bar/repo && + git init $REPO && + cat >>$REPO/.git/config <<-\EOF && + [includeIf "gitdir:**/foo/**/bar/**"] + path=bar7 + EOF + echo "[test]seven=7" >$REPO/.git/bar7 && + echo 7 >expect && + git -C $REPO config test.seven >actual && + test_cmp expect actual + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/foo/bar/repo/.git/ +ok 24 - conditional include with /**/ + +checking prerequisite: SYMLINKS + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y + +) +prerequisite SYMLINKS ok +expecting success of 1305.25 'conditional include, set up symlinked $HOME': + mkdir real-home && + ln -s real-home home && + ( + HOME="$TRASH_DIRECTORY/home" && + export HOME && + cd "$HOME" && + + git init foo && + cd foo && + mkdir sub + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/real-home/foo/.git/ +ok 25 - conditional include, set up symlinked $HOME + +expecting success of 1305.26 'conditional include, $HOME expansion with symlinks': + ( + HOME="$TRASH_DIRECTORY/home" && + export HOME && + cd "$HOME"/foo && + + echo "[includeIf \"gitdir:~/foo/\"]path=bar2" >>.git/config && + echo "[test]two=2" >.git/bar2 && + echo 2 >expect && + force_setup_explicit_git_dir && + git -C sub config test.two >actual && + test_cmp expect actual + ) + +ok 26 - conditional include, $HOME expansion with symlinks + +expecting success of 1305.27 'conditional include, relative path with symlinks': + echo "[includeIf \"gitdir:./foo/.git\"]path=bar4" >home/.gitconfig && + echo "[test]four=4" >home/bar4 && + ( + HOME="$TRASH_DIRECTORY/home" && + export HOME && + cd "$HOME"/foo && + + echo 4 >expect && + force_setup_explicit_git_dir && + git -C sub config test.four >actual && + test_cmp expect actual + ) + +ok 27 - conditional include, relative path with symlinks + +expecting success of 1305.28 'conditional include, gitdir matching symlink': + ln -s foo bar && + ( + cd bar && + echo "[includeIf \"gitdir:bar/\"]path=bar7" >>.git/config && + echo "[test]seven=7" >.git/bar7 && + echo 7 >expect && + git config test.seven >actual && + test_cmp expect actual + ) + +ok 28 - conditional include, gitdir matching symlink + +expecting success of 1305.29 'conditional include, gitdir matching symlink, icase': + ( + cd bar && + echo "[includeIf \"gitdir/i:BAR/\"]path=bar8" >>.git/config && + echo "[test]eight=8" >.git/bar8 && + echo 8 >expect && + git config test.eight >actual && + test_cmp expect actual + ) + +ok 29 - conditional include, gitdir matching symlink, icase + +expecting success of 1305.30 'conditional include, onbranch': + echo "[includeIf \"onbranch:foo-branch\"]path=bar9" >>.git/config && + echo "[test]nine=9" >.git/bar9 && + git checkout -b master && + test_must_fail git config test.nine && + git checkout -b foo-branch && + echo 9 >expect && + git config test.nine >actual && + test_cmp expect actual + +Switched to a new branch 'master' +Switched to a new branch 'foo-branch' +ok 30 - conditional include, onbranch + +expecting success of 1305.31 'conditional include, onbranch, wildcard': + echo "[includeIf \"onbranch:?oo-*/**\"]path=bar10" >>.git/config && + echo "[test]ten=10" >.git/bar10 && + git checkout -b not-foo-branch/a && + test_must_fail git config test.ten && + + echo 10 >expect && + git checkout -b foo-branch/a/b/c && + git config test.ten >actual && + test_cmp expect actual && + + git checkout -b moo-bar/a && + git config test.ten >actual && + test_cmp expect actual + +Switched to a new branch 'not-foo-branch/a' +Switched to a new branch 'foo-branch/a/b/c' +Switched to a new branch 'moo-bar/a' +ok 31 - conditional include, onbranch, wildcard + +expecting success of 1305.32 'conditional include, onbranch, implicit /** for /': + echo "[includeIf \"onbranch:foo-dir/\"]path=bar11" >>.git/config && + echo "[test]eleven=11" >.git/bar11 && + git checkout -b not-foo-dir/a && + test_must_fail git config test.eleven && + + echo 11 >expect && + git checkout -b foo-dir/a/b/c && + git config test.eleven >actual && + test_cmp expect actual + +Switched to a new branch 'not-foo-dir/a' +Switched to a new branch 'foo-dir/a/b/c' +ok 32 - conditional include, onbranch, implicit /** for / + +expecting success of 1305.33 'include cycles are detected': + git init --bare cycle && + git -C cycle config include.path cycle && + git config -f cycle/cycle include.path config && + test_must_fail \ + env GIT_TEST_GETTEXT_POISON=false \ + git -C cycle config --get-all test.value 2>stderr && + grep "exceeded maximum include depth" stderr + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1305-config-include/cycle/ +fatal: exceeded maximum include depth (10) while including +ok 33 - include cycles are detected + +# passed all 33 test(s) +1..33 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1091-sparse-checkout-builtin.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/.git/ +expecting success of 1091.1 'setup': + git init repo && + ( + cd repo && + echo "initial" >a && + mkdir folder1 folder2 deep && + mkdir deep/deeper1 deep/deeper2 && + mkdir deep/deeper1/deepest && + cp a folder1 && + cp a folder2 && + cp a deep && + cp a deep/deeper1 && + cp a deep/deeper2 && + cp a deep/deeper1/deepest && + git add . && + git commit -m "initial commit" + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/repo/.git/ +[master (root-commit) ebf8b57] initial commit + Author: A U Thor + 7 files changed, 7 insertions(+) + create mode 100644 a + create mode 100644 deep/a + create mode 100644 deep/deeper1/a + create mode 100644 deep/deeper1/deepest/a + create mode 100644 deep/deeper2/a + create mode 100644 folder1/a + create mode 100644 folder2/a +ok 1 - setup + +expecting success of 1091.2 'git sparse-checkout list (empty)': + git -C repo sparse-checkout list >list 2>err && + test_must_be_empty list && + test_i18ngrep "this worktree is not sparse (sparse-checkout file may not exist)" err + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +warning: this worktree is not sparse (sparse-checkout file may not exist) +ok 2 - git sparse-checkout list (empty) + +expecting success of 1091.3 'git sparse-checkout list (populated)': + test_when_finished rm -f repo/.git/info/sparse-checkout && + cat >repo/.git/info/sparse-checkout <<-\EOF && + /folder1/* + /deep/ + **/a + !*bin* + EOF + cp repo/.git/info/sparse-checkout expect && + git -C repo sparse-checkout list >list && + test_cmp expect list + +ok 3 - git sparse-checkout list (populated) + +expecting success of 1091.4 'git sparse-checkout init': + git -C repo sparse-checkout init && + cat >expect <<-\EOF && + /* + !/*/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + test_cmp_config -C repo true core.sparsecheckout && + check_files repo a + +ok 4 - git sparse-checkout init + +expecting success of 1091.5 'git sparse-checkout list after init': + git -C repo sparse-checkout list >actual && + cat >expect <<-\EOF && + /* + !/*/ + EOF + test_cmp expect actual + +ok 5 - git sparse-checkout list after init + +expecting success of 1091.6 'init with existing sparse-checkout': + echo "*folder*" >> repo/.git/info/sparse-checkout && + git -C repo sparse-checkout init && + cat >expect <<-\EOF && + /* + !/*/ + *folder* + EOF + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a folder1 folder2 + +ok 6 - init with existing sparse-checkout + +expecting success of 1091.7 'clone --sparse': + git clone --sparse "file://$(pwd)/repo" clone && + git -C clone sparse-checkout list >actual && + cat >expect <<-\EOF && + /* + !/*/ + EOF + test_cmp expect actual && + check_files clone a + +Cloning into 'clone'... +ok 7 - clone --sparse + +expecting success of 1091.8 'interaction with clone --no-checkout (unborn index)': + git clone --no-checkout "file://$(pwd)/repo" clone_no_checkout && + git -C clone_no_checkout sparse-checkout init --cone && + git -C clone_no_checkout sparse-checkout set folder1 && + + git -C clone_no_checkout sparse-checkout list >actual && + cat >expect <<-\EOF && + folder1 + EOF + test_cmp expect actual && + + # nothing checked out, expect "No such file or directory" + ! ls clone_no_checkout/* >actual && + test_must_be_empty actual && + test_path_is_missing clone_no_checkout/.git/index && + + # No branch is checked out until we manually switch to one + git -C clone_no_checkout switch master && + test_path_is_file clone_no_checkout/.git/index && + check_files clone_no_checkout a folder1 + +Cloning into 'clone_no_checkout'... +ls: cannot access 'clone_no_checkout/*': No such file or directory +Already on 'master' +Your branch is up to date with 'origin/master'. +ok 8 - interaction with clone --no-checkout (unborn index) + +expecting success of 1091.9 'set enables config': + git init empty-config && + ( + cd empty-config && + test_commit test file && + test_path_is_missing .git/config.worktree && + git sparse-checkout set nothing && + test_path_is_file .git/config.worktree && + test_cmp_config true core.sparseCheckout + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/empty-config/.git/ +[master (root-commit) 236e830] test + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 file +ok 9 - set enables config + +expecting success of 1091.10 'set sparse-checkout using builtin': + git -C repo sparse-checkout set "/*" "!/*/" "*folder*" && + cat >expect <<-\EOF && + /* + !/*/ + *folder* + EOF + git -C repo sparse-checkout list >actual && + test_cmp expect actual && + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a folder1 folder2 + +ok 10 - set sparse-checkout using builtin + +expecting success of 1091.11 'set sparse-checkout using --stdin': + cat >expect <<-\EOF && + /* + !/*/ + /folder1/ + /folder2/ + EOF + git -C repo sparse-checkout set --stdin actual && + test_cmp expect actual && + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo "a folder1 folder2" + +ok 11 - set sparse-checkout using --stdin + +expecting success of 1091.12 'add to sparse-checkout': + cat repo/.git/info/sparse-checkout >expect && + cat >add <<-\EOF && + pattern1 + /folder1/ + pattern2 + EOF + cat add >>expect && + git -C repo sparse-checkout add --stdin actual && + test_cmp expect actual && + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo "a folder1 folder2" + +ok 12 - add to sparse-checkout + +expecting success of 1091.13 'cone mode: match patterns': + git -C repo config --worktree core.sparseCheckoutCone true && + rm -rf repo/a repo/folder1 repo/folder2 && + git -C repo read-tree -mu HEAD 2>err && + test_i18ngrep ! "disabling cone patterns" err && + git -C repo reset --hard && + check_files repo a folder1 folder2 + +HEAD is now at ebf8b57 initial commit +ok 13 - cone mode: match patterns + +expecting success of 1091.14 'cone mode: warn on bad pattern': + test_when_finished mv sparse-checkout repo/.git/info/ && + cp repo/.git/info/sparse-checkout . && + echo "!/deep/deeper/*" >>repo/.git/info/sparse-checkout && + git -C repo read-tree -mu HEAD 2>err && + test_i18ngrep "unrecognized negative pattern" err + +warning: unrecognized negative pattern: '/deep/deeper/*' +ok 14 - cone mode: warn on bad pattern + +expecting success of 1091.15 'sparse-checkout disable': + test_when_finished rm -rf repo/.git/info/sparse-checkout && + git -C repo sparse-checkout disable && + test_path_is_file repo/.git/info/sparse-checkout && + git -C repo config --list >config && + test_must_fail git config core.sparseCheckout && + check_files repo a deep folder1 folder2 + +ok 15 - sparse-checkout disable + +expecting success of 1091.16 'cone mode: init and set': + git -C repo sparse-checkout init --cone && + git -C repo config --list >config && + test_i18ngrep "core.sparsecheckoutcone=true" config && + list_files repo >dir && + echo a >expect && + test_cmp expect dir && + git -C repo sparse-checkout set deep/deeper1/deepest/ 2>err && + test_must_be_empty err && + check_files repo a deep && + check_files repo/deep a deeper1 && + check_files repo/deep/deeper1 a deepest && + cat >expect <<-\EOF && + /* + !/*/ + /deep/ + !/deep/*/ + /deep/deeper1/ + !/deep/deeper1/*/ + /deep/deeper1/deepest/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + git -C repo sparse-checkout set --stdin 2>err <<-\EOF && + folder1 + folder2 + EOF + test_must_be_empty err && + check_files repo a folder1 folder2 + +core.sparsecheckoutcone=true +ok 16 - cone mode: init and set + +expecting success of 1091.17 'cone mode: list': + cat >expect <<-\EOF && + folder1 + folder2 + EOF + git -C repo sparse-checkout set --stdin actual 2>err && + test_must_be_empty err && + test_cmp expect actual + +ok 17 - cone mode: list + +expecting success of 1091.18 'cone mode: set with nested folders': + git -C repo sparse-checkout set deep deep/deeper1/deepest 2>err && + test_line_count = 0 err && + cat >expect <<-\EOF && + /* + !/*/ + /deep/ + EOF + test_cmp repo/.git/info/sparse-checkout expect + +ok 18 - cone mode: set with nested folders + +expecting success of 1091.19 'cone mode: add independent path': + git -C repo sparse-checkout set deep/deeper1 && + git -C repo sparse-checkout add folder1 && + cat >expect <<-\EOF && + /* + !/*/ + /deep/ + !/deep/*/ + /deep/deeper1/ + /folder1/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a deep folder1 + +ok 19 - cone mode: add independent path + +expecting success of 1091.20 'cone mode: add sibling path': + git -C repo sparse-checkout set deep/deeper1 && + git -C repo sparse-checkout add deep/deeper2 && + cat >expect <<-\EOF && + /* + !/*/ + /deep/ + !/deep/*/ + /deep/deeper1/ + /deep/deeper2/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a deep + +ok 20 - cone mode: add sibling path + +expecting success of 1091.21 'cone mode: add parent path': + git -C repo sparse-checkout set deep/deeper1 folder1 && + git -C repo sparse-checkout add deep && + cat >expect <<-\EOF && + /* + !/*/ + /deep/ + /folder1/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a deep folder1 + +ok 21 - cone mode: add parent path + +expecting success of 1091.22 'not-up-to-date does not block rest of sparsification': + test_when_finished git -C repo sparse-checkout disable && + test_when_finished git -C repo reset --hard && + git -C repo sparse-checkout set deep && + + echo update >repo/deep/deeper2/a && + cp repo/.git/info/sparse-checkout expect && + test_write_lines "!/deep/*/" "/deep/deeper1/" >>expect && + + git -C repo sparse-checkout set deep/deeper1 2>err && + + test_i18ngrep "The following paths are not up to date" err && + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo/deep a deeper1 deeper2 && + check_files repo/deep/deeper1 a deepest && + check_files repo/deep/deeper1/deepest a && + check_files repo/deep/deeper2 a + +warning: The following paths are not up to date and were left despite sparse patterns: +HEAD is now at ebf8b57 initial commit +ok 22 - not-up-to-date does not block rest of sparsification + +expecting success of 1091.23 'revert to old sparse-checkout on empty update': + git init empty-test && + ( + echo >file && + git add file && + git commit -m "test" && + git sparse-checkout set nothing 2>err && + test_i18ngrep ! "Sparse checkout leaves no entry on working directory" err && + test_i18ngrep ! ".git/index.lock" err && + git sparse-checkout set file + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/empty-test/.git/ +[master (root-commit) d402fe2] test + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 file +ok 23 - revert to old sparse-checkout on empty update + +expecting success of 1091.24 'fail when lock is taken': + test_when_finished rm -rf repo/.git/info/sparse-checkout.lock && + touch repo/.git/info/sparse-checkout.lock && + test_must_fail git -C repo sparse-checkout set deep 2>err && + test_i18ngrep "Unable to create .*\.lock" err + +fatal: Unable to create '/build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/repo/.git/info/sparse-checkout.lock': File exists. +ok 24 - fail when lock is taken + +expecting success of 1091.25 '.gitignore should not warn about cone mode': + git -C repo config --worktree core.sparseCheckoutCone true && + echo "**/bin/*" >repo/.gitignore && + git -C repo reset --hard 2>err && + test_i18ngrep ! "disabling cone patterns" err + +HEAD is now at ebf8b57 initial commit +ok 25 - .gitignore should not warn about cone mode + +expecting success of 1091.26 'sparse-checkout (init|set|disable) warns with dirty status': + git clone repo dirty && + echo dirty >dirty/folder1/a && + + git -C dirty sparse-checkout init 2>err && + test_i18ngrep "warning.*The following paths are not up to date" err && + + git -C dirty sparse-checkout set /folder2/* /deep/deeper1/* 2>err && + test_i18ngrep "warning.*The following paths are not up to date" err && + test_path_is_file dirty/folder1/a && + + git -C dirty sparse-checkout disable 2>err && + test_must_be_empty err && + + git -C dirty reset --hard && + git -C dirty sparse-checkout init && + git -C dirty sparse-checkout set /folder2/* /deep/deeper1/* && + test_path_is_missing dirty/folder1/a && + git -C dirty sparse-checkout disable && + test_path_is_file dirty/folder1/a + +Cloning into 'dirty'... +done. +warning: The following paths are not up to date and were left despite sparse patterns: +warning: The following paths are not up to date and were left despite sparse patterns: +HEAD is now at ebf8b57 initial commit +ok 26 - sparse-checkout (init|set|disable) warns with dirty status + +expecting success of 1091.27 'sparse-checkout (init|set|disable) warns with unmerged status': + git clone repo unmerged && + + cat >input <<-EOF && + 0 $ZERO_OID folder1/a + 100644 $(git -C unmerged rev-parse HEAD:folder1/a) 1 folder1/a + EOF + git -C unmerged update-index --index-info err && + test_i18ngrep "warning.*The following paths are unmerged" err && + + git -C unmerged sparse-checkout set /folder2/* /deep/deeper1/* 2>err && + test_i18ngrep "warning.*The following paths are unmerged" err && + test_path_is_file dirty/folder1/a && + + git -C unmerged sparse-checkout disable 2>err && + test_i18ngrep "warning.*The following paths are unmerged" err && + + git -C unmerged reset --hard && + git -C unmerged sparse-checkout init && + git -C unmerged sparse-checkout set /folder2/* /deep/deeper1/* && + git -C unmerged sparse-checkout disable + +Cloning into 'unmerged'... +done. +warning: The following paths are unmerged and were left despite sparse patterns: +warning: The following paths are unmerged and were left despite sparse patterns: +warning: The following paths are unmerged and were left despite sparse patterns: +HEAD is now at ebf8b57 initial commit +ok 27 - sparse-checkout (init|set|disable) warns with unmerged status + +expecting success of 1091.28 'sparse-checkout reapply': + git clone repo tweak && + + echo dirty >tweak/deep/deeper2/a && + + cat >input <<-EOF && + 0 $ZERO_OID folder1/a + 100644 $(git -C tweak rev-parse HEAD:folder1/a) 1 folder1/a + EOF + git -C tweak update-index --index-info err && + test_i18ngrep "warning.*The following paths are not up to date" err && + test_i18ngrep "warning.*The following paths are unmerged" err && + + git -C tweak sparse-checkout set folder2 deep/deeper1 2>err && + test_i18ngrep "warning.*The following paths are not up to date" err && + test_i18ngrep "warning.*The following paths are unmerged" err && + + git -C tweak sparse-checkout reapply 2>err && + test_i18ngrep "warning.*The following paths are not up to date" err && + test_path_is_file tweak/deep/deeper2/a && + test_i18ngrep "warning.*The following paths are unmerged" err && + test_path_is_file tweak/folder1/a && + + git -C tweak checkout HEAD deep/deeper2/a && + git -C tweak sparse-checkout reapply 2>err && + test_i18ngrep ! "warning.*The following paths are not up to date" err && + test_path_is_missing tweak/deep/deeper2/a && + test_i18ngrep "warning.*The following paths are unmerged" err && + test_path_is_file tweak/folder1/a && + + git -C tweak add folder1/a && + git -C tweak sparse-checkout reapply 2>err && + test_must_be_empty err && + test_path_is_missing tweak/deep/deeper2/a && + test_path_is_missing tweak/folder1/a && + + git -C tweak sparse-checkout disable + +Cloning into 'tweak'... +done. +warning: The following paths are not up to date and were left despite sparse patterns: +warning: The following paths are unmerged and were left despite sparse patterns: +warning: The following paths are not up to date and were left despite sparse patterns: +warning: The following paths are unmerged and were left despite sparse patterns: +warning: The following paths are not up to date and were left despite sparse patterns: +warning: The following paths are unmerged and were left despite sparse patterns: +Updated 1 path from 5b6118d +warning: The following paths are unmerged and were left despite sparse patterns: +ok 28 - sparse-checkout reapply + +expecting success of 1091.29 'cone mode: set with core.ignoreCase=true': + rm repo/.git/info/sparse-checkout && + git -C repo sparse-checkout init --cone && + git -C repo -c core.ignoreCase=true sparse-checkout set folder1 && + cat >expect <<-\EOF && + /* + !/*/ + /folder1/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a folder1 + +ok 29 - cone mode: set with core.ignoreCase=true + +expecting success of 1091.30 'interaction with submodules': + git clone repo super && + ( + cd super && + mkdir modules && + git -c protocol.file.allow=always \ + submodule add ../repo modules/child && + git add . && + git commit -m "add submodule" && + git sparse-checkout init --cone && + git sparse-checkout set folder1 + ) && + check_files super a folder1 modules && + check_files super/modules/child a deep folder1 folder2 + +Cloning into 'super'... +done. +Cloning into '/build/git-2.30.2/t/trash directory.t1091-sparse-checkout-builtin/super/modules/child'... +done. +[master 7bdd197] add submodule + Author: A U Thor + 2 files changed, 4 insertions(+) + create mode 100644 .gitmodules + create mode 160000 modules/child +warning: unable to rmdir 'modules/child': Directory not empty +ok 30 - interaction with submodules + +expecting success of 1091.31 'different sparse-checkouts with worktrees': + git -C repo worktree add --detach ../worktree && + check_files worktree "a deep folder1 folder2" && + git -C worktree sparse-checkout init --cone && + git -C repo sparse-checkout set folder1 && + git -C worktree sparse-checkout set deep/deeper1 && + check_files repo a folder1 && + check_files worktree a deep + +Preparing worktree (detached HEAD ebf8b57) +HEAD is now at ebf8b57 initial commit +ok 31 - different sparse-checkouts with worktrees + +expecting success of 1091.32 'set using filename keeps file on-disk': + git -C repo sparse-checkout set a deep && + cat >expect <<-\EOF && + /* + !/*/ + /a/ + /deep/ + EOF + test_cmp expect repo/.git/info/sparse-checkout && + check_files repo a deep + +ok 32 - set using filename keeps file on-disk + +expecting success of 1091.33 'pattern-checks: /A/**': + cat >repo/.git/info/sparse-checkout <<-\EOF && + /* + !/*/ + /folder1/** + EOF + check_read_tree_errors repo "a folder1" "disabling cone pattern matching" + +warning: disabling cone pattern matching +ok 33 - pattern-checks: /A/** + +expecting success of 1091.34 'pattern-checks: /A/**/B/': + cat >repo/.git/info/sparse-checkout <<-\EOF && + /* + !/*/ + /deep/**/deepest + EOF + check_read_tree_errors repo "a deep" "disabling cone pattern matching" && + check_files repo/deep "deeper1" && + check_files repo/deep/deeper1 "deepest" + +warning: disabling cone pattern matching +ok 34 - pattern-checks: /A/**/B/ + +expecting success of 1091.35 'pattern-checks: too short': + cat >repo/.git/info/sparse-checkout <<-\EOF && + /* + !/*/ + / + EOF + check_read_tree_errors repo "a" "disabling cone pattern matching" + +warning: disabling cone pattern matching +ok 35 - pattern-checks: too short + +expecting success of 1091.36 'pattern-checks: not too short': + cat >repo/.git/info/sparse-checkout <<-\EOF && + /* + !/*/ + /b/ + EOF + git -C repo read-tree -mu HEAD 2>err && + test_must_be_empty err && + check_files repo a + +ok 36 - pattern-checks: not too short + +expecting success of 1091.37 'pattern-checks: trailing "*"': + cat >repo/.git/info/sparse-checkout <<-\EOF && + /* + !/*/ + /a* + EOF + check_read_tree_errors repo "a" "disabling cone pattern matching" + +warning: disabling cone pattern matching +ok 37 - pattern-checks: trailing "*" + +expecting success of 1091.38 'pattern-checks: starting "*"': + cat >repo/.git/info/sparse-checkout <<-\EOF && + /* + !/*/ + *eep/ + EOF + check_read_tree_errors repo "a deep" "disabling cone pattern matching" + +warning: disabling cone pattern matching +ok 38 - pattern-checks: starting "*" + +expecting success of 1091.39 'pattern-checks: contained glob characters': + for c in "[a]" "\\" "?" "*" + do + cat >repo/.git/info/sparse-checkout <<-EOF && + /* + !/*/ + something$c-else/ + EOF + check_read_tree_errors repo "a" "disabling cone pattern matching" + done + +warning: disabling cone pattern matching +warning: disabling cone pattern matching +warning: disabling cone pattern matching +warning: disabling cone pattern matching +ok 39 - pattern-checks: contained glob characters + +expecting success of 1091.40 'pattern-checks: escaped characters': + git clone repo escaped && + TREEOID=$(git -C escaped rev-parse HEAD:folder1) && + NEWTREE=$(git -C escaped mktree <<-EOF + $(git -C escaped ls-tree HEAD) + 040000 tree $TREEOID zbad\\dir + 040000 tree $TREEOID zdoes*exist + 040000 tree $TREEOID zglob[!a]? + EOF + ) && + COMMIT=$(git -C escaped commit-tree $NEWTREE -p HEAD) && + git -C escaped reset --hard $COMMIT && + check_files escaped "a deep folder1 folder2 zbad\\dir zdoes*exist" zglob[!a]? && + git -C escaped sparse-checkout init --cone && + git -C escaped sparse-checkout set zbad\\dir/bogus "zdoes*not*exist" "zdoes*exist" "zglob[!a]?" && + cat >expect <<-\EOF && + /* + !/*/ + /zbad\\dir/ + !/zbad\\dir/*/ + /zbad\\dir/bogus/ + /zdoes\*exist/ + /zdoes\*not\*exist/ + /zglob\[!a]\?/ + EOF + test_cmp expect escaped/.git/info/sparse-checkout && + check_read_tree_errors escaped "a zbad\\dir zdoes*exist zglob[!a]?" && + git -C escaped ls-tree -d --name-only HEAD >list-expect && + git -C escaped sparse-checkout set --stdin expect <<-\EOF && + /* + !/*/ + /deep/ + /folder1/ + /folder2/ + /zbad\\dir/ + /zdoes\*exist/ + /zglob\[!a]\?/ + EOF + test_cmp expect escaped/.git/info/sparse-checkout && + check_files escaped "a deep folder1 folder2 zbad\\dir zdoes*exist" zglob[!a]? && + git -C escaped sparse-checkout list >list-actual && + test_cmp list-expect list-actual + +Cloning into 'escaped'... +done. +HEAD is now at deac45b +ok 40 - pattern-checks: escaped characters + +ok 41 # skip cone mode replaces backslashes with slashes (missing MINGW) + +# passed all 41 test(s) +1..41 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1310-config-default.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1310-config-default/.git/ +expecting success of 1310.1 'uses --default when entry missing': + echo quux >expect && + git config -f config --default=quux core.foo >actual && + test_cmp expect actual + +ok 1 - uses --default when entry missing + +expecting success of 1310.2 'does not use --default when entry present': + echo bar >expect && + git -c core.foo=bar config --default=baz core.foo >actual && + test_cmp expect actual + +ok 2 - does not use --default when entry present + +expecting success of 1310.3 'canonicalizes --default with appropriate type': + echo true >expect && + git config -f config --default=yes --bool core.foo >actual && + test_cmp expect actual + +ok 3 - canonicalizes --default with appropriate type + +expecting success of 1310.4 'dies when --default cannot be parsed': + test_must_fail git config -f config --type=expiry-date --default=x --get \ + not.a.section 2>error && + test_i18ngrep "failed to format default config value" error + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +fatal: failed to format default config value: x +ok 4 - dies when --default cannot be parsed + +expecting success of 1310.5 'does not allow --default without --get': + test_must_fail git config --default=quux --unset a.section >output 2>&1 && + test_i18ngrep "\-\-default is only applicable to" output + +error: --default is only applicable to --get +ok 5 - does not allow --default without --get + +# passed all 5 test(s) +1..5 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1350-config-hooks-path.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1350-config-hooks-path/.git/ +expecting success of 1350.1 'set up a pre-commit hook in core.hooksPath': + mkdir -p .git/custom-hooks .git/hooks && + write_script .git/custom-hooks/pre-commit <<-\EOF && + echo CUSTOM >>actual + EOF + write_script .git/hooks/pre-commit <<-\EOF + echo NORMAL >>actual + EOF + +ok 1 - set up a pre-commit hook in core.hooksPath + +expecting success of 1350.2 'Check that various forms of specifying core.hooksPath work': + test_commit no_custom_hook && + git config core.hooksPath .git/custom-hooks && + test_commit have_custom_hook && + git config core.hooksPath .git/custom-hooks/ && + test_commit have_custom_hook_trailing_slash && + git config core.hooksPath "$PWD/.git/custom-hooks" && + test_commit have_custom_hook_abs_path && + git config core.hooksPath "$PWD/.git/custom-hooks/" && + test_commit have_custom_hook_abs_path_trailing_slash && + cat >expect <<-\EOF && + NORMAL + CUSTOM + CUSTOM + CUSTOM + CUSTOM + EOF + test_cmp expect actual + +[master (root-commit) 51fec20] no_custom_hook + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 no_custom_hook.t +[master d6f765a] have_custom_hook + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 have_custom_hook.t +[master c8447a6] have_custom_hook_trailing_slash + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 have_custom_hook_trailing_slash.t +[master acc1a92] have_custom_hook_abs_path + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 have_custom_hook_abs_path.t +[master 3a47fb1] have_custom_hook_abs_path_trailing_slash + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 have_custom_hook_abs_path_trailing_slash.t +ok 2 - Check that various forms of specifying core.hooksPath work + +expecting success of 1350.3 'git rev-parse --git-path hooks': + git config core.hooksPath .git/custom-hooks && + git rev-parse --git-path hooks/abc >actual && + test .git/custom-hooks/abc = "$(cat actual)" + +ok 3 - git rev-parse --git-path hooks + +# passed all 3 test(s) +1..3 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1309-early-config.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/.git/ +expecting success of 1309.1 'read early config': + test_config early.config correct && + test-tool config read_early_config early.config >output && + test correct = "$(cat output)" + +ok 1 - read early config + +expecting success of 1309.2 'in a sub-directory': + test_config early.config sub && + mkdir -p sub && + ( + cd sub && + test-tool config read_early_config early.config + ) >output && + test sub = "$(cat output)" + +ok 2 - in a sub-directory + +expecting success of 1309.3 'ceiling': + test_config early.config ceiling && + mkdir -p sub && + ( + GIT_CEILING_DIRECTORIES="$PWD" && + export GIT_CEILING_DIRECTORIES && + cd sub && + test-tool config read_early_config early.config + ) >output && + test_must_be_empty output + +ok 3 - ceiling + +expecting success of 1309.4 'ceiling #2': + mkdir -p xdg/git && + git config -f xdg/git/config early.config xdg && + test_config early.config ceiling && + mkdir -p sub && + ( + XDG_CONFIG_HOME="$PWD"/xdg && + GIT_CEILING_DIRECTORIES="$PWD" && + export GIT_CEILING_DIRECTORIES XDG_CONFIG_HOME && + cd sub && + test-tool config read_early_config early.config + ) >output && + test xdg = "$(cat output)" + +ok 4 - ceiling #2 + +expecting success of 1309.5 'read config file in right order': + echo "[test]source = home" >>.gitconfig && + git init foo && + ( + cd foo && + echo "[test]source = repo" >>.git/config && + GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config \ + read_early_config test.source >actual && + cat >expected <<-\EOF && + home + repo + cmdline + EOF + test_cmp expected actual + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/foo/.git/ +ok 5 - read config file in right order + +expecting success of 1309.6 'ignore .git/ with incompatible repository version': + test_with_config "[core]repositoryformatversion = 999999" 2>err && + test_i18ngrep "warning:.* Expected git repo version <= [1-9]" err + +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +warning: ignoring git dir '.git': Expected git repo version <= 1, found 999999 +ok 6 - ignore .git/ with incompatible repository version + +checking known breakage of 1309.7 'ignore .git/ with invalid repository version': + test_with_config "[core]repositoryformatversion = invalid" + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ +fatal: bad numeric config value 'invalid' for 'core.repositoryformatversion' in file .git/config: invalid unit +not ok 7 - ignore .git/ with invalid repository version # TODO known breakage + +checking known breakage of 1309.8 'ignore .git/ with invalid config': + test_with_config "[" + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ +fatal: bad config line 1 in file .git/config +not ok 8 - ignore .git/ with invalid config # TODO known breakage + +expecting success of 1309.9 'early config and onbranch': + echo "[broken" >broken && + test_with_config "[includeif \"onbranch:topic\"]path=../broken" + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1309-early-config/throwaway/.git/ +ok 9 - early config and onbranch + +expecting success of 1309.10 'onbranch config outside of git repo': + test_config_global includeIf.onbranch:topic.path non-existent && + nongit git help + +usage: git [--version] [--help] [-C ] [-c =] + [--exec-path[=]] [--html-path] [--man-path] [--info-path] + [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare] + [--git-dir=] [--work-tree=] [--namespace=] + [] + +These are common Git commands used in various situations: + +start a working area (see also: git help tutorial) + clone Clone a repository into a new directory + init Create an empty Git repository or reinitialize an existing one + +work on the current change (see also: git help everyday) + add Add file contents to the index + mv Move or rename a file, a directory, or a symlink + restore Restore working tree files + rm Remove files from the working tree and from the index + sparse-checkout Initialize and modify the sparse-checkout + +examine the history and state (see also: git help revisions) + bisect Use binary search to find the commit that introduced a bug + diff Show changes between commits, commit and working tree, etc + grep Print lines matching a pattern + log Show commit logs + show Show various types of objects + status Show the working tree status + +grow, mark and tweak your common history + branch List, create, or delete branches + commit Record changes to the repository + merge Join two or more development histories together + rebase Reapply commits on top of another base tip + reset Reset current HEAD to the specified state + switch Switch branches + tag Create, list, delete or verify a tag object signed with GPG + +collaborate (see also: git help workflows) + fetch Download objects and refs from another repository + pull Fetch from and integrate with another repository or a local branch + push Update remote refs along with associated objects + +'git help -a' and 'git help -g' list available subcommands and some +concept guides. See 'git help ' or 'git help ' +to read about a specific subcommand or concept. +See 'git help git' for an overview of the system. +ok 10 - onbranch config outside of git repo + +# still have 2 known breakage(s) +# passed all remaining 8 test(s) +1..10 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1308-config-set.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1308-config-set/.git/ +expecting success of 1308.1 'setup default config': + cat >.git/config <<-\EOF + [case] + penguin = very blue + Movie = BadPhysics + UPPERCASE = true + MixedCase = true + my = + foo + baz = sam + [Cores] + WhatEver = Second + baz = bar + [cores] + baz = bat + [CORES] + baz = ball + [my "Foo bAr"] + hi = mixed-case + [my "FOO BAR"] + hi = upper-case + [my "foo bar"] + hi = lower-case + [case] + baz = bat + baz = hask + [lamb] + chop = 65 + head = none + [goat] + legs = 4 + head = true + skin = false + nose = 1 + horns + EOF + +ok 1 - setup default config + +expecting success of 1308.2 'get value for a simple key': + check_config get_value case.penguin "very blue" + +ok 2 - get value for a simple key + +expecting success of 1308.3 'get value for a key with value as an empty string': + check_config get_value case.my "" + +ok 3 - get value for a key with value as an empty string + +expecting success of 1308.4 'get value for a key with value as NULL': + check_config get_value case.foo "(NULL)" + +ok 4 - get value for a key with value as NULL + +expecting success of 1308.5 'upper case key': + check_config get_value case.UPPERCASE "true" && + check_config get_value case.uppercase "true" + +ok 5 - upper case key + +expecting success of 1308.6 'mixed case key': + check_config get_value case.MixedCase "true" && + check_config get_value case.MIXEDCASE "true" && + check_config get_value case.mixedcase "true" + +ok 6 - mixed case key + +expecting success of 1308.7 'key and value with mixed case': + check_config get_value case.Movie "BadPhysics" + +ok 7 - key and value with mixed case + +expecting success of 1308.8 'key with case sensitive subsection': + check_config get_value "my.Foo bAr.hi" "mixed-case" && + check_config get_value "my.FOO BAR.hi" "upper-case" && + check_config get_value "my.foo bar.hi" "lower-case" + +ok 8 - key with case sensitive subsection + +expecting success of 1308.9 'key with case insensitive section header': + check_config get_value cores.baz "ball" && + check_config get_value Cores.baz "ball" && + check_config get_value CORES.baz "ball" && + check_config get_value coreS.baz "ball" + +ok 9 - key with case insensitive section header + +expecting success of 1308.10 'key with case insensitive section header & variable': + check_config get_value CORES.BAZ "ball" && + check_config get_value cores.baz "ball" && + check_config get_value cores.BaZ "ball" && + check_config get_value cOreS.bAz "ball" + +ok 10 - key with case insensitive section header & variable + +expecting success of 1308.11 'find value with misspelled key': + check_config expect_code 1 get_value "my.fOo Bar.hi" "Value not found for \"my.fOo Bar.hi\"" + +ok 11 - find value with misspelled key + +expecting success of 1308.12 'find value with the highest priority': + check_config get_value case.baz "hask" + +ok 12 - find value with the highest priority + +expecting success of 1308.13 'find integer value for a key': + check_config get_int lamb.chop 65 + +ok 13 - find integer value for a key + +expecting success of 1308.14 'find string value for a key': + check_config get_string case.baz hask && + check_config expect_code 1 get_string case.ba "Value not found for \"case.ba\"" + +ok 14 - find string value for a key + +expecting success of 1308.15 'check line error when NULL string is queried': + test_expect_code 128 test-tool config get_string case.foo 2>result && + test_i18ngrep "fatal: .*case\.foo.*\.git/config.*line 7" result + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +fatal: bad config variable 'case.foo' in file '.git/config' at line 7 +ok 15 - check line error when NULL string is queried + +expecting success of 1308.16 'find integer if value is non parse-able': + check_config expect_code 128 get_int lamb.head + +fatal: bad numeric config value 'none' for 'lamb.head': invalid unit +ok 16 - find integer if value is non parse-able + +expecting success of 1308.17 'find bool value for the entered key': + check_config get_bool goat.head 1 && + check_config get_bool goat.skin 0 && + check_config get_bool goat.nose 1 && + check_config get_bool goat.horns 1 && + check_config get_bool goat.legs 1 + +ok 17 - find bool value for the entered key + +expecting success of 1308.18 'find multiple values': + check_config get_value_multi case.baz sam bat hask + +ok 18 - find multiple values + +expecting success of 1308.19 'find value from a configset': + cat >config2 <<-\EOF && + [case] + baz = lama + [my] + new = silk + [case] + baz = ball + EOF + echo silk >expect && + test-tool config configset_get_value my.new config2 .git/config >actual && + test_cmp expect actual + +ok 19 - find value from a configset + +expecting success of 1308.20 'find value with highest priority from a configset': + echo hask >expect && + test-tool config configset_get_value case.baz config2 .git/config >actual && + test_cmp expect actual + +ok 20 - find value with highest priority from a configset + +expecting success of 1308.21 'find value_list for a key from a configset': + cat >expect <<-\EOF && + lama + ball + sam + bat + hask + EOF + test-tool config configset_get_value_multi case.baz config2 .git/config >actual && + test_cmp expect actual + +ok 21 - find value_list for a key from a configset + +expecting success of 1308.22 'proper error on non-existent files': + echo "Error (-1) reading configuration file non-existent-file." >expect && + test_expect_code 2 test-tool config configset_get_value foo.bar non-existent-file 2>actual && + test_cmp expect actual + +ok 22 - proper error on non-existent files + +expecting success of 1308.23 'proper error on directory "files"': + echo "Error (-1) reading configuration file a-directory." >expect && + mkdir a-directory && + test_expect_code 2 test-tool config configset_get_value foo.bar a-directory 2>output && + grep "^warning:" output && + grep "^Error" output >actual && + test_cmp expect actual + +warning: unable to access 'a-directory': Is a directory +ok 23 - proper error on directory "files" + +checking prerequisite: SANITY + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && + mkdir SANETESTD.1 SANETESTD.2 && + + chmod +w SANETESTD.1 SANETESTD.2 && + >SANETESTD.1/x 2>SANETESTD.2/x && + chmod -w SANETESTD.1 && + chmod -r SANETESTD.1/x && + chmod -rx SANETESTD.2 || + BUG "cannot prepare SANETESTD" + + ! test -r SANETESTD.1/x && + ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x + status=$? + + chmod +rwx SANETESTD.1 SANETESTD.2 && + rm -rf SANETESTD.1 SANETESTD.2 || + BUG "cannot clean SANETESTD" + return $status + +) +rm: cannot remove 'SANETESTD.1/x': Permission denied +prerequisite SANITY ok +expecting success of 1308.24 'proper error on non-accessible files': + chmod -r .git/config && + test_when_finished "chmod +r .git/config" && + echo "Error (-1) reading configuration file .git/config." >expect && + test_expect_code 2 test-tool config configset_get_value foo.bar .git/config 2>output && + grep "^warning:" output && + grep "^Error" output >actual && + test_cmp expect actual + +warning: unable to access '.git/config': Permission denied +warning: unable to access '.git/config': Permission denied +ok 24 - proper error on non-accessible files + +expecting success of 1308.25 'proper error on error in default config files': + cp .git/config .git/config.old && + test_when_finished "mv .git/config.old .git/config" && + echo "[" >>.git/config && + echo "fatal: bad config line 34 in file .git/config" >expect && + test_expect_code 128 test-tool config get_value foo.bar 2>actual && + test_i18ncmp expect actual + +ok 25 - proper error on error in default config files + +expecting success of 1308.26 'proper error on error in custom config files': + echo "[" >>syntax-error && + echo "fatal: bad config line 1 in file syntax-error" >expect && + test_expect_code 128 test-tool config configset_get_value foo.bar syntax-error 2>actual && + test_i18ncmp expect actual + +ok 26 - proper error on error in custom config files + +expecting success of 1308.27 'check line errors for malformed values': + mv .git/config .git/config.old && + test_when_finished "mv .git/config.old .git/config" && + cat >.git/config <<-\EOF && + [alias] + br + EOF + test_expect_code 128 git br 2>result && + test_i18ngrep "missing value for .alias\.br" result && + test_i18ngrep "fatal: .*\.git/config" result && + test_i18ngrep "fatal: .*line 2" result + +error: missing value for 'alias.br' +fatal: bad config line 2 in file .git/config +fatal: bad config line 2 in file .git/config +ok 27 - check line errors for malformed values + +expecting success of 1308.28 'error on modifying repo config without repo': + nongit test_must_fail git config a.b c 2>err && + test_i18ngrep "not in a git directory" err + +fatal: not in a git directory +ok 28 - error on modifying repo config without repo + +expecting success of 1308.29 'iteration shows correct origins': + printf "[ignore]\n\tthis = please\n[foo]bar = from-repo\n" >.git/config && + printf "[foo]\n\tbar = from-home\n" >.gitconfig && + if test_have_prereq MINGW + then + # Use Windows path (i.e. *not* $HOME) + HOME_GITCONFIG=$(pwd)/.gitconfig + else + # Do not get fooled by symbolic links, i.e. $HOME != $(pwd) + HOME_GITCONFIG=$HOME/.gitconfig + fi && + cat >expect <<-EOF && + key=foo.bar + value=from-home + origin=file + name=$HOME_GITCONFIG + lno=2 + scope=global + + key=ignore.this + value=please + origin=file + name=.git/config + lno=2 + scope=local + + key=foo.bar + value=from-repo + origin=file + name=.git/config + lno=3 + scope=local + + key=foo.bar + value=from-cmdline + origin=command line + name= + lno=-1 + scope=command + EOF + GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config iterate >actual && + test_cmp expect actual + +ok 29 - iteration shows correct origins + +# passed all 29 test(s) +1..29 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1401-symbolic-ref.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1401-symbolic-ref/.git/ +expecting success of 1401.1 'symbolic-ref writes HEAD': + git symbolic-ref HEAD refs/heads/foo && + echo ref: refs/heads/foo >expect && + test_cmp expect .git/HEAD + +ok 1 - symbolic-ref writes HEAD + +expecting success of 1401.2 'symbolic-ref reads HEAD': + echo refs/heads/foo >expect && + git symbolic-ref HEAD >actual && + test_cmp expect actual + +ok 2 - symbolic-ref reads HEAD + +expecting success of 1401.3 'symbolic-ref refuses non-ref for HEAD': + test_must_fail git symbolic-ref HEAD foo + +fatal: Refusing to point HEAD outside of refs/ +ok 3 - symbolic-ref refuses non-ref for HEAD + +expecting success of 1401.4 'symbolic-ref refuses bare sha1': + echo content >file && git add file && git commit -m one && + test_must_fail git symbolic-ref HEAD $(git rev-parse HEAD) + +[foo (root-commit) f39a923] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 file +fatal: Refusing to point HEAD outside of refs/ +ok 4 - symbolic-ref refuses bare sha1 + +expecting success of 1401.5 'HEAD cannot be removed': + test_must_fail git symbolic-ref -d HEAD + +fatal: deleting 'HEAD' is not allowed +ok 5 - HEAD cannot be removed + +expecting success of 1401.6 'symbolic-ref can be deleted': + git symbolic-ref NOTHEAD refs/heads/foo && + git symbolic-ref -d NOTHEAD && + test_path_is_file .git/refs/heads/foo && + test_path_is_missing .git/NOTHEAD + +ok 6 - symbolic-ref can be deleted + +expecting success of 1401.7 'symbolic-ref can delete dangling symref': + git symbolic-ref NOTHEAD refs/heads/missing && + git symbolic-ref -d NOTHEAD && + test_path_is_missing .git/refs/heads/missing && + test_path_is_missing .git/NOTHEAD + +ok 7 - symbolic-ref can delete dangling symref + +expecting success of 1401.8 'symbolic-ref fails to delete missing FOO': + echo "fatal: Cannot delete FOO, not a symbolic ref" >expect && + test_must_fail git symbolic-ref -d FOO >actual 2>&1 && + test_cmp expect actual + +ok 8 - symbolic-ref fails to delete missing FOO + +expecting success of 1401.9 'symbolic-ref fails to delete real ref': + echo "fatal: Cannot delete refs/heads/foo, not a symbolic ref" >expect && + test_must_fail git symbolic-ref -d refs/heads/foo >actual 2>&1 && + git rev-parse --verify refs/heads/foo && + test_cmp expect actual + +f39a92305d069e3dcdc4ce95c3001deec3642dc3 +ok 9 - symbolic-ref fails to delete real ref + +expecting success of 1401.10 'create large ref name': + # make 256+ character ref; some systems may not handle that, + # so be gentle + long=0123456789abcdef && + long=$long/$long/$long/$long && + long=$long/$long/$long/$long && + long_ref=refs/heads/$long && + tree=$(git write-tree) && + commit=$(echo foo | git commit-tree $tree) && + if git update-ref $long_ref $commit; then + test_set_prereq LONG_REF + else + echo >&2 "long refs not supported" + fi + +ok 10 - create large ref name + +expecting success of 1401.11 'symbolic-ref can point to large ref name': + git symbolic-ref HEAD $long_ref && + echo $long_ref >expect && + git symbolic-ref HEAD >actual && + test_cmp expect actual + +ok 11 - symbolic-ref can point to large ref name + +expecting success of 1401.12 'we can parse long symbolic ref': + echo $commit >expect && + git rev-parse --verify HEAD >actual && + test_cmp expect actual + +ok 12 - we can parse long symbolic ref + +expecting success of 1401.13 'symbolic-ref reports failure in exit code': + test_when_finished "rm -f .git/HEAD.lock" && + >.git/HEAD.lock && + test_must_fail git symbolic-ref HEAD refs/heads/whatever + +error: Unable to create '/build/git-2.30.2/t/trash directory.t1401-symbolic-ref/.git/HEAD.lock': File exists. + +Another git process seems to be running in this repository, e.g. +an editor opened by 'git commit'. Please make sure all processes +are terminated then try again. If it still fails, a git process +may have crashed in this repository earlier: +remove the file manually to continue. +ok 13 - symbolic-ref reports failure in exit code + +expecting success of 1401.14 'symbolic-ref writes reflog entry': + git checkout -b log1 && + test_commit one && + git checkout -b log2 && + test_commit two && + git checkout --orphan orphan && + git symbolic-ref -m create HEAD refs/heads/log1 && + git symbolic-ref -m update HEAD refs/heads/log2 && + cat >expect <<-\EOF && + update + create + EOF + git log --format=%gs -g -2 >actual && + test_cmp expect actual + +Switched to a new branch 'log1' +[log1 6782655] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +Switched to a new branch 'log2' +[log2 4d9c76a] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +Switched to a new branch 'orphan' +ok 14 - symbolic-ref writes reflog entry + +expecting success of 1401.15 'symbolic-ref does not create ref d/f conflicts': + git checkout -b df && + test_commit df && + test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df && + git pack-refs --all --prune && + test_must_fail git symbolic-ref refs/heads/df/conflict refs/heads/df + +Switched to a new branch 'df' +[df 39fb238] df + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 df.t +error: Unable to create '/build/git-2.30.2/t/trash directory.t1401-symbolic-ref/.git/refs/heads/df/conflict.lock': Not a directory +error: 'refs/heads/df' exists; cannot create 'refs/heads/df/conflict' +ok 15 - symbolic-ref does not create ref d/f conflicts + +expecting success of 1401.16 'symbolic-ref can overwrite pointer to invalid name': + test_when_finished reset_to_sane && + head=$(git rev-parse HEAD) && + git symbolic-ref HEAD refs/heads/outer && + test_when_finished "git update-ref -d refs/heads/outer/inner" && + git update-ref refs/heads/outer/inner $head && + git symbolic-ref HEAD refs/heads/unrelated + +ok 16 - symbolic-ref can overwrite pointer to invalid name + +expecting success of 1401.17 'symbolic-ref can resolve d/f name (EISDIR)': + test_when_finished reset_to_sane && + head=$(git rev-parse HEAD) && + git symbolic-ref HEAD refs/heads/outer/inner && + test_when_finished "git update-ref -d refs/heads/outer" && + git update-ref refs/heads/outer $head && + echo refs/heads/outer/inner >expect && + git symbolic-ref HEAD >actual && + test_cmp expect actual + +ok 17 - symbolic-ref can resolve d/f name (EISDIR) + +expecting success of 1401.18 'symbolic-ref can resolve d/f name (ENOTDIR)': + test_when_finished reset_to_sane && + head=$(git rev-parse HEAD) && + git symbolic-ref HEAD refs/heads/outer && + test_when_finished "git update-ref -d refs/heads/outer/inner" && + git update-ref refs/heads/outer/inner $head && + echo refs/heads/outer >expect && + git symbolic-ref HEAD >actual && + test_cmp expect actual + +ok 18 - symbolic-ref can resolve d/f name (ENOTDIR) + +# passed all 18 test(s) +1..18 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1403-show-ref.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1403-show-ref/.git/ +expecting success of 1403.1 'setup': + test_commit A && + git tag -f -a -m "annotated A" A && + git checkout -b side && + test_commit B && + git tag -f -a -m "annotated B" B && + git checkout master && + test_commit C && + git branch B A^0 + +[master (root-commit) 0ddfaf1] A + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 A.t +Updated tag 'A' (was 0ddfaf1) +Switched to a new branch 'side' +[side d9df450] B + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 B.t +Updated tag 'B' (was d9df450) +Switched to branch 'master' +[master 5dee784] C + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 C.t +ok 1 - setup + +expecting success of 1403.2 'show-ref': + echo $(git rev-parse refs/tags/A) refs/tags/A >expect && + + git show-ref A >actual && + test_cmp expect actual && + + git show-ref tags/A >actual && + test_cmp expect actual && + + git show-ref refs/tags/A >actual && + test_cmp expect actual && + + test_must_fail git show-ref D >actual && + test_must_be_empty actual + +ok 2 - show-ref + +expecting success of 1403.3 'show-ref -q': + git show-ref -q A >actual && + test_must_be_empty actual && + + git show-ref -q tags/A >actual && + test_must_be_empty actual && + + git show-ref -q refs/tags/A >actual && + test_must_be_empty actual && + + test_must_fail git show-ref -q D >actual && + test_must_be_empty actual + +ok 3 - show-ref -q + +expecting success of 1403.4 'show-ref --verify': + echo $(git rev-parse refs/tags/A) refs/tags/A >expect && + + git show-ref --verify refs/tags/A >actual && + test_cmp expect actual && + + test_must_fail git show-ref --verify A >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify tags/A >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify D >actual && + test_must_be_empty actual + +fatal: 'A' - not a valid ref +fatal: 'tags/A' - not a valid ref +fatal: 'D' - not a valid ref +ok 4 - show-ref --verify + +expecting success of 1403.5 'show-ref --verify -q': + git show-ref --verify -q refs/tags/A >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify -q A >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify -q tags/A >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify -q D >actual && + test_must_be_empty actual + +ok 5 - show-ref --verify -q + +expecting success of 1403.6 'show-ref -d': + { + echo $(git rev-parse refs/tags/A) refs/tags/A && + echo $(git rev-parse refs/tags/A^0) "refs/tags/A^{}" + echo $(git rev-parse refs/tags/C) refs/tags/C + } >expect && + git show-ref -d A C >actual && + test_cmp expect actual && + + git show-ref -d tags/A tags/C >actual && + test_cmp expect actual && + + git show-ref -d refs/tags/A refs/tags/C >actual && + test_cmp expect actual && + + git show-ref --verify -d refs/tags/A refs/tags/C >actual && + test_cmp expect actual && + + echo $(git rev-parse refs/heads/master) refs/heads/master >expect && + git show-ref -d master >actual && + test_cmp expect actual && + + git show-ref -d heads/master >actual && + test_cmp expect actual && + + git show-ref -d refs/heads/master >actual && + test_cmp expect actual && + + git show-ref -d --verify refs/heads/master >actual && + test_cmp expect actual && + + test_must_fail git show-ref -d --verify master >actual && + test_must_be_empty actual && + + test_must_fail git show-ref -d --verify heads/master >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify -d A C >actual && + test_must_be_empty actual && + + test_must_fail git show-ref --verify -d tags/A tags/C >actual && + test_must_be_empty actual + + +fatal: 'master' - not a valid ref +fatal: 'heads/master' - not a valid ref +fatal: 'A' - not a valid ref +fatal: 'tags/A' - not a valid ref +ok 6 - show-ref -d + +expecting success of 1403.7 'show-ref --heads, --tags, --head, pattern': + for branch in B master side + do + echo $(git rev-parse refs/heads/$branch) refs/heads/$branch + done >expect.heads && + git show-ref --heads >actual && + test_cmp expect.heads actual && + + for tag in A B C + do + echo $(git rev-parse refs/tags/$tag) refs/tags/$tag + done >expect.tags && + git show-ref --tags >actual && + test_cmp expect.tags actual && + + cat expect.heads expect.tags >expect && + git show-ref --heads --tags >actual && + test_cmp expect actual && + + { + echo $(git rev-parse HEAD) HEAD && + cat expect.heads expect.tags + } >expect && + git show-ref --heads --tags --head >actual && + test_cmp expect actual && + + { + echo $(git rev-parse HEAD) HEAD && + echo $(git rev-parse refs/heads/B) refs/heads/B + echo $(git rev-parse refs/tags/B) refs/tags/B + } >expect && + git show-ref --head B >actual && + test_cmp expect actual && + + { + echo $(git rev-parse HEAD) HEAD && + echo $(git rev-parse refs/heads/B) refs/heads/B + echo $(git rev-parse refs/tags/B) refs/tags/B + echo $(git rev-parse refs/tags/B^0) "refs/tags/B^{}" + } >expect && + git show-ref --head -d B >actual && + test_cmp expect actual + +ok 7 - show-ref --heads, --tags, --head, pattern + +expecting success of 1403.8 'show-ref --verify HEAD': + echo $(git rev-parse HEAD) HEAD >expect && + git show-ref --verify HEAD >actual && + test_cmp expect actual && + + git show-ref --verify -q HEAD >actual && + test_must_be_empty actual + +ok 8 - show-ref --verify HEAD + +expecting success of 1403.9 'show-ref --verify with dangling ref': + sha1_file() { + echo "$*" | sed "s#..#.git/objects/&/#" + } && + + remove_object() { + file=$(sha1_file "$*") && + test -e "$file" && + rm -f "$file" + } && + + test_when_finished "rm -rf dangling" && + ( + git init dangling && + cd dangling && + test_commit dangling && + sha=$(git rev-parse refs/tags/dangling) && + remove_object $sha && + test_must_fail git show-ref --verify refs/tags/dangling + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1403-show-ref/dangling/.git/ +[master (root-commit) ceb9007] dangling + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 dangling.t +fatal: git show-ref: bad ref refs/tags/dangling (ceb9007ddae8b252f505d0ef9dcf579bfda7e91c) +ok 9 - show-ref --verify with dangling ref + +# passed all 9 test(s) +1..9 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1405-main-ref-store.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1405-main-ref-store/.git/ +expecting success of 1405.1 'pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE)': + test_commit one && + N=`find .git/refs -type f | wc -l` && + test "$N" != 0 && + $RUN pack-refs 3 && + N=`find .git/refs -type f | wc -l` + +[master (root-commit) d79ce16] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +ok 1 - pack_refs(PACK_REFS_ALL | PACK_REFS_PRUNE) + +expecting success of 1405.2 'peel_ref(new-tag)': + git rev-parse HEAD >expected && + git tag -a -m new-tag new-tag HEAD && + $RUN peel-ref refs/tags/new-tag >actual && + test_cmp expected actual + +ok 2 - peel_ref(new-tag) + +expecting success of 1405.3 'create_symref(FOO, refs/heads/master)': + $RUN create-symref FOO refs/heads/master nothing && + echo refs/heads/master >expected && + git symbolic-ref FOO >actual && + test_cmp expected actual + +ok 3 - create_symref(FOO, refs/heads/master) + +expecting success of 1405.4 'delete_refs(FOO, refs/tags/new-tag)': + git rev-parse FOO -- && + git rev-parse refs/tags/new-tag -- && + m=$(git rev-parse master) && + REF_NO_DEREF=1 && + $RUN delete-refs $REF_NO_DEREF nothing FOO refs/tags/new-tag && + test_must_fail git rev-parse --symbolic-full-name FOO && + test_must_fail git rev-parse FOO -- && + test_must_fail git rev-parse refs/tags/new-tag -- + +d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 +-- +407ffbd56c168afa4e9302a7cdfe469155f84482 +-- +fatal: ambiguous argument 'FOO': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +FOO +fatal: bad revision 'FOO' +fatal: bad revision 'refs/tags/new-tag' +ok 4 - delete_refs(FOO, refs/tags/new-tag) + +expecting success of 1405.5 'rename_refs(master, new-master)': + git rev-parse master >expected && + $RUN rename-ref refs/heads/master refs/heads/new-master && + git rev-parse new-master >actual && + test_cmp expected actual && + test_commit recreate-master + +[master (root-commit) c90e4dc] recreate-master + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 one.t + create mode 100644 recreate-master.t +ok 5 - rename_refs(master, new-master) + +expecting success of 1405.6 'for_each_ref(refs/heads/)': + $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && + cat >expected <<-\EOF && + master 0x0 + new-master 0x0 + EOF + test_cmp expected actual + +ok 6 - for_each_ref(refs/heads/) + +expecting success of 1405.7 'for_each_ref() is sorted': + $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && + sort actual > expected && + test_cmp expected actual + +ok 7 - for_each_ref() is sorted + +expecting success of 1405.8 'resolve_ref(new-master)': + SHA1=`git rev-parse new-master` && + echo "$SHA1 refs/heads/new-master 0x0" >expected && + $RUN resolve-ref refs/heads/new-master 0 >actual && + test_cmp expected actual + +ok 8 - resolve_ref(new-master) + +expecting success of 1405.9 'verify_ref(new-master)': + $RUN verify-ref refs/heads/new-master + +ok 9 - verify_ref(new-master) + +expecting success of 1405.10 'for_each_reflog()': + $RUN for-each-reflog | sort -k2 | cut -d" " -f 2- >actual && + cat >expected <<-\EOF && + HEAD 0x1 + refs/heads/master 0x0 + refs/heads/new-master 0x0 + EOF + test_cmp expected actual + +ok 10 - for_each_reflog() + +expecting success of 1405.11 'for_each_reflog_ent()': + $RUN for-each-reflog-ent HEAD >actual && + head -n1 actual | grep one && + tail -n2 actual | head -n1 | grep recreate-master + +0000000000000000000000000000000000000000 d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 C O Mitter 1112911993 -700 commit (initial): one +0000000000000000000000000000000000000000 c90e4dc5e12224a428dedfbd45ba11e5531706a2 C O Mitter 1112912053 -700 commit (initial): recreate-master +ok 11 - for_each_reflog_ent() + +expecting success of 1405.12 'for_each_reflog_ent_reverse()': + $RUN for-each-reflog-ent-reverse HEAD >actual && + head -n1 actual | grep recreate-master && + tail -n2 actual | head -n1 | grep one + +0000000000000000000000000000000000000000 c90e4dc5e12224a428dedfbd45ba11e5531706a2 C O Mitter 1112912053 -700 commit (initial): recreate-master +0000000000000000000000000000000000000000 d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 C O Mitter 1112911993 -700 commit (initial): one +ok 12 - for_each_reflog_ent_reverse() + +expecting success of 1405.13 'reflog_exists(HEAD)': + $RUN reflog-exists HEAD + +ok 13 - reflog_exists(HEAD) + +expecting success of 1405.14 'delete_reflog(HEAD)': + $RUN delete-reflog HEAD && + ! test -f .git/logs/HEAD + +ok 14 - delete_reflog(HEAD) + +expecting success of 1405.15 'create-reflog(HEAD)': + $RUN create-reflog HEAD 1 && + test -f .git/logs/HEAD + +ok 15 - create-reflog(HEAD) + +expecting success of 1405.16 'delete_ref(refs/heads/foo)': + git checkout -b foo && + FOO_SHA1=`git rev-parse foo` && + git checkout --detach && + test_commit bar-commit && + git checkout -b bar && + BAR_SHA1=`git rev-parse bar` && + $RUN update-ref updating refs/heads/foo $BAR_SHA1 $FOO_SHA1 0 && + echo $BAR_SHA1 >expected && + git rev-parse refs/heads/foo >actual && + test_cmp expected actual + +Switched to a new branch 'foo' +HEAD is now at c90e4dc recreate-master +[detached HEAD 1e995a9] bar-commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 bar-commit.t +Switched to a new branch 'bar' +ok 16 - delete_ref(refs/heads/foo) + +expecting success of 1405.17 'delete_ref(refs/heads/foo)': + SHA1=`git rev-parse foo` && + git checkout --detach && + $RUN delete-ref msg refs/heads/foo $SHA1 0 && + test_must_fail git rev-parse refs/heads/foo -- + +HEAD is now at 1e995a9 bar-commit +fatal: bad revision 'refs/heads/foo' +ok 17 - delete_ref(refs/heads/foo) + +# passed all 17 test(s) +1..17 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1402-check-ref-format.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1402-check-ref-format/.git/ +expecting success of 1402.1 'ref name '' is invalid': + test_must_fail git check-ref-format '' + +ok 1 - ref name '' is invalid + +expecting success of 1402.2 'ref name '/' is invalid': + test_must_fail git check-ref-format '/' + +ok 2 - ref name '/' is invalid + +expecting success of 1402.3 'ref name '/' is invalid with options --allow-onelevel': + test_must_fail git check-ref-format --allow-onelevel '/' + +ok 3 - ref name '/' is invalid with options --allow-onelevel + +expecting success of 1402.4 'ref name '/' is invalid with options --normalize': + test_must_fail git check-ref-format --normalize '/' + +ok 4 - ref name '/' is invalid with options --normalize + +expecting success of 1402.5 'ref name '/' is invalid with options --allow-onelevel --normalize': + test_must_fail git check-ref-format --allow-onelevel --normalize '/' + +ok 5 - ref name '/' is invalid with options --allow-onelevel --normalize + +expecting success of 1402.6 'ref name 'foo/bar/baz' is valid': + git check-ref-format 'foo/bar/baz' + +ok 6 - ref name 'foo/bar/baz' is valid + +expecting success of 1402.7 'ref name 'foo/bar/baz' is valid with options --normalize': + git check-ref-format --normalize 'foo/bar/baz' + +foo/bar/baz +ok 7 - ref name 'foo/bar/baz' is valid with options --normalize + +expecting success of 1402.8 'ref name 'refs///heads/foo' is invalid': + test_must_fail git check-ref-format 'refs///heads/foo' + +ok 8 - ref name 'refs///heads/foo' is invalid + +expecting success of 1402.9 'ref name 'refs///heads/foo' is valid with options --normalize': + git check-ref-format --normalize 'refs///heads/foo' + +refs/heads/foo +ok 9 - ref name 'refs///heads/foo' is valid with options --normalize + +expecting success of 1402.10 'ref name 'heads/foo/' is invalid': + test_must_fail git check-ref-format 'heads/foo/' + +ok 10 - ref name 'heads/foo/' is invalid + +expecting success of 1402.11 'ref name '/heads/foo' is invalid': + test_must_fail git check-ref-format '/heads/foo' + +ok 11 - ref name '/heads/foo' is invalid + +expecting success of 1402.12 'ref name '/heads/foo' is valid with options --normalize': + git check-ref-format --normalize '/heads/foo' + +heads/foo +ok 12 - ref name '/heads/foo' is valid with options --normalize + +expecting success of 1402.13 'ref name '///heads/foo' is invalid': + test_must_fail git check-ref-format '///heads/foo' + +ok 13 - ref name '///heads/foo' is invalid + +expecting success of 1402.14 'ref name '///heads/foo' is valid with options --normalize': + git check-ref-format --normalize '///heads/foo' + +heads/foo +ok 14 - ref name '///heads/foo' is valid with options --normalize + +expecting success of 1402.15 'ref name './foo' is invalid': + test_must_fail git check-ref-format './foo' + +ok 15 - ref name './foo' is invalid + +expecting success of 1402.16 'ref name './foo/bar' is invalid': + test_must_fail git check-ref-format './foo/bar' + +ok 16 - ref name './foo/bar' is invalid + +expecting success of 1402.17 'ref name 'foo/./bar' is invalid': + test_must_fail git check-ref-format 'foo/./bar' + +ok 17 - ref name 'foo/./bar' is invalid + +expecting success of 1402.18 'ref name 'foo/bar/.' is invalid': + test_must_fail git check-ref-format 'foo/bar/.' + +ok 18 - ref name 'foo/bar/.' is invalid + +expecting success of 1402.19 'ref name '.refs/foo' is invalid': + test_must_fail git check-ref-format '.refs/foo' + +ok 19 - ref name '.refs/foo' is invalid + +expecting success of 1402.20 'ref name 'refs/heads/foo.' is invalid': + test_must_fail git check-ref-format 'refs/heads/foo.' + +ok 20 - ref name 'refs/heads/foo.' is invalid + +expecting success of 1402.21 'ref name 'heads/foo..bar' is invalid': + test_must_fail git check-ref-format 'heads/foo..bar' + +ok 21 - ref name 'heads/foo..bar' is invalid + +expecting success of 1402.22 'ref name 'heads/foo?bar' is invalid': + test_must_fail git check-ref-format 'heads/foo?bar' + +ok 22 - ref name 'heads/foo?bar' is invalid + +expecting success of 1402.23 'ref name 'foo./bar' is valid': + git check-ref-format 'foo./bar' + +ok 23 - ref name 'foo./bar' is valid + +expecting success of 1402.24 'ref name 'heads/foo.lock' is invalid': + test_must_fail git check-ref-format 'heads/foo.lock' + +ok 24 - ref name 'heads/foo.lock' is invalid + +expecting success of 1402.25 'ref name 'heads///foo.lock' is invalid': + test_must_fail git check-ref-format 'heads///foo.lock' + +ok 25 - ref name 'heads///foo.lock' is invalid + +expecting success of 1402.26 'ref name 'foo.lock/bar' is invalid': + test_must_fail git check-ref-format 'foo.lock/bar' + +ok 26 - ref name 'foo.lock/bar' is invalid + +expecting success of 1402.27 'ref name 'foo.lock///bar' is invalid': + test_must_fail git check-ref-format 'foo.lock///bar' + +ok 27 - ref name 'foo.lock///bar' is invalid + +expecting success of 1402.28 'ref name 'heads/foo@bar' is valid': + git check-ref-format 'heads/foo@bar' + +ok 28 - ref name 'heads/foo@bar' is valid + +expecting success of 1402.29 'ref name 'heads/v@{ation' is invalid': + test_must_fail git check-ref-format 'heads/v@{ation' ok 29 - ref name 'heads/v@{ation' is invalid @@ -40547,3124 +38510,400 @@ 1..99 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1415-worktree-refs.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1415-worktree-refs/.git/ -expecting success of 1415.1 'setup': - test_commit initial && - test_commit wt1 && - test_commit wt2 && - git worktree add wt1 wt1 && - git worktree add wt2 wt2 && - git checkout initial && - git update-ref refs/worktree/foo HEAD && - git -C wt1 update-ref refs/worktree/foo HEAD && - git -C wt2 update-ref refs/worktree/foo HEAD +*** t1406-submodule-ref-store.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1406-submodule-ref-store/.git/ +expecting success of 1406.1 'setup': + git init sub && + ( + cd sub && + test_commit first && + git checkout -b new-master + ) -[master (root-commit) 24b24cf] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 initial.t -[master 42fba42] wt1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 wt1.t -[master 83df652] wt2 +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1406-submodule-ref-store/sub/.git/ +[master (root-commit) 50e526b] first Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 wt2.t -Preparing worktree (detached HEAD 42fba42) -HEAD is now at 42fba42 wt1 -Preparing worktree (detached HEAD 83df652) -HEAD is now at 83df652 wt2 -Note: switching to 'initial'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false - -HEAD is now at 24b24cf initial + create mode 100644 first.t +Switched to a new branch 'new-master' ok 1 - setup -expecting success of 1415.2 'refs/worktree must not be packed': - git pack-refs --all && - test_path_is_missing .git/refs/tags/wt1 && - test_path_is_file .git/refs/worktree/foo && - test_path_is_file .git/worktrees/wt1/refs/worktree/foo && - test_path_is_file .git/worktrees/wt2/refs/worktree/foo +expecting success of 1406.2 'pack_refs() not allowed': + test_must_fail $RUN pack-refs 3 -ok 2 - refs/worktree must not be packed +BUG: refs/files-backend.c:138: operation pack_refs requires abilities 0x6, but only have 0x5 +ok 2 - pack_refs() not allowed -expecting success of 1415.3 'refs/worktree are per-worktree': - test_cmp_rev worktree/foo initial && - ( cd wt1 && test_cmp_rev worktree/foo wt1 ) && - ( cd wt2 && test_cmp_rev worktree/foo wt2 ) +expecting success of 1406.3 'peel_ref(new-tag)': + git -C sub rev-parse HEAD >expected && + git -C sub tag -a -m new-tag new-tag HEAD && + $RUN peel-ref refs/tags/new-tag >actual && + test_cmp expected actual -ok 3 - refs/worktree are per-worktree +ok 3 - peel_ref(new-tag) -expecting success of 1415.4 'resolve main-worktree/HEAD': - test_cmp_rev main-worktree/HEAD initial && - ( cd wt1 && test_cmp_rev main-worktree/HEAD initial ) && - ( cd wt2 && test_cmp_rev main-worktree/HEAD initial ) +expecting success of 1406.4 'create_symref() not allowed': + test_must_fail $RUN create-symref FOO refs/heads/master nothing -ok 4 - resolve main-worktree/HEAD +BUG: refs/files-backend.c:138: operation create_symref requires abilities 0x2, but only have 0x5 +ok 4 - create_symref() not allowed -expecting success of 1415.5 'ambiguous main-worktree/HEAD': - mkdir -p .git/refs/heads/main-worktree && - test_when_finished rm -f .git/refs/heads/main-worktree/HEAD && - cp .git/HEAD .git/refs/heads/main-worktree/HEAD && - git rev-parse main-worktree/HEAD 2>warn && - grep "main-worktree/HEAD.*ambiguous" warn +expecting success of 1406.5 'delete_refs() not allowed': + test_must_fail $RUN delete-refs 0 nothing FOO refs/tags/new-tag -24b24cf8a829f5b8c30dfc018b0a459a2ccaf380 -warning: refname 'main-worktree/HEAD' is ambiguous. -ok 5 - ambiguous main-worktree/HEAD +BUG: refs/files-backend.c:138: operation delete_refs requires abilities 0x2, but only have 0x5 +ok 5 - delete_refs() not allowed -expecting success of 1415.6 'resolve worktrees/xx/HEAD': - test_cmp_rev worktrees/wt1/HEAD wt1 && - ( cd wt1 && test_cmp_rev worktrees/wt1/HEAD wt1 ) && - ( cd wt2 && test_cmp_rev worktrees/wt1/HEAD wt1 ) +expecting success of 1406.6 'rename_refs() not allowed': + test_must_fail $RUN rename-ref refs/heads/master refs/heads/new-master -ok 6 - resolve worktrees/xx/HEAD +BUG: refs/files-backend.c:138: operation rename_ref requires abilities 0x2, but only have 0x5 +ok 6 - rename_refs() not allowed -expecting success of 1415.7 'ambiguous worktrees/xx/HEAD': - mkdir -p .git/refs/heads/worktrees/wt1 && - test_when_finished rm -f .git/refs/heads/worktrees/wt1/HEAD && - cp .git/HEAD .git/refs/heads/worktrees/wt1/HEAD && - git rev-parse worktrees/wt1/HEAD 2>warn && - grep "worktrees/wt1/HEAD.*ambiguous" warn +expecting success of 1406.7 'for_each_ref(refs/heads/)': + $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && + cat >expected <<-\EOF && + master 0x0 + new-master 0x0 + EOF + test_cmp expected actual -42fba42569eaa325aaade18832dfa5432d54ffd1 -warning: refname 'worktrees/wt1/HEAD' is ambiguous. -ok 7 - ambiguous worktrees/xx/HEAD +ok 7 - for_each_ref(refs/heads/) -expecting success of 1415.8 'reflog of main-worktree/HEAD': - git reflog HEAD | sed "s/HEAD/main-worktree\/HEAD/" >expected && - git reflog main-worktree/HEAD >actual && - test_cmp expected actual && - git -C wt1 reflog main-worktree/HEAD >actual.wt1 && - test_cmp expected actual.wt1 +expecting success of 1406.8 'for_each_ref() is sorted': + $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && + sort actual > expected && + test_cmp expected actual -ok 8 - reflog of main-worktree/HEAD +ok 8 - for_each_ref() is sorted -expecting success of 1415.9 'reflog of worktrees/xx/HEAD': - git -C wt2 reflog HEAD | sed "s/HEAD/worktrees\/wt2\/HEAD/" >expected && - git reflog worktrees/wt2/HEAD >actual && - test_cmp expected actual && - git -C wt1 reflog worktrees/wt2/HEAD >actual.wt1 && - test_cmp expected actual.wt1 && - git -C wt2 reflog worktrees/wt2/HEAD >actual.wt2 && - test_cmp expected actual.wt2 +expecting success of 1406.9 'resolve_ref(master)': + SHA1=`git -C sub rev-parse master` && + echo "$SHA1 refs/heads/master 0x0" >expected && + $RUN resolve-ref refs/heads/master 0 >actual && + test_cmp expected actual -ok 9 - reflog of worktrees/xx/HEAD +ok 9 - resolve_ref(master) -expecting success of 1415.10 'for-each-ref from main worktree': - mkdir fer1 && - git -C fer1 init repo && - test_commit -C fer1/repo initial && - git -C fer1/repo worktree add ../second && - git -C fer1/repo update-ref refs/bisect/first HEAD && - git -C fer1/repo update-ref refs/rewritten/first HEAD && - git -C fer1/repo update-ref refs/worktree/first HEAD && - git -C fer1/repo for-each-ref --format="%(refname)" | grep first >actual && - cat >expected <<-\EOF && - refs/bisect/first - refs/rewritten/first - refs/worktree/first - EOF - test_cmp expected actual +expecting success of 1406.10 'verify_ref(new-master)': + $RUN verify-ref refs/heads/new-master -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1415-worktree-refs/fer1/repo/.git/ -[master (root-commit) 1935181] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 initial.t -Preparing worktree (new branch 'second') -HEAD is now at 1935181 initial -ok 10 - for-each-ref from main worktree +ok 10 - verify_ref(new-master) -expecting success of 1415.11 'for-each-ref from linked worktree': - mkdir fer2 && - git -C fer2 init repo && - test_commit -C fer2/repo initial && - git -C fer2/repo worktree add ../second && - git -C fer2/second update-ref refs/bisect/second HEAD && - git -C fer2/second update-ref refs/rewritten/second HEAD && - git -C fer2/second update-ref refs/worktree/second HEAD && - git -C fer2/second for-each-ref --format="%(refname)" | grep second >actual && +expecting success of 1406.11 'for_each_reflog()': + $RUN for-each-reflog | sort | cut -d" " -f 2- >actual && cat >expected <<-\EOF && - refs/bisect/second - refs/heads/second - refs/rewritten/second - refs/worktree/second + HEAD 0x1 + refs/heads/master 0x0 + refs/heads/new-master 0x0 EOF test_cmp expected actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1415-worktree-refs/fer2/repo/.git/ -[master (root-commit) 23fa7ba] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 initial.t -Preparing worktree (new branch 'second') -HEAD is now at 23fa7ba initial -ok 11 - for-each-ref from linked worktree +ok 11 - for_each_reflog() -# passed all 11 test(s) -1..11 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1502-rev-parse-parseopt.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1502-rev-parse-parseopt/.git/ -expecting success of 1502.1 'setup optionspec': - sed -e "s/^|//" >optionspec <<\EOF -|some-command [options] ... -| -|some-command does foo and bar! -|-- -|h,help show the help -| -|foo some nifty option --foo -|bar= some cool option --bar with an argument -|b,baz a short and long option -| -| An option group Header -|C? option C with an optional argument -|d,data? short and long option with an optional argument -| -| Argument hints -|B=arg short option required argument -|bar2=arg long option required argument -|e,fuz=with-space short and long option required argument -|s?some short option optional argument -|long?data long option optional argument -|g,fluf?path short and long option optional argument -|longest=very-long-argument-hint a very long argument hint -|pair=key=value with an equals sign in the hint -|aswitch help te=t contains? fl*g characters!` -|bswitch=hint hint has trailing tab character -|cswitch switch has trailing tab character -|short-hint=a with a one symbol hint -| -|Extras -|extra1 line above used to cause a segfault but no longer does -EOF +expecting success of 1406.12 'for_each_reflog_ent()': + $RUN for-each-reflog-ent HEAD >actual && + head -n1 actual | grep first && + tail -n2 actual | head -n1 | grep master.to.new -ok 1 - setup optionspec +0000000000000000000000000000000000000000 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 commit (initial): first +50e526bb426771f6036ad3a8b0c81d511d91fc2a 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 checkout: moving from master to new-master +ok 12 - for_each_reflog_ent() -expecting success of 1502.2 'setup optionspec-no-switches': - sed -e "s/^|//" >optionspec_no_switches <<\EOF -|some-command [options] ... -| -|some-command does foo and bar! -|-- -EOF +expecting success of 1406.13 'for_each_reflog_ent_reverse()': + $RUN for-each-reflog-ent-reverse HEAD >actual && + head -n1 actual | grep master.to.new && + tail -n2 actual | head -n1 | grep first -ok 2 - setup optionspec-no-switches +50e526bb426771f6036ad3a8b0c81d511d91fc2a 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 checkout: moving from master to new-master +0000000000000000000000000000000000000000 50e526bb426771f6036ad3a8b0c81d511d91fc2a C O Mitter 1112911993 -700 commit (initial): first +ok 13 - for_each_reflog_ent_reverse() -expecting success of 1502.3 'setup optionspec-only-hidden-switches': - sed -e "s/^|//" >optionspec_only_hidden_switches <<\EOF -|some-command [options] ... -| -|some-command does foo and bar! -|-- -|hidden1* A hidden switch -EOF +expecting success of 1406.14 'reflog_exists(HEAD)': + $RUN reflog-exists HEAD -ok 3 - setup optionspec-only-hidden-switches +ok 14 - reflog_exists(HEAD) -expecting success of 1502.4 'test --parseopt help output': - sed -e "s/^|//" >expect <<\END_EXPECT && -|cat <<\EOF -|usage: some-command [options] ... -| -| some-command does foo and bar! -| -| -h, --help show the help -| --foo some nifty option --foo -| --bar ... some cool option --bar with an argument -| -b, --baz a short and long option -| -|An option group Header -| -C[...] option C with an optional argument -| -d, --data[=...] short and long option with an optional argument -| -|Argument hints -| -B short option required argument -| --bar2 long option required argument -| -e, --fuz -| short and long option required argument -| -s[] short option optional argument -| --long[=] long option optional argument -| -g, --fluf[=] short and long option optional argument -| --longest -| a very long argument hint -| --pair with an equals sign in the hint -| --aswitch help te=t contains? fl*g characters!` -| --bswitch hint has trailing tab character -| --cswitch switch has trailing tab character -| --short-hint with a one symbol hint -| -|Extras -| --extra1 line above used to cause a segfault but no longer does -| -|EOF -END_EXPECT - test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec && - test_i18ncmp expect output +expecting success of 1406.15 'delete_reflog() not allowed': + test_must_fail $RUN delete-reflog HEAD -checking prerequisite: C_LOCALE_OUTPUT +BUG: refs/files-backend.c:138: operation delete_reflog requires abilities 0x2, but only have 0x5 +ok 15 - delete_reflog() not allowed -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 1406.16 'create-reflog() not allowed': + test_must_fail $RUN create-reflog HEAD 1 -) -prerequisite C_LOCALE_OUTPUT ok -ok 4 - test --parseopt help output +BUG: refs/files-backend.c:138: operation create_reflog requires abilities 0x2, but only have 0x5 +ok 16 - create-reflog() not allowed -expecting success of 1502.5 'test --parseopt help output no switches': - sed -e "s/^|//" >expect <<\END_EXPECT && -|cat <<\EOF -|usage: some-command [options] ... -| -| some-command does foo and bar! -| -|EOF -END_EXPECT - test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec_no_switches && - test_i18ncmp expect output +# passed all 16 test(s) +1..16 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1407-worktree-ref-store.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1407-worktree-ref-store/.git/ +expecting success of 1407.1 'setup': + test_commit first && + git worktree add -b wt-master wt && + ( + cd wt && + test_commit second + ) -ok 5 - test --parseopt help output no switches +[master (root-commit) 50e526b] first + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 first.t +Preparing worktree (new branch 'wt-master') +HEAD is now at 50e526b first +[wt-master d662100] second + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 second.t +ok 1 - setup -expecting success of 1502.6 'test --parseopt help output hidden switches': - sed -e "s/^|//" >expect <<\END_EXPECT && -|cat <<\EOF -|usage: some-command [options] ... -| -| some-command does foo and bar! -| -|EOF -END_EXPECT - test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec_only_hidden_switches && - test_i18ncmp expect output +expecting success of 1407.2 'resolve_ref()': + SHA1=`git rev-parse master` && + echo "$SHA1 refs/heads/master 0x0" >expected && + $RWT resolve-ref refs/heads/master 0 >actual && + test_cmp expected actual && + $RMAIN resolve-ref refs/heads/master 0 >actual && + test_cmp expected actual -ok 6 - test --parseopt help output hidden switches +ok 2 - resolve_ref() -expecting success of 1502.7 'test --parseopt help-all output hidden switches': - sed -e "s/^|//" >expect <<\END_EXPECT && -|cat <<\EOF -|usage: some-command [options] ... -| -| some-command does foo and bar! -| -| --hidden1 A hidden switch -| -|EOF -END_EXPECT - test_expect_code 129 git rev-parse --parseopt -- --help-all > output < optionspec_only_hidden_switches && - test_i18ncmp expect output +expecting success of 1407.3 'resolve_ref()': + SHA1=`git -C wt rev-parse HEAD` && + echo "$SHA1 refs/heads/wt-master 0x1" >expected && + $RWT resolve-ref HEAD 0 >actual && + test_cmp expected actual && -ok 7 - test --parseopt help-all output hidden switches + SHA1=`git rev-parse HEAD` && + echo "$SHA1 refs/heads/master 0x1" >expected && + $RMAIN resolve-ref HEAD 0 >actual && + test_cmp expected actual -expecting success of 1502.8 'test --parseopt invalid switch help output': - sed -e "s/^|//" >expect <<\END_EXPECT && -|error: unknown option `does-not-exist' -|usage: some-command [options] ... -| -| some-command does foo and bar! -| -| -h, --help show the help -| --foo some nifty option --foo -| --bar ... some cool option --bar with an argument -| -b, --baz a short and long option -| -|An option group Header -| -C[...] option C with an optional argument -| -d, --data[=...] short and long option with an optional argument -| -|Argument hints -| -B short option required argument -| --bar2 long option required argument -| -e, --fuz -| short and long option required argument -| -s[] short option optional argument -| --long[=] long option optional argument -| -g, --fluf[=] short and long option optional argument -| --longest -| a very long argument hint -| --pair with an equals sign in the hint -| --aswitch help te=t contains? fl*g characters!` -| --bswitch hint has trailing tab character -| --cswitch switch has trailing tab character -| --short-hint with a one symbol hint -| -|Extras -| --extra1 line above used to cause a segfault but no longer does -| -END_EXPECT - test_expect_code 129 git rev-parse --parseopt -- --does-not-exist 1>/dev/null 2>output < optionspec && - test_i18ncmp expect output +ok 3 - resolve_ref() -ok 8 - test --parseopt invalid switch help output +expecting success of 1407.4 'create_symref(FOO, refs/heads/master)': + $RWT create-symref FOO refs/heads/master nothing && + echo refs/heads/master >expected && + git -C wt symbolic-ref FOO >actual && + test_cmp expected actual && -expecting success of 1502.9 'setup expect.1': - cat > expect <expected && + git symbolic-ref FOO >actual && + test_cmp expected actual -ok 9 - setup expect.1 +ok 4 - create_symref(FOO, refs/heads/master) -expecting success of 1502.10 'test --parseopt': - git rev-parse --parseopt -- --foo --bar=ham --baz --aswitch arg < optionspec > output && - test_cmp expect output +expecting success of 1407.5 'for_each_reflog()': + echo $ZERO_OID > .git/logs/PSEUDO-MAIN && + mkdir -p .git/logs/refs/bisect && + echo $ZERO_OID > .git/logs/refs/bisect/random && -ok 10 - test --parseopt + echo $ZERO_OID > .git/worktrees/wt/logs/PSEUDO-WT && + mkdir -p .git/worktrees/wt/logs/refs/bisect && + echo $ZERO_OID > .git/worktrees/wt/logs/refs/bisect/wt-random && -expecting success of 1502.11 'test --parseopt with mixed options and arguments': - git rev-parse --parseopt -- --foo arg --bar=ham --baz --aswitch < optionspec > output && - test_cmp expect output + $RWT for-each-reflog | cut -d" " -f 2- | sort >actual && + cat >expected <<-\EOF && + HEAD 0x1 + PSEUDO-WT 0x0 + refs/bisect/wt-random 0x0 + refs/heads/master 0x0 + refs/heads/wt-master 0x0 + EOF + test_cmp expected actual && -ok 11 - test --parseopt with mixed options and arguments + $RMAIN for-each-reflog | cut -d" " -f 2- | sort >actual && + cat >expected <<-\EOF && + HEAD 0x1 + PSEUDO-MAIN 0x0 + refs/bisect/random 0x0 + refs/heads/master 0x0 + refs/heads/wt-master 0x0 + EOF + test_cmp expected actual -expecting success of 1502.12 'setup expect.2': - cat > expect < output && - test_cmp expect output +ok 1 - clear default config -ok 13 - test --parseopt with -- +expecting success of 1300.2 'initial': + git config section.penguin "little blue" && + test_cmp expect .git/config -expecting success of 1502.14 'test --parseopt --stop-at-non-option': - git rev-parse --parseopt --stop-at-non-option -- --foo arg --bar=ham < optionspec > output && - test_cmp expect output +ok 2 - initial -ok 14 - test --parseopt --stop-at-non-option +expecting success of 1300.3 'mixed case': + git config Section.Movie BadPhysics && + test_cmp expect .git/config -expecting success of 1502.15 'setup expect.3': - cat > expect < output && - test_cmp expect output +ok 4 - similar section -ok 16 - test --parseopt --keep-dashdash +expecting success of 1300.5 'uppercase section': + git config SECTION.UPPERCASE true && + test_cmp expect .git/config -expecting success of 1502.17 'setup expect.4': - cat >expect <output && - test_cmp expect output +ok 6 - replace with non-match -ok 18 - test --parseopt --keep-dashdash --stop-at-non-option with -- +expecting success of 1300.7 'replace with non-match (actually matching)': + git config section.penguin "very blue" !kingpin -expecting success of 1502.19 'setup expect.5': - cat > expect <output && - test_cmp expect output +expecting success of 1300.9 'find mixed-case key by canonical name': + test_cmp_config Second sections.whatever -ok 20 - test --parseopt --keep-dashdash --stop-at-non-option without -- +ok 9 - find mixed-case key by canonical name -expecting success of 1502.21 'setup expect.6': - cat > expect <output && - test_cmp expect output +expecting success of 1300.11 'subsections are not canonicalized by git-config': + cat >>.git/config <<-\EOF && + [section.SubSection] + key = one + [section "SubSection"] + key = two + EOF + test_cmp_config one section.subsection.key && + test_cmp_config two section.SubSection.key -ok 22 - test --parseopt --stuck-long +ok 11 - subsections are not canonicalized by git-config -expecting success of 1502.23 'setup expect.7': - cat > expect <output && - test_cmp expect output +expecting success of 1300.13 'unset with cont. lines is correct': test_cmp expect .git/config +ok 13 - unset with cont. lines is correct -ok 24 - test --parseopt --stuck-long and empty optional argument +expecting success of 1300.14 'multiple unset': + git config --unset-all beta.haha -expecting success of 1502.25 'setup expect.8': - cat > expect <output && - test_cmp expect output +ok 15 - multiple unset is correct -ok 26 - test --parseopt --stuck-long and long option with unset optional argument +expecting success of 1300.16 '--replace-all missing value': + test_must_fail git config --replace-all beta.haha && + test_cmp .git/config2 .git/config -expecting success of 1502.27 'test --parseopt --stuck-long and short option with unset optional argument': - git rev-parse --parseopt --stuck-long -- -d arg -b output && - test_cmp expect output +error: wrong number of arguments, should be from 2 to 3 +usage: git config [] -ok 27 - test --parseopt --stuck-long and short option with unset optional argument +Config file location + --global use global config file + --system use system config file + --local use repository config file + --worktree use per-worktree config file + -f, --file use given config file + --blob read config from given blob object -# passed all 27 test(s) -1..27 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1505-rev-parse-last.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1505-rev-parse-last/.git/ -expecting success of 1505.1 'setup': +Action + --get get value: name [value-pattern] + --get-all get all values: key [value-pattern] + --get-regexp get values for regexp: name-regex [value-pattern] + --get-urlmatch get value specific for the URL: section[.var] URL + --replace-all replace all matching variables: name value [value-pattern] + --add add a new variable: name value + --unset remove a variable: name [value-pattern] + --unset-all remove all matches: name [value-pattern] + --rename-section rename section: old-name new-name + --remove-section remove a section: name + -l, --list list all + --fixed-value use string equality when comparing values to 'value-pattern' + -e, --edit open an editor + --get-color find the color configured: slot [default] + --get-colorbool find the color setting: slot [stdout-is-tty] - make_commit 1 && - git branch side && - make_commit 2 && - make_commit 3 && - git checkout side && - make_commit 4 && - git merge master && - git checkout master +Type + -t, --type <> value is given this type + --bool value is "true" or "false" + --int value is decimal number + --bool-or-int value is --bool or --int + --bool-or-str value is --bool or string + --path value is a path (file or directory name) + --expiry-date value is an expiry date +Other + -z, --null terminate values with NUL byte + --name-only show variable names only + --includes respect include directives on lookup + --show-origin show origin of config (file, standard input, blob, command line) + --show-scope show scope of config (worktree, local, global, system, command) + --default with --get, use default value when missing entry -[master (root-commit) c11cd10] 1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 1 -[master ba98451] 2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 2 -[master aefd701] 3 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 3 -Switched to branch 'side' -[side 1d4df77] 4 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 4 -Merging: -1d4df77 4 -virtual master -found 1 common ancestor: -c11cd10 1 -Merge made by the 'recursive' strategy. - 2 | 1 + - 3 | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 2 - create mode 100644 3 -Switched to branch 'master' -ok 1 - setup +ok 16 - --replace-all missing value -expecting success of 1505.2 '@{-1} works': - test_cmp_rev side @{-1} +expecting success of 1300.17 '--replace-all': + git config --replace-all beta.haha gamma -ok 2 - @{-1} works +ok 17 - --replace-all -expecting success of 1505.3 '@{-1}~2 works': - test_cmp_rev side~2 @{-1}~2 +expecting success of 1300.18 'all replaced': + test_cmp expect .git/config -ok 3 - @{-1}~2 works +ok 18 - all replaced -expecting success of 1505.4 '@{-1}^2 works': - test_cmp_rev side^2 @{-1}^2 +expecting success of 1300.19 'really mean test': + git config beta.haha alpha && + test_cmp expect .git/config -ok 4 - @{-1}^2 works +ok 19 - really mean test -expecting success of 1505.5 '@{-1}@{1} works': - test_cmp_rev side@{1} @{-1}@{1} +expecting success of 1300.20 'really really mean test': + git config nextsection.nonewline wow && + test_cmp expect .git/config -ok 5 - @{-1}@{1} works +ok 20 - really really mean test -expecting success of 1505.6 '@{-2} works': - test_cmp_rev master @{-2} +expecting success of 1300.21 'get value': + test_cmp_config alpha beta.haha -ok 6 - @{-2} works - -expecting success of 1505.7 '@{-3} fails': - test_must_fail git rev-parse @{-3} - -fatal: ambiguous argument '@{-3}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -@{-3} -ok 7 - @{-3} fails - -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1503-rev-parse-verify.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1503-rev-parse-verify/.git/ -expecting success of 1503.1 'set up basic repo with 1 file (hello) and 4 commits': - add_line_into_file "1: Hello World" hello && - HASH1=$(git rev-parse --verify HEAD) && - add_line_into_file "2: A new day for git" hello && - HASH2=$(git rev-parse --verify HEAD) && - add_line_into_file "3: Another new day for git" hello && - HASH3=$(git rev-parse --verify HEAD) && - add_line_into_file "4: Ciao for now" hello && - HASH4=$(git rev-parse --verify HEAD) - -ok 1 - set up basic repo with 1 file (hello) and 4 commits - -expecting success of 1503.2 'works with one good rev': - rev_hash1=$(git rev-parse --verify $HASH1) && - test "$rev_hash1" = "$HASH1" && - rev_hash2=$(git rev-parse --verify $HASH2) && - test "$rev_hash2" = "$HASH2" && - rev_hash3=$(git rev-parse --verify $HASH3) && - test "$rev_hash3" = "$HASH3" && - rev_hash4=$(git rev-parse --verify $HASH4) && - test "$rev_hash4" = "$HASH4" && - rev_master=$(git rev-parse --verify master) && - test "$rev_master" = "$HASH4" && - rev_head=$(git rev-parse --verify HEAD) && - test "$rev_head" = "$HASH4" - -ok 2 - works with one good rev - -expecting success of 1503.3 'fails with any bad rev or many good revs': - test_must_fail git rev-parse --verify 2>error && - grep "single revision" error && - test_must_fail git rev-parse --verify foo 2>error && - grep "single revision" error && - test_must_fail git rev-parse --verify HEAD bar 2>error && - grep "single revision" error && - test_must_fail git rev-parse --verify baz HEAD 2>error && - grep "single revision" error && - test_must_fail git rev-parse --verify $HASH2 HEAD 2>error && - grep "single revision" error - -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -ok 3 - fails with any bad rev or many good revs - -expecting success of 1503.4 'fails silently when using -q': - test_must_fail git rev-parse --verify --quiet 2>error && - test_must_be_empty error && - test_must_fail git rev-parse -q --verify foo 2>error && - test_must_be_empty error && - test_must_fail git rev-parse --verify -q HEAD bar 2>error && - test_must_be_empty error && - test_must_fail git rev-parse --quiet --verify baz HEAD 2>error && - test_must_be_empty error && - test_must_fail git rev-parse -q --verify $HASH2 HEAD 2>error && - test_must_be_empty error - -ok 4 - fails silently when using -q - -expecting success of 1503.5 'fails silently when using -q with deleted reflogs': - ref=$(git rev-parse HEAD) && - git update-ref --create-reflog -m "message for refs/test" refs/test "$ref" && - git reflog delete --updateref --rewrite refs/test@{0} && - test_must_fail git rev-parse -q --verify refs/test@{0} >error 2>&1 && - test_must_be_empty error - -ok 5 - fails silently when using -q with deleted reflogs - -expecting success of 1503.6 'fails silently when using -q with not enough reflogs': - ref=$(git rev-parse HEAD) && - git update-ref --create-reflog -m "message for refs/test2" refs/test2 "$ref" && - test_must_fail git rev-parse -q --verify refs/test2@{999} >error 2>&1 && - test_must_be_empty error - -ok 6 - fails silently when using -q with not enough reflogs - -expecting success of 1503.7 'succeeds silently with -q and reflogs that do not go far back enough in time': - ref=$(git rev-parse HEAD) && - git update-ref --create-reflog -m "message for refs/test3" refs/test3 "$ref" && - git rev-parse -q --verify refs/test3@{1.year.ago} >actual 2>error && - test_must_be_empty error && - echo "$ref" >expect && - test_cmp expect actual - -ok 7 - succeeds silently with -q and reflogs that do not go far back enough in time - -expecting success of 1503.8 'no stdout output on error': - test -z "$(git rev-parse --verify)" && - test -z "$(git rev-parse --verify foo)" && - test -z "$(git rev-parse --verify baz HEAD)" && - test -z "$(git rev-parse --verify HEAD bar)" && - test -z "$(git rev-parse --verify $HASH2 HEAD)" - -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -ok 8 - no stdout output on error - -expecting success of 1503.9 'use --default': - git rev-parse --verify --default master && - git rev-parse --verify --default master HEAD && - git rev-parse --default master --verify && - git rev-parse --default master --verify HEAD && - git rev-parse --verify HEAD --default master && - test_must_fail git rev-parse --verify foo --default master && - test_must_fail git rev-parse --default HEAD --verify bar && - test_must_fail git rev-parse --verify --default HEAD baz && - test_must_fail git rev-parse --default foo --verify && - test_must_fail git rev-parse --verify --default bar - -32a594a3fdac2d57cf6d02987e30eec68511498c -32a594a3fdac2d57cf6d02987e30eec68511498c -32a594a3fdac2d57cf6d02987e30eec68511498c -32a594a3fdac2d57cf6d02987e30eec68511498c -32a594a3fdac2d57cf6d02987e30eec68511498c -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -fatal: Needed a single revision -ok 9 - use --default - -expecting success of 1503.10 'master@{n} for various n': - N=$(git reflog | wc -l) && - Nm1=$(($N-1)) && - Np1=$(($N+1)) && - git rev-parse --verify master@{0} && - git rev-parse --verify master@{1} && - git rev-parse --verify master@{$Nm1} && - test_must_fail git rev-parse --verify master@{$N} && - test_must_fail git rev-parse --verify master@{$Np1} - -32a594a3fdac2d57cf6d02987e30eec68511498c -3de952f2416b6084f557ec417709eac740c6818c -88bcdc1839f0ad191ffdd65cae2a2a862d682151 -fatal: log for 'master' only has 4 entries -fatal: log for 'master' only has 4 entries -ok 10 - master@{n} for various n - -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -expecting success of 1503.11 'ref resolution not confused by broken symlinks': - ln -s does-not-exist .git/refs/heads/broken && - test_must_fail git rev-parse --verify broken - -fatal: Needed a single revision -ok 11 - ref resolution not confused by broken symlinks - -expecting success of 1503.12 'options can appear after --verify': - git rev-parse --verify HEAD >expect && - git rev-parse --verify -q HEAD >actual && - test_cmp expect actual - -ok 12 - options can appear after --verify - -expecting success of 1503.13 'verify respects --end-of-options': - git update-ref refs/heads/-tricky HEAD && - git rev-parse --verify HEAD >expect && - git rev-parse --verify --end-of-options -tricky >actual && - test_cmp expect actual - -ok 13 - verify respects --end-of-options - -# passed all 13 test(s) -1..13 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1509-root-work-tree.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1509-root-work-tree/.git/ -1..0 # SKIP Test requiring writable / skipped. Read this test if you want to run it -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1504-ceiling-dirs.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1504-ceiling-dirs/.git/ -expecting success of 1504.1 'no_ceil': test '' = "$(git rev-parse --show-prefix)" -ok 1 - no_ceil - -expecting success of 1504.2 'ceil_empty': test '' = "$(git rev-parse --show-prefix)" -ok 2 - ceil_empty - -expecting success of 1504.3 'ceil_at_parent': test '' = "$(git rev-parse --show-prefix)" -ok 3 - ceil_at_parent - -expecting success of 1504.4 'ceil_at_parent_slash': test '' = "$(git rev-parse --show-prefix)" -ok 4 - ceil_at_parent_slash - -expecting success of 1504.5 'ceil_at_trash': test '' = "$(git rev-parse --show-prefix)" -ok 5 - ceil_at_trash - -expecting success of 1504.6 'ceil_at_trash_slash': test '' = "$(git rev-parse --show-prefix)" -ok 6 - ceil_at_trash_slash - -expecting success of 1504.7 'ceil_at_sub': test '' = "$(git rev-parse --show-prefix)" -ok 7 - ceil_at_sub - -expecting success of 1504.8 'ceil_at_sub_slash': test '' = "$(git rev-parse --show-prefix)" -ok 8 - ceil_at_sub_slash - -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -expecting success of 1504.9 'subdir_no_ceil': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 9 - subdir_no_ceil - -expecting success of 1504.10 'subdir_ceil_empty': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 10 - subdir_ceil_empty - -expecting success of 1504.11 'subdir_ceil_at_trash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 11 - subdir_ceil_at_trash: prefix - -expecting success of 1504.12 'subdir_ceil_at_trash_slash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 12 - subdir_ceil_at_trash_slash: prefix - -expecting success of 1504.13 'subdir_ceil_at_sub: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 13 - subdir_ceil_at_sub: prefix - -expecting success of 1504.14 'subdir_ceil_at_sub_slash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 14 - subdir_ceil_at_sub_slash: prefix - -expecting success of 1504.15 'subdir_ceil_at_top: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 15 - subdir_ceil_at_top: prefix - -expecting success of 1504.16 'subdir_ceil_at_top_slash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 16 - subdir_ceil_at_top_slash: prefix - -expecting success of 1504.17 'subdir_ceil_at_top_no_resolve': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 17 - subdir_ceil_at_top_no_resolve - -expecting success of 1504.18 'subdir_ceil_at_top_slash_no_resolve': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 18 - subdir_ceil_at_top_slash_no_resolve - -expecting success of 1504.19 'subdir_ceil_at_subdir': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 19 - subdir_ceil_at_subdir - -expecting success of 1504.20 'subdir_ceil_at_subdir_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 20 - subdir_ceil_at_subdir_slash - -expecting success of 1504.21 'subdir_ceil_at_su': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 21 - subdir_ceil_at_su - -expecting success of 1504.22 'subdir_ceil_at_su_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 22 - subdir_ceil_at_su_slash - -expecting success of 1504.23 'subdir_ceil_at_sub_di': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 23 - subdir_ceil_at_sub_di - -expecting success of 1504.24 'subdir_ceil_at_sub_di_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 24 - subdir_ceil_at_sub_di_slash - -expecting success of 1504.25 'subdir_ceil_at_subdi': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 25 - subdir_ceil_at_subdi - -expecting success of 1504.26 'subdir_ceil_at_subdi_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" -ok 26 - subdir_ceil_at_subdi_slash - -expecting success of 1504.27 'second_of_two: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 27 - second_of_two: prefix - -expecting success of 1504.28 'first_of_two: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 28 - first_of_two: prefix - -expecting success of 1504.29 'second_of_three: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 29 - second_of_three: prefix - -expecting success of 1504.30 'git_dir_specified': test '' = "$(git rev-parse --show-prefix)" -ok 30 - git_dir_specified - -expecting success of 1504.31 'sd_no_ceil': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 31 - sd_no_ceil - -expecting success of 1504.32 'sd_ceil_empty': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 32 - sd_ceil_empty - -expecting success of 1504.33 'sd_ceil_at_trash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 33 - sd_ceil_at_trash: prefix - -expecting success of 1504.34 'sd_ceil_at_trash_slash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 34 - sd_ceil_at_trash_slash: prefix - -expecting success of 1504.35 'sd_ceil_at_s: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 35 - sd_ceil_at_s: prefix - -expecting success of 1504.36 'sd_ceil_at_s_slash: prefix': - test_expect_code 128 git rev-parse --show-prefix - -fatal: not a git repository (or any of the parent directories): .git -ok 36 - sd_ceil_at_s_slash: prefix - -expecting success of 1504.37 'sd_ceil_at_sd': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 37 - sd_ceil_at_sd - -expecting success of 1504.38 'sd_ceil_at_sd_slash': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 38 - sd_ceil_at_sd_slash - -expecting success of 1504.39 'sd_ceil_at_su': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 39 - sd_ceil_at_su - -expecting success of 1504.40 'sd_ceil_at_su_slash': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 40 - sd_ceil_at_su_slash - -expecting success of 1504.41 'sd_ceil_at_s_di': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 41 - sd_ceil_at_s_di - -expecting success of 1504.42 'sd_ceil_at_s_di_slash': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 42 - sd_ceil_at_s_di_slash - -expecting success of 1504.43 'sd_ceil_at_sdi': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 43 - sd_ceil_at_sdi - -expecting success of 1504.44 'sd_ceil_at_sdi_slash': test 's/d/' = "$(git rev-parse --show-prefix)" -ok 44 - sd_ceil_at_sdi_slash - -# passed all 44 test(s) -1..44 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1410-reflog.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1410-reflog/.git/ -expecting success of 1410.1 'setup': - mkdir -p A/B && - echo rat >C && - echo ox >A/D && - echo tiger >A/B/E && - git add . && - - test_tick && git commit -m rabbit && - H=$(git rev-parse --verify HEAD) && - A=$(git rev-parse --verify HEAD:A) && - B=$(git rev-parse --verify HEAD:A/B) && - C=$(git rev-parse --verify HEAD:C) && - D=$(git rev-parse --verify HEAD:A/D) && - E=$(git rev-parse --verify HEAD:A/B/E) && - check_fsck && - - test_chmod +x C && - git add C && - test_tick && git commit -m dragon && - L=$(git rev-parse --verify HEAD) && - check_fsck && - - rm -f C A/B/E && - echo snake >F && - echo horse >A/G && - git add F A/G && - test_tick && git commit -a -m sheep && - F=$(git rev-parse --verify HEAD:F) && - G=$(git rev-parse --verify HEAD:A/G) && - I=$(git rev-parse --verify HEAD:A) && - J=$(git rev-parse --verify HEAD) && - check_fsck && - - rm -f A/G && - test_tick && git commit -a -m monkey && - K=$(git rev-parse --verify HEAD) && - check_fsck && - - check_have A B C D E F G H I J K L && - - git prune && - - check_have A B C D E F G H I J K L && - - check_fsck && - - git reflog refs/heads/master >output && - test_line_count = 4 output - -[master (root-commit) 07fcc4f] rabbit - Author: A U Thor - 3 files changed, 3 insertions(+) - create mode 100644 A/B/E - create mode 100644 A/D - create mode 100644 C -[master 7d1a0b8] dragon - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - mode change 100644 => 100755 C -[master 15ab5f0] sheep - Author: A U Thor - 4 files changed, 2 insertions(+), 2 deletions(-) - delete mode 100644 A/B/E - create mode 100644 A/G - delete mode 100755 C - create mode 100644 F -[master 3ac530f] monkey - Author: A U Thor - 1 file changed, 1 deletion(-) - delete mode 100644 A/G -tree -tree -blob -blob -blob -blob -blob -commit -tree -commit -commit -commit -tree -tree -blob -blob -blob -blob -blob -commit -tree -commit -commit -commit -ok 1 - setup - -expecting success of 1410.2 'rewind': - test_tick && git reset --hard HEAD~2 && - test -f C && - test -f A/B/E && - ! test -f F && - ! test -f A/G && - - check_have A B C D E F G H I J K L && - - git prune && - - check_have A B C D E F G H I J K L && - - git reflog refs/heads/master >output && - test_line_count = 5 output - -HEAD is now at 7d1a0b8 dragon -tree -tree -blob -blob -blob -blob -blob -commit -tree -commit -commit -commit -tree -tree -blob -blob -blob -blob -blob -commit -tree -commit -commit -commit -ok 2 - rewind - -expecting success of 1410.3 'corrupt and check': - - corrupt $F && - check_fsck "missing blob $F" - - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -missing blob 9ae84adb2704cbd49549e52169b4043871e13432 -ok 3 - corrupt and check - -expecting success of 1410.4 'reflog expire --dry-run should not touch reflog': - - git reflog expire --dry-run \ - --expire=$(($test_tick - 10000)) \ - --expire-unreachable=$(($test_tick - 10000)) \ - --stale-fix \ - --all && - - git reflog refs/heads/master >output && - test_line_count = 5 output && - - check_fsck "missing blob $F" - -would prune commit: sheep -would prune commit: monkey -would prune reset: moving to HEAD~2 -would prune commit: sheep -would prune commit: monkey -would prune reset: moving to HEAD~2 -missing blob 9ae84adb2704cbd49549e52169b4043871e13432 -ok 4 - reflog expire --dry-run should not touch reflog - -expecting success of 1410.5 'reflog expire': - - git reflog expire --verbose \ - --expire=$(($test_tick - 10000)) \ - --expire-unreachable=$(($test_tick - 10000)) \ - --stale-fix \ - --all && - - git reflog refs/heads/master >output && - test_line_count = 2 output && - - check_fsck "dangling commit $K" - -Marking reachable objects... -keep commit (initial): rabbit -keep commit: dragon -prune commit: sheep -prune commit: monkey -prune reset: moving to HEAD~2 -keep commit (initial): rabbit -keep commit: dragon -prune commit: sheep -prune commit: monkey -prune reset: moving to HEAD~2 -dangling commit 3ac530f2f6c3a45206a6b2d455baf89d1c8f672d -ok 5 - reflog expire - -expecting success of 1410.6 'prune and fsck': - - git prune && - check_fsck && - - check_have A B C D E H L && - check_dont_have F G I J K - - -tree -tree -blob -blob -blob -commit -commit -fatal: git cat-file: could not get object info -fatal: git cat-file: could not get object info -fatal: git cat-file: could not get object info -fatal: git cat-file: could not get object info -fatal: git cat-file: could not get object info -ok 6 - prune and fsck - -expecting success of 1410.7 'recover and check': - - recover $F && - check_fsck "dangling blob $F" - - -dangling blob 9ae84adb2704cbd49549e52169b4043871e13432 -ok 7 - recover and check - -expecting success of 1410.8 'delete': - echo 1 > C && - test_tick && - git commit -m rat C && - - echo 2 > C && - test_tick && - git commit -m ox C && - - echo 3 > C && - test_tick && - git commit -m tiger C && - - HEAD_entry_count=$(git reflog | wc -l) && - master_entry_count=$(git reflog show master | wc -l) && - - test $HEAD_entry_count = 5 && - test $master_entry_count = 5 && - - - git reflog delete master@{1} && - git reflog show master > output && - test_line_count = $(($master_entry_count - 1)) output && - test $HEAD_entry_count = $(git reflog | wc -l) && - ! grep ox < output && - - master_entry_count=$(wc -l < output) && - - git reflog delete HEAD@{1} && - test $(($HEAD_entry_count -1)) = $(git reflog | wc -l) && - test $master_entry_count = $(git reflog show master | wc -l) && - - HEAD_entry_count=$(git reflog | wc -l) && - - git reflog delete master@{07.04.2005.15:15:00.-0700} && - git reflog show master > output && - test_line_count = $(($master_entry_count - 1)) output && - ! grep dragon < output - - -[master b60a214] rat - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -[master 9908ef9] ox - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -[master b93561f] tiger - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 8 - delete - -expecting success of 1410.9 'rewind2': - - test_tick && git reset --hard HEAD~2 && - git reflog refs/heads/master >output && - test_line_count = 4 output - -HEAD is now at b60a214 rat -ok 9 - rewind2 - -expecting success of 1410.10 '--expire=never': - - git reflog expire --verbose \ - --expire=never \ - --expire-unreachable=never \ - --all && - git reflog refs/heads/master >output && - test_line_count = 4 output - -keep commit (initial): rabbit -keep commit: dragon -keep commit: rat -keep commit: tiger -keep reset: moving to HEAD~2 -keep commit (initial): rabbit -keep commit: rat -keep commit: tiger -keep reset: moving to HEAD~2 -ok 10 - --expire=never - -expecting success of 1410.11 'gc.reflogexpire=never': - test_config gc.reflogexpire never && - test_config gc.reflogexpireunreachable never && - - git reflog expire --verbose --all >output && - test_line_count = 9 output && - - git reflog refs/heads/master >output && - test_line_count = 4 output - -ok 11 - gc.reflogexpire=never - -expecting success of 1410.12 'gc.reflogexpire=false': - test_config gc.reflogexpire false && - test_config gc.reflogexpireunreachable false && - - git reflog expire --verbose --all && - git reflog refs/heads/master >output && - test_line_count = 4 output - - -keep commit (initial): rabbit -keep commit: dragon -keep commit: rat -keep commit: tiger -keep reset: moving to HEAD~2 -keep commit (initial): rabbit -keep commit: rat -keep commit: tiger -keep reset: moving to HEAD~2 -ok 12 - gc.reflogexpire=false - -expecting success of 1410.13 'git reflog expire unknown reference': - test_config gc.reflogexpire never && - test_config gc.reflogexpireunreachable never && - - test_must_fail git reflog expire master@{123} 2>stderr && - test_i18ngrep "points nowhere" stderr && - test_must_fail git reflog expire does-not-exist 2>stderr && - test_i18ngrep "points nowhere" stderr - -error: master@{123} points nowhere! -error: does-not-exist points nowhere! -ok 13 - git reflog expire unknown reference - -expecting success of 1410.14 'checkout should not delete log for packed ref': - test $(git reflog master | wc -l) = 4 && - git branch foo && - git pack-refs --all && - git checkout foo && - test $(git reflog master | wc -l) = 4 - -Switched to branch 'foo' -ok 14 - checkout should not delete log for packed ref - -expecting success of 1410.15 'stale dirs do not cause d/f conflicts (reflogs on)': - test_when_finished "git branch -d one || git branch -d one/two" && - - git branch one/two master && - echo "one/two@{0} branch: Created from master" >expect && - git log -g --format="%gd %gs" one/two >actual && - test_cmp expect actual && - git branch -d one/two && - - # now logs/refs/heads/one is a stale directory, but - # we should move it out of the way to create "one" reflog - git branch one master && - echo "one@{0} branch: Created from master" >expect && - git log -g --format="%gd %gs" one >actual && - test_cmp expect actual - -Deleted branch one/two (was b60a214). -Deleted branch one (was b60a214). -ok 15 - stale dirs do not cause d/f conflicts (reflogs on) - -expecting success of 1410.16 'stale dirs do not cause d/f conflicts (reflogs off)': - test_when_finished "git branch -d one || git branch -d one/two" && - - git branch one/two master && - echo "one/two@{0} branch: Created from master" >expect && - git log -g --format="%gd %gs" one/two >actual && - test_cmp expect actual && - git branch -d one/two && - - # same as before, but we only create a reflog for "one" if - # it already exists, which it does not - git -c core.logallrefupdates=false branch one master && - git log -g --format="%gd %gs" one >actual && - test_must_be_empty actual - -Deleted branch one/two (was b60a214). -Deleted branch one (was b60a214). -ok 16 - stale dirs do not cause d/f conflicts (reflogs off) - -checking prerequisite: SHA1 - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && - case "$GIT_DEFAULT_HASH" in - sha1) true ;; - "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; - *) false ;; - esac - -) -prerequisite SHA1 ok -expecting success of 1410.17 'parsing reverse reflogs at BUFSIZ boundaries': - git checkout -b reflogskip && - zf=$(test_oid zero_2) && - ident="abc 0000000001 +0000" && - for i in $(test_seq 1 75); do - printf "$zf%02d $zf%02d %s\t" $i $(($i+1)) "$ident" && - if test $i = 75; then - for j in $(test_seq 1 89); do - printf X - done - else - printf X - fi && - printf "\n" - done >.git/logs/refs/heads/reflogskip && - git rev-parse reflogskip@{73} >actual && - echo ${zf}03 >expect && - test_cmp expect actual - -Switched to a new branch 'reflogskip' -ok 17 - parsing reverse reflogs at BUFSIZ boundaries - -expecting success of 1410.18 'no segfaults for reflog containing non-commit sha1s': - git update-ref --create-reflog -m "Creating ref" \ - refs/tests/tree-in-reflog HEAD && - git update-ref -m "Forcing tree" refs/tests/tree-in-reflog HEAD^{tree} && - git update-ref -m "Restoring to commit" refs/tests/tree-in-reflog HEAD && - git reflog refs/tests/tree-in-reflog - -b60a214 refs/tests/tree-in-reflog@{0}: Restoring to commit -b60a214 refs/tests/tree-in-reflog@{2}: Creating ref -ok 18 - no segfaults for reflog containing non-commit sha1s - -checking known breakage of 1410.19 'reflog with non-commit entries displays all entries': - git reflog refs/tests/tree-in-reflog >actual && - test_line_count = 3 actual - -test_line_count: line count for actual != 3 -b60a214 refs/tests/tree-in-reflog@{0}: Restoring to commit -b60a214 refs/tests/tree-in-reflog@{2}: Creating ref -not ok 19 - reflog with non-commit entries displays all entries # TODO known breakage - -expecting success of 1410.20 'reflog expire operates on symref not referrent': - git branch --create-reflog the_symref && - git branch --create-reflog referrent && - git update-ref referrent HEAD && - git symbolic-ref refs/heads/the_symref refs/heads/referrent && - test_when_finished "rm -f .git/refs/heads/referrent.lock" && - touch .git/refs/heads/referrent.lock && - git reflog expire --expire=all the_symref - -ok 20 - reflog expire operates on symref not referrent - -expecting success of 1410.21 'continue walking past root commits': - git init orphanage && - ( - cd orphanage && - cat >expect <<-\EOF && - HEAD@{0} commit (initial): orphan2-1 - HEAD@{1} commit: orphan1-2 - HEAD@{2} commit (initial): orphan1-1 - HEAD@{3} commit (initial): initial - EOF - test_commit initial && - git checkout --orphan orphan1 && - test_commit orphan1-1 && - test_commit orphan1-2 && - git checkout --orphan orphan2 && - test_commit orphan2-1 && - git log -g --format="%gd %gs" >actual && - test_cmp expect actual - ) - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1410-reflog/orphanage/.git/ -[master (root-commit) 2aabd22] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 initial.t -Switched to a new branch 'orphan1' -[orphan1 (root-commit) e2a0da2] orphan1-1 - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 initial.t - create mode 100644 orphan1-1.t -[orphan1 9bdda66] orphan1-2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 orphan1-2.t -Switched to a new branch 'orphan2' -[orphan2 (root-commit) b47ea8f] orphan2-1 - Author: A U Thor - 4 files changed, 4 insertions(+) - create mode 100644 initial.t - create mode 100644 orphan1-1.t - create mode 100644 orphan1-2.t - create mode 100644 orphan2-1.t -ok 21 - continue walking past root commits - -expecting success of 1410.22 'expire with multiple worktrees': - git init main-wt && - ( - cd main-wt && - test_tick && - test_commit foo && - git worktree add link-wt && - test_tick && - test_commit -C link-wt foobar && - test_tick && - git reflog expire --verbose --all --expire=$test_tick && - test_must_be_empty .git/worktrees/link-wt/logs/HEAD - ) - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1410-reflog/main-wt/.git/ -[master (root-commit) af4983b] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -Preparing worktree (new branch 'link-wt') -HEAD is now at af4983b foo -[link-wt 7368abb] foobar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foobar.t -prune commit (initial): foo -prune commit (initial): foo -prune branch: Created from HEAD -prune commit: foobar -prune -prune reset: moving to HEAD -prune commit: foobar -ok 22 - expire with multiple worktrees - -# still have 1 known breakage(s) -# passed all remaining 21 test(s) -1..22 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1506-rev-parse-diagnosis.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1506-rev-parse-diagnosis/.git/ -expecting success of 1506.1 'set up basic repo': - echo one > file.txt && - mkdir subdir && - echo two > subdir/file.txt && - echo three > subdir/file2.txt && - git add . && - git commit -m init && - echo four > index-only.txt && - git add index-only.txt && - echo five > disk-only.txt - -[master (root-commit) 724c7fc] init - Author: A U Thor - 3 files changed, 3 insertions(+) - create mode 100644 file.txt - create mode 100644 subdir/file.txt - create mode 100644 subdir/file2.txt -ok 1 - set up basic repo - -expecting success of 1506.2 'correct file objects': - HASH_file=$(git rev-parse HEAD:file.txt) && - git rev-parse HEAD:subdir/file.txt && - git rev-parse :index-only.txt && - (cd subdir && - git rev-parse HEAD:subdir/file2.txt && - test $HASH_file = $(git rev-parse HEAD:file.txt) && - test $HASH_file = $(git rev-parse :file.txt) && - test $HASH_file = $(git rev-parse :0:file.txt) ) - -f719efd430d52bcfc8566a43b2eb655688d38871 -8510665149157c2bc901848c3e0b746954e9cbd9 -2bdf67abb163a4ffb2d7f3f0880c9fe5068ce782 -ok 2 - correct file objects - -expecting success of 1506.3 'correct relative file objects (0)': - git rev-parse :file.txt >expected && - git rev-parse :./file.txt >result && - test_cmp expected result && - git rev-parse :0:./file.txt >result && - test_cmp expected result - -ok 3 - correct relative file objects (0) - -expecting success of 1506.4 'correct relative file objects (1)': - git rev-parse HEAD:file.txt >expected && - git rev-parse HEAD:./file.txt >result && - test_cmp expected result - -ok 4 - correct relative file objects (1) - -expecting success of 1506.5 'correct relative file objects (2)': - ( - cd subdir && - git rev-parse HEAD:../file.txt >result && - test_cmp ../expected result - ) - -ok 5 - correct relative file objects (2) - -expecting success of 1506.6 'correct relative file objects (3)': - ( - cd subdir && - git rev-parse HEAD:../subdir/../file.txt >result && - test_cmp ../expected result - ) - -ok 6 - correct relative file objects (3) - -expecting success of 1506.7 'correct relative file objects (4)': - git rev-parse HEAD:subdir/file.txt >expected && - ( - cd subdir && - git rev-parse HEAD:./file.txt >result && - test_cmp ../expected result - ) - -ok 7 - correct relative file objects (4) - -expecting success of 1506.8 'correct relative file objects (5)': - git rev-parse :subdir/file.txt >expected && - ( - cd subdir && - git rev-parse :./file.txt >result && - test_cmp ../expected result && - git rev-parse :0:./file.txt >result && - test_cmp ../expected result - ) - -ok 8 - correct relative file objects (5) - -expecting success of 1506.9 'correct relative file objects (6)': - git rev-parse :file.txt >expected && - ( - cd subdir && - git rev-parse :../file.txt >result && - test_cmp ../expected result && - git rev-parse :0:../file.txt >result && - test_cmp ../expected result - ) - -ok 9 - correct relative file objects (6) - -expecting success of 1506.10 'incorrect revision id': - test_must_fail git rev-parse foobar:file.txt 2>error && - test_i18ngrep "invalid object name .foobar." error && - test_must_fail git rev-parse foobar 2>error && - test_i18ngrep "unknown revision or path not in the working tree." error - -foobar:file.txt -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -fatal: invalid object name 'foobar'. -foobar -fatal: ambiguous argument 'foobar': unknown revision or path not in the working tree. -ok 10 - incorrect revision id - -expecting success of 1506.11 'incorrect file in sha1:path': - test_must_fail git rev-parse HEAD:nothing.txt 2>error && - test_i18ngrep "path .nothing.txt. does not exist in .HEAD." error && - test_must_fail git rev-parse HEAD:index-only.txt 2>error && - test_i18ngrep "path .index-only.txt. exists on disk, but not in .HEAD." error && - (cd subdir && - test_must_fail git rev-parse HEAD:file2.txt 2>error && - test_did_you_mean HEAD subdir/ file2.txt exists ) - -HEAD:nothing.txt -fatal: path 'nothing.txt' does not exist in 'HEAD' -HEAD:index-only.txt -fatal: path 'index-only.txt' exists on disk, but not in 'HEAD' -HEAD:file2.txt -ok 11 - incorrect file in sha1:path - -expecting success of 1506.12 'incorrect file in :path and :N:path': - test_must_fail git rev-parse :nothing.txt 2>error && - test_i18ngrep "path .nothing.txt. does not exist (neither on disk nor in the index)" error && - test_must_fail git rev-parse :1:nothing.txt 2>error && - test_i18ngrep "path .nothing.txt. does not exist (neither on disk nor in the index)" error && - test_must_fail git rev-parse :1:file.txt 2>error && - test_did_you_mean ":0" "" file.txt "is in the index" "at stage 1" && - (cd subdir && - test_must_fail git rev-parse :1:file.txt 2>error && - test_did_you_mean ":0" "" file.txt "is in the index" "at stage 1" && - test_must_fail git rev-parse :file2.txt 2>error && - test_did_you_mean ":0" subdir/ file2.txt "is in the index" && - test_must_fail git rev-parse :2:file2.txt 2>error && - test_did_you_mean :0 subdir/ file2.txt "is in the index") && - test_must_fail git rev-parse :disk-only.txt 2>error && - test_i18ngrep "path .disk-only.txt. exists on disk, but not in the index" error - -:nothing.txt -fatal: path 'nothing.txt' does not exist (neither on disk nor in the index) -:1:nothing.txt -fatal: path 'nothing.txt' does not exist (neither on disk nor in the index) -:1:file.txt -:1:file.txt -:file2.txt -:2:file2.txt -:disk-only.txt -fatal: path 'disk-only.txt' exists on disk, but not in the index -ok 12 - incorrect file in :path and :N:path - -expecting success of 1506.13 'invalid @{n} reference': - test_must_fail git rev-parse master@{99999} >output 2>error && - test_must_be_empty output && - test_i18ngrep "log for [^ ]* only has [0-9][0-9]* entries" error && - test_must_fail git rev-parse --verify master@{99999} >output 2>error && - test_must_be_empty output && - test_i18ngrep "log for [^ ]* only has [0-9][0-9]* entries" error - -fatal: log for 'master' only has 1 entries -fatal: log for 'master' only has 1 entries -ok 13 - invalid @{n} reference - -expecting success of 1506.14 'relative path not found': - ( - cd subdir && - test_must_fail git rev-parse HEAD:./nonexistent.txt 2>error && - test_i18ngrep subdir/nonexistent.txt error - ) - -HEAD:./nonexistent.txt -fatal: path 'subdir/nonexistent.txt' does not exist in 'HEAD' -ok 14 - relative path not found - -expecting success of 1506.15 'relative path outside worktree': - test_must_fail git rev-parse HEAD:../file.txt >output 2>error && - test_must_be_empty output && - test_i18ngrep "outside repository" error - -fatal: '../file.txt' is outside repository at '/build/git-2.30.2/t/trash directory.t1506-rev-parse-diagnosis' -ok 15 - relative path outside worktree - -expecting success of 1506.16 'relative path when cwd is outside worktree': - test_must_fail git --git-dir=.git --work-tree=subdir rev-parse HEAD:./file.txt >output 2>error && - test_must_be_empty output && - test_i18ngrep "relative path syntax can.t be used outside working tree" error - -fatal: relative path syntax can't be used outside working tree -ok 16 - relative path when cwd is outside worktree - -expecting success of 1506.17 ':file correctly diagnosed after a pathname': - test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error && - test_i18ngrep ! "exists on disk" error && - test_i18ngrep "no such path in the working tree" error && - cat >expect <<-\EOF && - file.txt - HEAD:file.txt - EOF - test_cmp expect actual - -fatal: HEAD:file.txt: no such path in the working tree. -ok 17 - :file correctly diagnosed after a pathname - -expecting success of 1506.18 'dotdot is not an empty set': - ( H=$(git rev-parse HEAD) && echo $H && echo ^$H ) >expect && - - git rev-parse HEAD.. >actual && - test_cmp expect actual && - - git rev-parse ..HEAD >actual && - test_cmp expect actual && - - echo .. >expect && - git rev-parse .. >actual && - test_cmp expect actual - -ok 18 - dotdot is not an empty set - -expecting success of 1506.19 'dotdot does not peel endpoints': - git tag -a -m "annote" annotated HEAD && - A=$(git rev-parse annotated) && - H=$(git rev-parse annotated^0) && - { - echo $A && echo ^$A - } >expect-with-two-dots && - { - echo $A && echo $A && echo ^$H - } >expect-with-merge-base && - - git rev-parse annotated..annotated >actual-with-two-dots && - test_cmp expect-with-two-dots actual-with-two-dots && - - git rev-parse annotated...annotated >actual-with-merge-base && - test_cmp expect-with-merge-base actual-with-merge-base - -ok 19 - dotdot does not peel endpoints - -expecting success of 1506.20 'arg before dashdash must be a revision (missing)': - test_must_fail git rev-parse foobar -- 2>stderr && - test_i18ngrep "bad revision" stderr - -fatal: bad revision 'foobar' -ok 20 - arg before dashdash must be a revision (missing) - -expecting success of 1506.21 'arg before dashdash must be a revision (file)': - >foobar && - test_must_fail git rev-parse foobar -- 2>stderr && - test_i18ngrep "bad revision" stderr - -fatal: bad revision 'foobar' -ok 21 - arg before dashdash must be a revision (file) - -expecting success of 1506.22 'arg before dashdash must be a revision (ambiguous)': - >foobar && - git update-ref refs/heads/foobar HEAD && - { - # we do not want to use rev-parse here, because - # we are testing it - git show-ref -s refs/heads/foobar && - printf "%s\n" -- - } >expect && - git rev-parse foobar -- >actual && - test_cmp expect actual - -ok 22 - arg before dashdash must be a revision (ambiguous) - -expecting success of 1506.23 'reject Nth parent if N is too high': - test_must_fail git rev-parse HEAD^100000000000000000000000000000000 - -fatal: ambiguous argument 'HEAD^100000000000000000000000000000000': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -HEAD^100000000000000000000000000000000 -ok 23 - reject Nth parent if N is too high - -expecting success of 1506.24 'reject Nth ancestor if N is too high': - test_must_fail git rev-parse HEAD~100000000000000000000000000000000 - -fatal: ambiguous argument 'HEAD~100000000000000000000000000000000': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -HEAD~100000000000000000000000000000000 -ok 24 - reject Nth ancestor if N is too high - -expecting success of 1506.25 'pathspecs with wildcards are not ambiguous': - echo "*.c" >expect && - git rev-parse "*.c" >actual && - test_cmp expect actual - -ok 25 - pathspecs with wildcards are not ambiguous - -expecting success of 1506.26 'backslash does not trigger wildcard rule': - test_must_fail git rev-parse "foo\\bar" - -fatal: ambiguous argument 'foo\bar': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -foo\bar -ok 26 - backslash does not trigger wildcard rule - -expecting success of 1506.27 'escaped char does not trigger wildcard rule': - test_must_fail git rev-parse "foo\\*bar" - -fatal: ambiguous argument 'foo\*bar': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -foo\*bar -ok 27 - escaped char does not trigger wildcard rule - -expecting success of 1506.28 'arg after dashdash not interpreted as option': - cat >expect <<-\EOF && - -- - --local-env-vars - EOF - git rev-parse -- --local-env-vars >actual && - test_cmp expect actual - -ok 28 - arg after dashdash not interpreted as option - -expecting success of 1506.29 'arg after end-of-options not interpreted as option': - test_must_fail git rev-parse --end-of-options --not-real -- 2>err && - test_i18ngrep bad.revision.*--not-real err - ---end-of-options -fatal: bad revision '--not-real' -ok 29 - arg after end-of-options not interpreted as option - -expecting success of 1506.30 'end-of-options still allows --': - cat >expect <<-EOF && - --end-of-options - $(git rev-parse --verify HEAD) - -- - path - EOF - git rev-parse --end-of-options HEAD -- path >actual && - test_cmp expect actual - -ok 30 - end-of-options still allows -- - -# passed all 30 test(s) -1..30 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1430-bad-ref-name.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1430-bad-ref-name/.git/ -expecting success of 1430.1 'setup': - test_commit one && - test_commit two - -[master (root-commit) d79ce16] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master 139b20d] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -ok 1 - setup - -expecting success of 1430.2 'fast-import: fail on invalid branch name ".badbranchname"': - test_when_finished "rm -f .git/objects/pack_* .git/objects/index_*" && - cat >input <<-INPUT_END && - commit .badbranchname - committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - data <input <<-INPUT_END && - commit bad[branch]name - committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE - data <output 2>error && - test_i18ngrep -e "ignoring ref with broken name refs/heads/broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -warning: ignoring ref with broken name refs/heads/broken...ref -ok 4 - git branch shows badly named ref as warning - -expecting success of 1430.5 'branch -d can delete badly named ref': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - git branch -d broken...ref && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -Deleted branch broken...ref (was broken). -ok 5 - branch -d can delete badly named ref - -expecting success of 1430.6 'branch -D can delete badly named ref': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - git branch -D broken...ref && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -Deleted branch broken...ref (was broken). -ok 6 - branch -D can delete badly named ref - -expecting success of 1430.7 'branch -D cannot delete non-ref in .git dir': - echo precious >.git/my-private-file && - echo precious >expect && - test_must_fail git branch -D ../../my-private-file && - test_cmp expect .git/my-private-file - -error: branch '../../my-private-file' not found. -ok 7 - branch -D cannot delete non-ref in .git dir - -expecting success of 1430.8 'branch -D cannot delete ref in .git dir': - git rev-parse HEAD >.git/my-private-file && - git rev-parse HEAD >expect && - git branch foo/legit && - test_must_fail git branch -D foo////./././../../../my-private-file && - test_cmp expect .git/my-private-file - -error: branch 'foo////./././../../../my-private-file' not found. -ok 8 - branch -D cannot delete ref in .git dir - -expecting success of 1430.9 'branch -D cannot delete absolute path': - git branch -f extra && - test_must_fail git branch -D "$(pwd)/.git/refs/heads/extra" && - test_cmp_rev HEAD extra - -error: branch '/build/git-2.30.2/t/trash directory.t1430-bad-ref-name/.git/refs/heads/extra' not found. -ok 9 - branch -D cannot delete absolute path - -expecting success of 1430.10 'git branch cannot create a badly named ref': - test_when_finished "rm -f .git/refs/heads/broken...ref" && - test_must_fail git branch broken...ref && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -fatal: 'broken...ref' is not a valid branch name. -ok 10 - git branch cannot create a badly named ref - -expecting success of 1430.11 'branch -m cannot rename to a bad ref name': - test_when_finished "rm -f .git/refs/heads/broken...ref" && - test_might_fail git branch -D goodref && - git branch goodref && - test_must_fail git branch -m goodref broken...ref && - test_cmp_rev master goodref && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -error: branch 'goodref' not found. -fatal: 'broken...ref' is not a valid branch name. -ok 11 - branch -m cannot rename to a bad ref name - -checking known breakage of 1430.12 'branch -m can rename from a bad ref name': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - git branch -m broken...ref renamed && - test_cmp_rev master renamed && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -fatal: Invalid branch name: 'broken...ref' -not ok 12 - branch -m can rename from a bad ref name # TODO known breakage - -expecting success of 1430.13 'push cannot create a badly named ref': - test_when_finished "rm -f .git/refs/heads/broken...ref" && - test_must_fail git push "file://$(pwd)" HEAD:refs/heads/broken...ref && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -fatal: invalid refspec 'HEAD:refs/heads/broken...ref' -ok 13 - push cannot create a badly named ref - -checking known breakage of 1430.14 'push --mirror can delete badly named ref': - top=$(pwd) && - git init src && - git init dest && - - ( - cd src && - test_commit one - ) && - ( - cd dest && - test_commit two && - git checkout --detach && - cp .git/refs/heads/master .git/refs/heads/broken...ref - ) && - git -C src push --mirror "file://$top/dest" && - git -C dest branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1430-bad-ref-name/src/.git/ -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1430-bad-ref-name/dest/.git/ -[master (root-commit) 4331c28] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master (root-commit) 9db02ea] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -HEAD is now at 9db02ea two -remote: warning: ignoring ref with broken name refs/heads/broken...ref -To file:///build/git-2.30.2/t/trash directory.t1430-bad-ref-name/dest - + 9db02ea...4331c28 master -> master (forced update) - - [deleted] two - * [new tag] one -> one -warning: ignoring ref with broken name refs/heads/broken...ref -not ok 14 - push --mirror can delete badly named ref # TODO known breakage - -expecting success of 1430.15 'rev-parse skips symref pointing to broken name': - test_when_finished "rm -f .git/refs/heads/broken...ref" && - git branch shadow one && - cp .git/refs/heads/master .git/refs/heads/broken...ref && - printf "ref: refs/heads/broken...ref\n" >.git/refs/tags/shadow && - test_when_finished "rm -f .git/refs/tags/shadow" && - git rev-parse --verify one >expect && - git rev-parse --verify shadow >actual 2>err && - test_cmp expect actual && - test_i18ngrep "ignoring dangling symref refs/tags/shadow" err - -warning: ignoring dangling symref refs/tags/shadow -ok 15 - rev-parse skips symref pointing to broken name - -expecting success of 1430.16 'for-each-ref emits warnings for broken names': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && - test_when_finished "rm -f .git/refs/heads/badname" && - printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && - test_when_finished "rm -f .git/refs/heads/broken...symref" && - git for-each-ref >output 2>error && - ! grep -e "broken\.\.\.ref" output && - ! grep -e "badname" output && - ! grep -e "broken\.\.\.symref" output && - test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.ref" error && - test_i18ngrep "ignoring broken ref refs/heads/badname" error && - test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.symref" error - -warning: ignoring ref with broken name refs/heads/broken...ref -warning: ignoring broken ref refs/heads/badname -warning: ignoring ref with broken name refs/heads/broken...symref -ok 16 - for-each-ref emits warnings for broken names - -expecting success of 1430.17 'update-ref -d can delete broken name': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - git update-ref -d refs/heads/broken...ref >output 2>error && - test_must_be_empty output && - test_must_be_empty error && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -ok 17 - update-ref -d can delete broken name - -expecting success of 1430.18 'branch -d can delete broken name': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - git branch -d broken...ref >output 2>error && - test_i18ngrep "Deleted branch broken...ref (was broken)" output && - test_must_be_empty error && - git branch >output 2>error && - ! grep -e "broken\.\.\.ref" error && - ! grep -e "broken\.\.\.ref" output - -Deleted branch broken...ref (was broken). -ok 18 - branch -d can delete broken name - -expecting success of 1430.19 'update-ref --no-deref -d can delete symref to broken name': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && - test_when_finished "rm -f .git/refs/heads/badname" && - git update-ref --no-deref -d refs/heads/badname >output 2>error && - test_path_is_missing .git/refs/heads/badname && - test_must_be_empty output && - test_must_be_empty error - -ok 19 - update-ref --no-deref -d can delete symref to broken name - -expecting success of 1430.20 'branch -d can delete symref to broken name': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && - test_when_finished "rm -f .git/refs/heads/badname" && - git branch -d badname >output 2>error && - test_path_is_missing .git/refs/heads/badname && - test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output && - test_must_be_empty error - -Deleted branch badname (was refs/heads/broken...ref). -ok 20 - branch -d can delete symref to broken name - -expecting success of 1430.21 'update-ref --no-deref -d can delete dangling symref to broken name': - printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && - test_when_finished "rm -f .git/refs/heads/badname" && - git update-ref --no-deref -d refs/heads/badname >output 2>error && - test_path_is_missing .git/refs/heads/badname && - test_must_be_empty output && - test_must_be_empty error - -ok 21 - update-ref --no-deref -d can delete dangling symref to broken name - -expecting success of 1430.22 'branch -d can delete dangling symref to broken name': - printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && - test_when_finished "rm -f .git/refs/heads/badname" && - git branch -d badname >output 2>error && - test_path_is_missing .git/refs/heads/badname && - test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output && - test_must_be_empty error - -Deleted branch badname (was refs/heads/broken...ref). -ok 22 - branch -d can delete dangling symref to broken name - -expecting success of 1430.23 'update-ref -d can delete broken name through symref': - cp .git/refs/heads/master .git/refs/heads/broken...ref && - test_when_finished "rm -f .git/refs/heads/broken...ref" && - printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && - test_when_finished "rm -f .git/refs/heads/badname" && - git update-ref -d refs/heads/badname >output 2>error && - test_path_is_missing .git/refs/heads/broken...ref && - test_must_be_empty output && - test_must_be_empty error - -ok 23 - update-ref -d can delete broken name through symref - -expecting success of 1430.24 'update-ref --no-deref -d can delete symref with broken name': - printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && - test_when_finished "rm -f .git/refs/heads/broken...symref" && - git update-ref --no-deref -d refs/heads/broken...symref >output 2>error && - test_path_is_missing .git/refs/heads/broken...symref && - test_must_be_empty output && - test_must_be_empty error - -ok 24 - update-ref --no-deref -d can delete symref with broken name - -expecting success of 1430.25 'branch -d can delete symref with broken name': - printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && - test_when_finished "rm -f .git/refs/heads/broken...symref" && - git branch -d broken...symref >output 2>error && - test_path_is_missing .git/refs/heads/broken...symref && - test_i18ngrep "Deleted branch broken...symref (was refs/heads/master)" output && - test_must_be_empty error - -Deleted branch broken...symref (was refs/heads/master). -ok 25 - branch -d can delete symref with broken name - -expecting success of 1430.26 'update-ref --no-deref -d can delete dangling symref with broken name': - printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref && - test_when_finished "rm -f .git/refs/heads/broken...symref" && - git update-ref --no-deref -d refs/heads/broken...symref >output 2>error && - test_path_is_missing .git/refs/heads/broken...symref && - test_must_be_empty output && - test_must_be_empty error - -ok 26 - update-ref --no-deref -d can delete dangling symref with broken name - -expecting success of 1430.27 'branch -d can delete dangling symref with broken name': - printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref && - test_when_finished "rm -f .git/refs/heads/broken...symref" && - git branch -d broken...symref >output 2>error && - test_path_is_missing .git/refs/heads/broken...symref && - test_i18ngrep "Deleted branch broken...symref (was refs/heads/idonotexist)" output && - test_must_be_empty error - -Deleted branch broken...symref (was refs/heads/idonotexist). -ok 27 - branch -d can delete dangling symref with broken name - -expecting success of 1430.28 'update-ref -d cannot delete non-ref in .git dir': - echo precious >.git/my-private-file && - echo precious >expect && - test_must_fail git update-ref -d my-private-file >output 2>error && - test_must_be_empty output && - test_i18ngrep -e "refusing to update ref with bad name" error && - test_cmp expect .git/my-private-file - -error: refusing to update ref with bad name 'my-private-file' -ok 28 - update-ref -d cannot delete non-ref in .git dir - -expecting success of 1430.29 'update-ref -d cannot delete absolute path': - git branch -f extra && - test_must_fail git update-ref -d "$(pwd)/.git/refs/heads/extra" && - test_cmp_rev HEAD extra - -error: refusing to update ref with bad name '/build/git-2.30.2/t/trash directory.t1430-bad-ref-name/.git/refs/heads/extra' -ok 29 - update-ref -d cannot delete absolute path - -expecting success of 1430.30 'update-ref --stdin fails create with bad ref name': - echo "create ~a refs/heads/master" >stdin && - test_must_fail git update-ref --stdin err && - grep "fatal: invalid ref format: ~a" err - -fatal: invalid ref format: ~a -ok 30 - update-ref --stdin fails create with bad ref name - -expecting success of 1430.31 'update-ref --stdin fails update with bad ref name': - echo "update ~a refs/heads/master" >stdin && - test_must_fail git update-ref --stdin err && - grep "fatal: invalid ref format: ~a" err - -fatal: invalid ref format: ~a -ok 31 - update-ref --stdin fails update with bad ref name - -expecting success of 1430.32 'update-ref --stdin fails delete with bad ref name': - echo "delete ~a refs/heads/master" >stdin && - test_must_fail git update-ref --stdin err && - grep "fatal: invalid ref format: ~a" err - -fatal: invalid ref format: ~a -ok 32 - update-ref --stdin fails delete with bad ref name - -expecting success of 1430.33 'update-ref --stdin -z fails create with bad ref name': - printf "%s\0" "create ~a " refs/heads/master >stdin && - test_must_fail git update-ref -z --stdin err && - grep "fatal: invalid ref format: ~a " err - -fatal: invalid ref format: ~a -ok 33 - update-ref --stdin -z fails create with bad ref name - -expecting success of 1430.34 'update-ref --stdin -z fails update with bad ref name': - printf "%s\0" "update ~a" refs/heads/master "" >stdin && - test_must_fail git update-ref -z --stdin err && - grep "fatal: invalid ref format: ~a" err - -fatal: invalid ref format: ~a -ok 34 - update-ref --stdin -z fails update with bad ref name - -expecting success of 1430.35 'update-ref --stdin -z fails delete with bad ref name': - printf "%s\0" "delete ~a" refs/heads/master >stdin && - test_must_fail git update-ref -z --stdin err && - grep "fatal: invalid ref format: ~a" err - -fatal: invalid ref format: ~a -ok 35 - update-ref --stdin -z fails delete with bad ref name - -expecting success of 1430.36 'branch rejects HEAD as a branch name': - test_must_fail git branch HEAD HEAD^ && - test_must_fail git show-ref refs/heads/HEAD - -fatal: 'HEAD' is not a valid branch name. -ok 36 - branch rejects HEAD as a branch name - -expecting success of 1430.37 'checkout -b rejects HEAD as a branch name': - test_must_fail git checkout -B HEAD HEAD^ && - test_must_fail git show-ref refs/heads/HEAD - -fatal: 'HEAD' is not a valid branch name. -ok 37 - checkout -b rejects HEAD as a branch name - -expecting success of 1430.38 'update-ref can operate on refs/heads/HEAD': - git update-ref refs/heads/HEAD HEAD^ && - git show-ref refs/heads/HEAD && - git update-ref -d refs/heads/HEAD && - test_must_fail git show-ref refs/heads/HEAD - -d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 refs/heads/HEAD -ok 38 - update-ref can operate on refs/heads/HEAD - -expecting success of 1430.39 'branch -d can remove refs/heads/HEAD': - git update-ref refs/heads/HEAD HEAD^ && - git branch -d HEAD && - test_must_fail git show-ref refs/heads/HEAD - -Deleted branch HEAD (was d79ce16). -ok 39 - branch -d can remove refs/heads/HEAD - -expecting success of 1430.40 'branch -m can rename refs/heads/HEAD': - git update-ref refs/heads/HEAD HEAD^ && - git branch -m HEAD tail && - test_must_fail git show-ref refs/heads/HEAD && - git show-ref refs/heads/tail - -warning: Renamed a misnamed branch 'HEAD' away -d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 refs/heads/tail -ok 40 - branch -m can rename refs/heads/HEAD - -expecting success of 1430.41 'branch -d can remove refs/heads/-dash': - git update-ref refs/heads/-dash HEAD^ && - git branch -d -- -dash && - test_must_fail git show-ref refs/heads/-dash - -Deleted branch -dash (was d79ce16). -ok 41 - branch -d can remove refs/heads/-dash - -expecting success of 1430.42 'branch -m can rename refs/heads/-dash': - git update-ref refs/heads/-dash HEAD^ && - git branch -m -- -dash dash && - test_must_fail git show-ref refs/heads/-dash && - git show-ref refs/heads/dash - -warning: Renamed a misnamed branch '-dash' away -d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 refs/heads/dash -ok 42 - branch -m can rename refs/heads/-dash - -# still have 2 known breakage(s) -# passed all remaining 40 test(s) -1..42 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1501-work-tree.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1501-work-tree/.git/ -expecting success of 1501.1 'setup': - EMPTY_TREE=$(git write-tree) && - EMPTY_BLOB=$(git hash-object -t blob --stdin expected.bare && - echo $2 >expected.inside-git && - echo $3 >expected.inside-worktree && - if test $# -ge 4 - then - echo $4 >expected.prefix - fi && - - git rev-parse --is-bare-repository >actual.bare && - git rev-parse --is-inside-git-dir >actual.inside-git && - git rev-parse --is-inside-work-tree >actual.inside-worktree && - if test $# -ge 4 - then - git rev-parse --show-prefix >actual.prefix - fi && - - test_cmp expected.bare actual.bare && - test_cmp expected.inside-git actual.inside-git && - test_cmp expected.inside-worktree actual.inside-worktree && - if test $# -ge 4 - then - # rev-parse --show-prefix should output - # a single newline when at the top of the work tree, - # but we test for that separately. - test -z "$4" && test_must_be_empty actual.prefix || - test_cmp expected.prefix actual.prefix - fi - } - -ok 2 - setup: helper for testing rev-parse - -expecting success of 1501.3 'setup: core.worktree = relative path': - sane_unset GIT_WORK_TREE && - GIT_DIR=repo.git && - GIT_CONFIG="$(pwd)"/$GIT_DIR/config && - export GIT_DIR GIT_CONFIG && - git config core.worktree ../work - -ok 3 - setup: core.worktree = relative path - -expecting success of 1501.4 'outside': - test_rev_parse false false false - -ok 4 - outside - -expecting success of 1501.5 'inside work tree': - ( - cd work && - GIT_DIR=../repo.git && - GIT_CONFIG="$(pwd)"/$GIT_DIR/config && - test_rev_parse false false true "" - ) - -'actual.prefix' is not empty, it contains: - -ok 5 - inside work tree - -expecting success of 1501.6 'empty prefix is actually written out': - echo >expected && - ( - cd work && - GIT_DIR=../repo.git && - GIT_CONFIG="$(pwd)"/$GIT_DIR/config && - git rev-parse --show-prefix >../actual - ) && - test_cmp expected actual - -ok 6 - empty prefix is actually written out - -expecting success of 1501.7 'subdir of work tree': - ( - cd work/sub/dir && - GIT_DIR=../../../repo.git && - GIT_CONFIG="$(pwd)"/$GIT_DIR/config && - test_rev_parse false false true sub/dir/ - ) - -ok 7 - subdir of work tree - -expecting success of 1501.8 'setup: core.worktree = absolute path': - sane_unset GIT_WORK_TREE && - GIT_DIR=$(pwd)/repo.git && - GIT_CONFIG=$GIT_DIR/config && - export GIT_DIR GIT_CONFIG && - git config core.worktree "$(pwd)/work" - -ok 8 - setup: core.worktree = absolute path - -expecting success of 1501.9 'outside': - test_rev_parse false false false && - ( - cd work2 && - test_rev_parse false false false - ) - -ok 9 - outside - -expecting success of 1501.10 'inside work tree': - ( - cd work && - test_rev_parse false false true "" - ) - -'actual.prefix' is not empty, it contains: - -ok 10 - inside work tree - -expecting success of 1501.11 'subdir of work tree': - ( - cd work/sub/dir && - test_rev_parse false false true sub/dir/ - ) - -ok 11 - subdir of work tree - -expecting success of 1501.12 'setup: GIT_WORK_TREE=relative (override core.worktree)': - GIT_DIR=$(pwd)/repo.git && - GIT_CONFIG=$GIT_DIR/config && - git config core.worktree non-existent && - GIT_WORK_TREE=work && - export GIT_DIR GIT_CONFIG GIT_WORK_TREE - -ok 12 - setup: GIT_WORK_TREE=relative (override core.worktree) - -expecting success of 1501.13 'outside': - test_rev_parse false false false && - ( - cd work2 && - test_rev_parse false false false - ) - -ok 13 - outside - -expecting success of 1501.14 'inside work tree': - ( - cd work && - GIT_WORK_TREE=. && - test_rev_parse false false true "" - ) - -'actual.prefix' is not empty, it contains: - -ok 14 - inside work tree - -expecting success of 1501.15 'subdir of work tree': - ( - cd work/sub/dir && - GIT_WORK_TREE=../.. && - test_rev_parse false false true sub/dir/ - ) - -ok 15 - subdir of work tree - -expecting success of 1501.16 'setup: GIT_WORK_TREE=absolute, below git dir': - mv work repo.git/work && - mv work2 repo.git/work2 && - GIT_DIR=$(pwd)/repo.git && - GIT_CONFIG=$GIT_DIR/config && - GIT_WORK_TREE=$(pwd)/repo.git/work && - export GIT_DIR GIT_CONFIG GIT_WORK_TREE - -ok 16 - setup: GIT_WORK_TREE=absolute, below git dir - -expecting success of 1501.17 'outside': - echo outside && - test_rev_parse false false false - -outside -ok 17 - outside - -expecting success of 1501.18 'in repo.git': - ( - cd repo.git && - test_rev_parse false true false - ) && - ( - cd repo.git/objects && - test_rev_parse false true false - ) && - ( - cd repo.git/work2 && - test_rev_parse false true false - ) - -ok 18 - in repo.git - -expecting success of 1501.19 'inside work tree': - ( - cd repo.git/work && - test_rev_parse false true true "" - ) - -'actual.prefix' is not empty, it contains: - -ok 19 - inside work tree - -expecting success of 1501.20 'subdir of work tree': - ( - cd repo.git/work/sub/dir && - test_rev_parse false true true sub/dir/ - ) - -ok 20 - subdir of work tree - -expecting success of 1501.21 'find work tree from repo': - echo sub/dir/untracked >expected && - cat <<-\EOF >repo.git/work/.gitignore && - expected.* - actual.* - .gitignore - EOF - >repo.git/work/sub/dir/untracked && - ( - cd repo.git && - git ls-files --others --exclude-standard >../actual - ) && - test_cmp expected actual - -ok 21 - find work tree from repo - -expecting success of 1501.22 'find work tree from work tree': - echo sub/dir/tracked >expected && - >repo.git/work/sub/dir/tracked && - ( - cd repo.git/work/sub/dir && - git --git-dir=../../.. add tracked - ) && - ( - cd repo.git && - git ls-files >../actual - ) && - test_cmp expected actual - -ok 22 - find work tree from work tree - -expecting success of 1501.23 '_gently() groks relative GIT_DIR & GIT_WORK_TREE': - ( - cd repo.git/work/sub/dir && - GIT_DIR=../../.. && - GIT_WORK_TREE=../.. && - GIT_PAGER= && - export GIT_DIR GIT_WORK_TREE GIT_PAGER && - - git diff --exit-code tracked && - echo changed >tracked && - test_must_fail git diff --exit-code tracked - ) - -diff --git a/sub/dir/tracked b/sub/dir/tracked -index e69de29..5ea2ed4 100644 ---- a/sub/dir/tracked -+++ b/sub/dir/tracked -@@ -0,0 +1 @@ -+changed -ok 23 - _gently() groks relative GIT_DIR & GIT_WORK_TREE - -expecting success of 1501.24 'diff-index respects work tree under .git dir': - cat >diff-index-cached.expected <<-EOF && - :000000 100644 $ZERO_OID $EMPTY_BLOB A sub/dir/tracked - EOF - cat >diff-index.expected <<-EOF && - :000000 100644 $ZERO_OID $ZERO_OID A sub/dir/tracked - EOF - - ( - GIT_DIR=repo.git && - GIT_WORK_TREE=repo.git/work && - export GIT_DIR GIT_WORK_TREE && - git diff-index $EMPTY_TREE >diff-index.actual && - git diff-index --cached $EMPTY_TREE >diff-index-cached.actual - ) && - test_cmp diff-index.expected diff-index.actual && - test_cmp diff-index-cached.expected diff-index-cached.actual - -ok 24 - diff-index respects work tree under .git dir - -expecting success of 1501.25 'diff-files respects work tree under .git dir': - cat >diff-files.expected <<-EOF && - :100644 100644 $EMPTY_BLOB $ZERO_OID M sub/dir/tracked - EOF - - ( - GIT_DIR=repo.git && - GIT_WORK_TREE=repo.git/work && - export GIT_DIR GIT_WORK_TREE && - git diff-files >diff-files.actual - ) && - test_cmp diff-files.expected diff-files.actual - -ok 25 - diff-files respects work tree under .git dir - -expecting success of 1501.26 'git diff respects work tree under .git dir': - cat >diff-TREE.expected <<-EOF && - diff --git a/sub/dir/tracked b/sub/dir/tracked - new file mode 100644 - index 0000000..$CHANGED_BLOB7 - --- /dev/null - +++ b/sub/dir/tracked - @@ -0,0 +1 @@ - +changed - EOF - cat >diff-TREE-cached.expected <<-EOF && - diff --git a/sub/dir/tracked b/sub/dir/tracked - new file mode 100644 - index 0000000..$EMPTY_BLOB7 - EOF - cat >diff-FILES.expected <<-EOF && - diff --git a/sub/dir/tracked b/sub/dir/tracked - index $EMPTY_BLOB7..$CHANGED_BLOB7 100644 - --- a/sub/dir/tracked - +++ b/sub/dir/tracked - @@ -0,0 +1 @@ - +changed - EOF - - ( - GIT_DIR=repo.git && - GIT_WORK_TREE=repo.git/work && - export GIT_DIR GIT_WORK_TREE && - git diff $EMPTY_TREE >diff-TREE.actual && - git diff --cached $EMPTY_TREE >diff-TREE-cached.actual && - git diff >diff-FILES.actual - ) && - test_cmp diff-TREE.expected diff-TREE.actual && - test_cmp diff-TREE-cached.expected diff-TREE-cached.actual && - test_cmp diff-FILES.expected diff-FILES.actual - -ok 26 - git diff respects work tree under .git dir - -expecting success of 1501.27 'git grep': - echo dir/tracked >expected.grep && - ( - cd repo.git/work/sub && - GIT_DIR=../.. && - GIT_WORK_TREE=.. && - export GIT_DIR GIT_WORK_TREE && - git grep -l changed >../../../actual.grep - ) && - test_cmp expected.grep actual.grep - -ok 27 - git grep - -expecting success of 1501.28 'git commit': - ( - cd repo.git && - GIT_DIR=. GIT_WORK_TREE=work git commit -a -m done - ) - -[master (root-commit) 271ed29] done - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 sub/dir/tracked -ok 28 - git commit - -expecting success of 1501.29 'absolute pathspec should fail gracefully': - ( - cd repo.git && - test_might_fail git config --unset core.worktree && - test_must_fail git log HEAD -- /home - ) - -fatal: /home: '/home' is outside repository at '/build/git-2.30.2/t/trash directory.t1501-work-tree/repo.git/work' -ok 29 - absolute pathspec should fail gracefully - -expecting success of 1501.30 'make_relative_path handles double slashes in GIT_DIR': - >dummy_file && - echo git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file && - git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file - -git --git-dir=/build/git-2.30.2/t/trash directory.t1501-work-tree//repo.git --work-tree=/build/git-2.30.2/t/trash directory.t1501-work-tree add dummy_file -ok 30 - make_relative_path handles double slashes in GIT_DIR - -expecting success of 1501.31 'relative $GIT_WORK_TREE and git subprocesses': - GIT_DIR=repo.git GIT_WORK_TREE=repo.git/work \ - test-tool subprocess --setup-work-tree rev-parse --show-toplevel >actual && - echo "$(pwd)/repo.git/work" >expected && - test_cmp expected actual - -ok 31 - relative $GIT_WORK_TREE and git subprocesses - -expecting success of 1501.32 'Multi-worktree setup': - mkdir work && - mkdir -p repo.git/repos/foo && - cp repo.git/HEAD repo.git/index repo.git/repos/foo && - { cp repo.git/sharedindex.* repo.git/repos/foo || :; } && - sane_unset GIT_DIR GIT_CONFIG GIT_WORK_TREE - -cp: cannot stat 'repo.git/sharedindex.*': No such file or directory -ok 32 - Multi-worktree setup - -expecting success of 1501.33 'GIT_DIR set (1)': - echo "gitdir: repo.git/repos/foo" >gitfile && - echo ../.. >repo.git/repos/foo/commondir && - ( - cd work && - GIT_DIR=../gitfile git rev-parse --git-common-dir >actual && - test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && - test_cmp expect actual - ) - -ok 33 - GIT_DIR set (1) - -expecting success of 1501.34 'GIT_DIR set (2)': - echo "gitdir: repo.git/repos/foo" >gitfile && - echo "$(pwd)/repo.git" >repo.git/repos/foo/commondir && - ( - cd work && - GIT_DIR=../gitfile git rev-parse --git-common-dir >actual && - test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && - test_cmp expect actual - ) - -ok 34 - GIT_DIR set (2) - -expecting success of 1501.35 'Auto discovery': - echo "gitdir: repo.git/repos/foo" >.git && - echo ../.. >repo.git/repos/foo/commondir && - ( - cd work && - git rev-parse --git-common-dir >actual && - test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && - test_cmp expect actual && - echo haha >data1 && - git add data1 && - git ls-files --full-name :/ | grep data1 >actual && - echo work/data1 >expect && - test_cmp expect actual - ) - -ok 35 - Auto discovery - -expecting success of 1501.36 '$GIT_DIR/common overrides core.worktree': - mkdir elsewhere && - git --git-dir=repo.git config core.worktree "$TRASH_DIRECTORY/elsewhere" && - echo "gitdir: repo.git/repos/foo" >.git && - echo ../.. >repo.git/repos/foo/commondir && - ( - cd work && - git rev-parse --git-common-dir >actual && - test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && - test_cmp expect actual && - echo haha >data2 && - git add data2 && - git ls-files --full-name :/ | grep data2 >actual && - echo work/data2 >expect && - test_cmp expect actual - ) - -ok 36 - $GIT_DIR/common overrides core.worktree - -expecting success of 1501.37 '$GIT_WORK_TREE overrides $GIT_DIR/common': - echo "gitdir: repo.git/repos/foo" >.git && - echo ../.. >repo.git/repos/foo/commondir && - ( - cd work && - echo haha >data3 && - git --git-dir=../.git --work-tree=. add data3 && - git ls-files --full-name -- :/ | grep data3 >actual && - echo data3 >expect && - test_cmp expect actual - ) - -ok 37 - $GIT_WORK_TREE overrides $GIT_DIR/common - -expecting success of 1501.38 'error out gracefully on invalid $GIT_WORK_TREE': - ( - GIT_WORK_TREE=/.invalid/work/tree && - export GIT_WORK_TREE && - test_expect_code 128 git rev-parse - ) - -fatal: Invalid path '/.invalid': No such file or directory -ok 38 - error out gracefully on invalid $GIT_WORK_TREE - -expecting success of 1501.39 'refs work with relative gitdir and work tree': - git init relative && - git -C relative commit --allow-empty -m one && - git -C relative commit --allow-empty -m two && - - GIT_DIR=relative/.git GIT_WORK_TREE=relative git reset HEAD^ && - - git -C relative log -1 --format=%s >actual && - echo one >expect && - test_cmp expect actual - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1501-work-tree/relative/.git/ -[master (root-commit) 61ba98b] one - Author: A U Thor -[master 2b4e70d] two - Author: A U Thor -ok 39 - refs work with relative gitdir and work tree - -# passed all 39 test(s) -1..39 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1300-config.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1300-config/.git/ -expecting success of 1300.1 'clear default config': - rm -f .git/config - -ok 1 - clear default config - -expecting success of 1300.2 'initial': - git config section.penguin "little blue" && - test_cmp expect .git/config - -ok 2 - initial - -expecting success of 1300.3 'mixed case': - git config Section.Movie BadPhysics && - test_cmp expect .git/config - -ok 3 - mixed case - -expecting success of 1300.4 'similar section': - git config Sections.WhatEver Second && - test_cmp expect .git/config - -ok 4 - similar section - -expecting success of 1300.5 'uppercase section': - git config SECTION.UPPERCASE true && - test_cmp expect .git/config - -ok 5 - uppercase section - -expecting success of 1300.6 'replace with non-match': - git config section.penguin kingpin !blue - -ok 6 - replace with non-match - -expecting success of 1300.7 'replace with non-match (actually matching)': - git config section.penguin "very blue" !kingpin - -ok 7 - replace with non-match (actually matching) - -expecting success of 1300.8 'non-match result': test_cmp expect .git/config -ok 8 - non-match result - -expecting success of 1300.9 'find mixed-case key by canonical name': - test_cmp_config Second sections.whatever - -ok 9 - find mixed-case key by canonical name - -expecting success of 1300.10 'find mixed-case key by non-canonical name': - test_cmp_config Second SeCtIoNs.WhAtEvEr - -ok 10 - find mixed-case key by non-canonical name - -expecting success of 1300.11 'subsections are not canonicalized by git-config': - cat >>.git/config <<-\EOF && - [section.SubSection] - key = one - [section "SubSection"] - key = two - EOF - test_cmp_config one section.subsection.key && - test_cmp_config two section.SubSection.key - -ok 11 - subsections are not canonicalized by git-config - -expecting success of 1300.12 'unset with cont. lines': - git config --unset beta.baz - -ok 12 - unset with cont. lines - -expecting success of 1300.13 'unset with cont. lines is correct': test_cmp expect .git/config -ok 13 - unset with cont. lines is correct - -expecting success of 1300.14 'multiple unset': - git config --unset-all beta.haha - -ok 14 - multiple unset - -expecting success of 1300.15 'multiple unset is correct': - test_cmp expect .git/config - -ok 15 - multiple unset is correct - -expecting success of 1300.16 '--replace-all missing value': - test_must_fail git config --replace-all beta.haha && - test_cmp .git/config2 .git/config - -error: wrong number of arguments, should be from 2 to 3 -usage: git config [] - -Config file location - --global use global config file - --system use system config file - --local use repository config file - --worktree use per-worktree config file - -f, --file use given config file - --blob read config from given blob object - -Action - --get get value: name [value-pattern] - --get-all get all values: key [value-pattern] - --get-regexp get values for regexp: name-regex [value-pattern] - --get-urlmatch get value specific for the URL: section[.var] URL - --replace-all replace all matching variables: name value [value-pattern] - --add add a new variable: name value - --unset remove a variable: name [value-pattern] - --unset-all remove all matches: name [value-pattern] - --rename-section rename section: old-name new-name - --remove-section remove a section: name - -l, --list list all - --fixed-value use string equality when comparing values to 'value-pattern' - -e, --edit open an editor - --get-color find the color configured: slot [default] - --get-colorbool find the color setting: slot [stdout-is-tty] - -Type - -t, --type <> value is given this type - --bool value is "true" or "false" - --int value is decimal number - --bool-or-int value is --bool or --int - --bool-or-str value is --bool or string - --path value is a path (file or directory name) - --expiry-date value is an expiry date - -Other - -z, --null terminate values with NUL byte - --name-only show variable names only - --includes respect include directives on lookup - --show-origin show origin of config (file, standard input, blob, command line) - --show-scope show scope of config (worktree, local, global, system, command) - --default with --get, use default value when missing entry - -ok 16 - --replace-all missing value - -expecting success of 1300.17 '--replace-all': - git config --replace-all beta.haha gamma - -ok 17 - --replace-all - -expecting success of 1300.18 'all replaced': - test_cmp expect .git/config - -ok 18 - all replaced - -expecting success of 1300.19 'really mean test': - git config beta.haha alpha && - test_cmp expect .git/config - -ok 19 - really mean test - -expecting success of 1300.20 'really really mean test': - git config nextsection.nonewline wow && - test_cmp expect .git/config - -ok 20 - really really mean test - -expecting success of 1300.21 'get value': - test_cmp_config alpha beta.haha - -ok 21 - get value +ok 21 - get value expecting success of 1300.22 'unset': git config --unset beta.haha && @@ -46160,1036 +41399,449 @@ 1..175 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1511-rev-parse-caret.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1511-rev-parse-caret/.git/ -expecting success of 1511.1 'setup': - echo blob >a-blob && - git tag -a -m blob blob-tag $(git hash-object -w a-blob) && - mkdir a-tree && - echo moreblobs >a-tree/another-blob && - git add . && - TREE_SHA1=$(git write-tree) && - git tag -a -m tree tree-tag "$TREE_SHA1" && - git commit -m Initial && - git tag -a -m commit commit-tag && - git branch ref && - git checkout master && - echo modified >>a-blob && - git add -u && - git commit -m Modified && - git branch modref && - echo changed! >>a-blob && - git add -u && - git commit -m !Exp && - git branch expref && - echo changed >>a-blob && - git add -u && - git commit -m Changed && - echo changed-again >>a-blob && - git add -u && - git commit -m Changed-again - -[master (root-commit) 543146a] Initial - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 a-blob - create mode 100644 a-tree/another-blob -Already on 'master' -[master 921b76a] Modified - Author: A U Thor - 1 file changed, 1 insertion(+) -[master e6ae3e8] !Exp - Author: A U Thor - 1 file changed, 1 insertion(+) -[master ee9e0b8] Changed - Author: A U Thor - 1 file changed, 1 insertion(+) -[master 8f5adaa] Changed-again - Author: A U Thor - 1 file changed, 1 insertion(+) -ok 1 - setup - -expecting success of 1511.2 'ref^{non-existent}': - test_must_fail git rev-parse ref^{non-existent} - -fatal: ambiguous argument 'ref^{non-existent}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -ref^{non-existent} -ok 2 - ref^{non-existent} - -expecting success of 1511.3 'ref^{}': - git rev-parse ref >expected && - git rev-parse ref^{} >actual && - test_cmp expected actual && - git rev-parse commit-tag^{} >actual && - test_cmp expected actual - -ok 3 - ref^{} - -expecting success of 1511.4 'ref^{commit}': - git rev-parse ref >expected && - git rev-parse ref^{commit} >actual && - test_cmp expected actual && - git rev-parse commit-tag^{commit} >actual && - test_cmp expected actual && - test_must_fail git rev-parse tree-tag^{commit} && - test_must_fail git rev-parse blob-tag^{commit} - -error: tree-tag^{commit}: expected commit type, but the object dereferences to tree type -error: tree-tag^{commit}: expected commit type, but the object dereferences to tree type -fatal: ambiguous argument 'tree-tag^{commit}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -tree-tag^{commit} -error: blob-tag^{commit}: expected commit type, but the object dereferences to blob type -error: blob-tag^{commit}: expected commit type, but the object dereferences to blob type -fatal: ambiguous argument 'blob-tag^{commit}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -blob-tag^{commit} -ok 4 - ref^{commit} - -expecting success of 1511.5 'ref^{tree}': - echo $TREE_SHA1 >expected && - git rev-parse ref^{tree} >actual && - test_cmp expected actual && - git rev-parse commit-tag^{tree} >actual && - test_cmp expected actual && - git rev-parse tree-tag^{tree} >actual && - test_cmp expected actual && - test_must_fail git rev-parse blob-tag^{tree} - -error: blob-tag^{tree}: expected tree type, but the object dereferences to blob type -error: blob-tag^{tree}: expected tree type, but the object dereferences to blob type -fatal: ambiguous argument 'blob-tag^{tree}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -blob-tag^{tree} -ok 5 - ref^{tree} - -expecting success of 1511.6 'ref^{tag}': - test_must_fail git rev-parse HEAD^{tag} && - git rev-parse commit-tag >expected && - git rev-parse commit-tag^{tag} >actual && - test_cmp expected actual - -error: HEAD^{tag}: expected tag type, but the object dereferences to tree type -error: HEAD^{tag}: expected tag type, but the object dereferences to tree type -fatal: ambiguous argument 'HEAD^{tag}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -HEAD^{tag} -ok 6 - ref^{tag} - -expecting success of 1511.7 'ref^{/.}': - git rev-parse master >expected && - git rev-parse master^{/.} >actual && - test_cmp expected actual - -ok 7 - ref^{/.} - -expecting success of 1511.8 'ref^{/non-existent}': - test_must_fail git rev-parse master^{/non-existent} - -fatal: ambiguous argument 'master^{/non-existent}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -master^{/non-existent} -ok 8 - ref^{/non-existent} - -expecting success of 1511.9 'ref^{/Initial}': - git rev-parse ref >expected && - git rev-parse master^{/Initial} >actual && - test_cmp expected actual - -ok 9 - ref^{/Initial} - -expecting success of 1511.10 'ref^{/!Exp}': - test_must_fail git rev-parse master^{/!Exp} - -fatal: ambiguous argument 'master^{/!Exp}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -master^{/!Exp} -ok 10 - ref^{/!Exp} - -expecting success of 1511.11 'ref^{/!}': - test_must_fail git rev-parse master^{/!} - -fatal: ambiguous argument 'master^{/!}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -master^{/!} -ok 11 - ref^{/!} - -expecting success of 1511.12 'ref^{/!!Exp}': - git rev-parse expref >expected && - git rev-parse master^{/!!Exp} >actual && - test_cmp expected actual - -ok 12 - ref^{/!!Exp} - -expecting success of 1511.13 'ref^{/!-}': - test_must_fail git rev-parse master^{/!-} - -fatal: ambiguous argument 'master^{/!-}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -master^{/!-} -ok 13 - ref^{/!-} - -expecting success of 1511.14 'ref^{/!-.}': - test_must_fail git rev-parse master^{/!-.} +*** t1408-packed-refs.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1408-packed-refs/.git/ +expecting success of 1408.1 'setup': + test_tick && + git commit --allow-empty -m one && + one=$(git rev-parse HEAD) && + git for-each-ref >actual && + echo "$one commit refs/heads/master" >expect && + test_cmp expect actual && -fatal: ambiguous argument 'master^{/!-.}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -master^{/!-.} -ok 14 - ref^{/!-.} + git pack-refs --all && + git for-each-ref >actual && + echo "$one commit refs/heads/master" >expect && + test_cmp expect actual && -expecting success of 1511.15 'ref^{/!-non-existent}': - git rev-parse master >expected && - git rev-parse master^{/!-non-existent} >actual && - test_cmp expected actual + git checkout --orphan another && + test_tick && + git commit --allow-empty -m two && + two=$(git rev-parse HEAD) && + git checkout -B master && + git branch -D another && -ok 15 - ref^{/!-non-existent} + git for-each-ref >actual && + echo "$two commit refs/heads/master" >expect && + test_cmp expect actual && -expecting success of 1511.16 'ref^{/!-Changed}': - git rev-parse expref >expected && - git rev-parse master^{/!-Changed} >actual && - test_cmp expected actual + git reflog expire --expire=now --all && + git prune && + git tag -m v1.0 v1.0 master -ok 16 - ref^{/!-Changed} +[master (root-commit) 76a57ce] one + Author: A U Thor +Switched to a new branch 'another' +[another (root-commit) 169e1dc] two + Author: A U Thor +Switched to and reset branch 'master' +Deleted branch another (was 169e1dc). +ok 1 - setup -expecting success of 1511.17 'ref^{/!-!Exp}': - git rev-parse modref >expected && - git rev-parse expref^{/!-!Exp} >actual && - test_cmp expected actual +expecting success of 1408.2 'no error from stale entry in packed-refs': + git describe master >actual 2>&1 && + echo "v1.0" >expect && + test_cmp expect actual -ok 17 - ref^{/!-!Exp} +ok 2 - no error from stale entry in packed-refs -# passed all 17 test(s) -1..17 +# passed all 2 test(s) +1..2 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1513-rev-parse-prefix.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1513-rev-parse-prefix/.git/ -expecting success of 1513.1 'setup': - mkdir -p sub1/sub2 && - echo top >top && - echo file1 >sub1/file1 && - echo file2 >sub1/sub2/file2 && - git add top sub1/file1 sub1/sub2/file2 && - git commit -m commit +*** t1409-avoid-packing-refs.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1409-avoid-packing-refs/.git/ +expecting success of 1409.1 'setup': + git commit --allow-empty -m "Commit A" && + A=$(git rev-parse HEAD) && + git commit --allow-empty -m "Commit B" && + B=$(git rev-parse HEAD) && + git commit --allow-empty -m "Commit C" && + C=$(git rev-parse HEAD) -[master (root-commit) 2a70803] commit +[master (root-commit) 8d09622] Commit A + Author: A U Thor +[master 241b9d6] Commit B + Author: A U Thor +[master 8d1dbac] Commit C Author: A U Thor - 3 files changed, 3 insertions(+) - create mode 100644 sub1/file1 - create mode 100644 sub1/sub2/file2 - create mode 100644 top ok 1 - setup -expecting success of 1513.2 'empty prefix -- file': - git rev-parse --prefix "" -- top sub1/file1 >actual && - cat <<-\EOF >expected && - -- - top - sub1/file1 - EOF - test_cmp expected actual +expecting success of 1409.2 'do not create packed-refs file gratuitously': + test_path_is_missing .git/packed-refs && + git update-ref refs/heads/foo $A && + test_path_is_missing .git/packed-refs && + git update-ref refs/heads/foo $B && + test_path_is_missing .git/packed-refs && + git update-ref refs/heads/foo $C $B && + test_path_is_missing .git/packed-refs && + git update-ref -d refs/heads/foo && + test_path_is_missing .git/packed-refs -ok 2 - empty prefix -- file +ok 2 - do not create packed-refs file gratuitously -expecting success of 1513.3 'valid prefix -- file': - git rev-parse --prefix sub1/ -- file1 sub2/file2 >actual && - cat <<-\EOF >expected && - -- - sub1/file1 - sub1/sub2/file2 - EOF - test_cmp expected actual +expecting success of 1409.3 'check that marking the packed-refs file works': + git for-each-ref >expected && + git pack-refs --all && + mark_packed_refs && + check_packed_refs_marked && + git for-each-ref >actual && + test_cmp expected actual && + git pack-refs --all && + ! check_packed_refs_marked && + git for-each-ref >actual2 && + test_cmp expected actual2 -ok 3 - valid prefix -- file +ok 3 - check that marking the packed-refs file works -expecting success of 1513.4 'valid prefix -- ../file': - git rev-parse --prefix sub1/ -- ../top sub2/file2 >actual && - cat <<-\EOF >expected && - -- - sub1/../top - sub1/sub2/file2 - EOF - test_cmp expected actual +expecting success of 1409.4 'leave packed-refs untouched on update of packed': + git update-ref refs/heads/packed-update $A && + git pack-refs --all && + mark_packed_refs && + git update-ref refs/heads/packed-update $B && + check_packed_refs_marked -ok 4 - valid prefix -- ../file +ok 4 - leave packed-refs untouched on update of packed -expecting success of 1513.5 'empty prefix HEAD:./path': - git rev-parse --prefix "" HEAD:./top >actual && - git rev-parse HEAD:top >expected && - test_cmp expected actual +expecting success of 1409.5 'leave packed-refs untouched on checked update of packed': + git update-ref refs/heads/packed-checked-update $A && + git pack-refs --all && + mark_packed_refs && + git update-ref refs/heads/packed-checked-update $B $A && + check_packed_refs_marked -ok 5 - empty prefix HEAD:./path +ok 5 - leave packed-refs untouched on checked update of packed -expecting success of 1513.6 'valid prefix HEAD:./path': - git rev-parse --prefix sub1/ HEAD:./file1 >actual && - git rev-parse HEAD:sub1/file1 >expected && - test_cmp expected actual +expecting success of 1409.6 'leave packed-refs untouched on verify of packed': + git update-ref refs/heads/packed-verify $A && + git pack-refs --all && + mark_packed_refs && + echo "verify refs/heads/packed-verify $A" | git update-ref --stdin && + check_packed_refs_marked -ok 6 - valid prefix HEAD:./path +ok 6 - leave packed-refs untouched on verify of packed -expecting success of 1513.7 'valid prefix HEAD:../path': - git rev-parse --prefix sub1/ HEAD:../top >actual && - git rev-parse HEAD:top >expected && - test_cmp expected actual +expecting success of 1409.7 'touch packed-refs on delete of packed': + git update-ref refs/heads/packed-delete $A && + git pack-refs --all && + mark_packed_refs && + git update-ref -d refs/heads/packed-delete && + ! check_packed_refs_marked -ok 7 - valid prefix HEAD:../path +ok 7 - touch packed-refs on delete of packed -expecting success of 1513.8 'prefix ignored with HEAD:top': - git rev-parse --prefix sub1/ HEAD:top >actual && - git rev-parse HEAD:top >expected && - test_cmp expected actual +expecting success of 1409.8 'leave packed-refs untouched on update of loose': + git pack-refs --all && + git update-ref refs/heads/loose-update $A && + mark_packed_refs && + git update-ref refs/heads/loose-update $B && + check_packed_refs_marked -ok 8 - prefix ignored with HEAD:top +ok 8 - leave packed-refs untouched on update of loose -expecting success of 1513.9 'disambiguate path with valid prefix': - git rev-parse --prefix sub1/ file1 >actual && - cat <<-\EOF >expected && - sub1/file1 - EOF - test_cmp expected actual +expecting success of 1409.9 'leave packed-refs untouched on checked update of loose': + git pack-refs --all && + git update-ref refs/heads/loose-checked-update $A && + mark_packed_refs && + git update-ref refs/heads/loose-checked-update $B $A && + check_packed_refs_marked -ok 9 - disambiguate path with valid prefix +ok 9 - leave packed-refs untouched on checked update of loose -expecting success of 1513.10 'file and refs with prefix': - git rev-parse --prefix sub1/ master file1 >actual && - cat <<-EOF >expected && - $(git rev-parse master) - sub1/file1 - EOF - test_cmp expected actual +expecting success of 1409.10 'leave packed-refs untouched on verify of loose': + git pack-refs --all && + git update-ref refs/heads/loose-verify $A && + mark_packed_refs && + echo "verify refs/heads/loose-verify $A" | git update-ref --stdin && + check_packed_refs_marked -ok 10 - file and refs with prefix +ok 10 - leave packed-refs untouched on verify of loose -expecting success of 1513.11 'two-levels deep': - git rev-parse --prefix sub1/sub2/ -- file2 >actual && - cat <<-\EOF >expected && - -- - sub1/sub2/file2 - EOF - test_cmp expected actual +expecting success of 1409.11 'leave packed-refs untouched on delete of loose': + git pack-refs --all && + git update-ref refs/heads/loose-delete $A && + mark_packed_refs && + git update-ref -d refs/heads/loose-delete && + check_packed_refs_marked -ok 11 - two-levels deep +ok 11 - leave packed-refs untouched on delete of loose # passed all 11 test(s) 1..11 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1515-rev-parse-outside-repo.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1515-rev-parse-outside-repo/.git/ -expecting success of 1515.1 'set up non-repo directory': - GIT_CEILING_DIRECTORIES=$(pwd) && - export GIT_CEILING_DIRECTORIES && - mkdir non-repo && - cd non-repo && - # confirm that git does not find a repo - test_must_fail git rev-parse --git-dir - -fatal: not a git repository (or any of the parent directories): .git -ok 1 - set up non-repo directory - -expecting success of 1515.2 'rev-parse --sq-quote': - dump_args "$tricky" easy >expect && - eval "dump_args $(git rev-parse --sq-quote "$tricky" easy)" >actual && - test_cmp expect actual +*** t1412-reflog-loop.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1412-reflog-loop/.git/ +expecting success of 1412.1 'setup commits': + test_tick && + echo content >file && git add file && git commit -m one && + git tag one && + echo content >>file && git add file && git commit -m two && + git tag two -ok 2 - rev-parse --sq-quote +[master (root-commit) e46513e] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 file +[master 441e5e0] two + Author: A U Thor + 1 file changed, 1 insertion(+) +ok 1 - setup commits -expecting success of 1515.3 'rev-parse --local-env-vars': - git rev-parse --local-env-vars >actual && - # we do not want to depend on the complete list here, - # so just look for something plausible - grep ^GIT_DIR actual +expecting success of 1412.2 'setup reflog with alternating commits': + git checkout -b topic && + git reset one && + git reset two && + git reset one && + git reset two -GIT_DIR -ok 3 - rev-parse --local-env-vars +Switched to a new branch 'topic' +Unstaged changes after reset: +M file +Unstaged changes after reset: +M file +ok 2 - setup reflog with alternating commits -expecting success of 1515.4 'rev-parse --resolve-git-dir': - git init --separate-git-dir repo dir && - test_must_fail git rev-parse --resolve-git-dir . && - echo "$(pwd)/repo" >expect && - git rev-parse --resolve-git-dir dir/.git >actual && +expecting success of 1412.3 'reflog shows all entries': + cat >expect <<-\EOF && + topic@{0} reset: moving to two + topic@{1} reset: moving to one + topic@{2} reset: moving to two + topic@{3} reset: moving to one + topic@{4} branch: Created from HEAD + EOF + git log -g --format="%gd %gs" topic >actual && test_cmp expect actual -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1515-rev-parse-outside-repo/non-repo/repo/ -fatal: not a gitdir '.' -ok 4 - rev-parse --resolve-git-dir +ok 3 - reflog shows all entries -# passed all 4 test(s) -1..4 +# passed all 3 test(s) +1..3 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1508-at-combinations.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1508-at-combinations/.git/ -expecting success of 1508.1 'setup': - test_commit master-one && - test_commit master-two && - git checkout -b upstream-branch && - test_commit upstream-one && - test_commit upstream-two && - if test_have_prereq !MINGW - then - git checkout -b @/at-test - fi && - git checkout -b @@/at-test && - git checkout -b @at-test && - git checkout -b old-branch && - test_commit old-one && - test_commit old-two && - git checkout -b new-branch && - test_commit new-one && - test_commit new-two && - git branch -u master old-branch && - git branch -u upstream-branch new-branch +*** t1411-reflog-show.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1411-reflog-show/.git/ +expecting success of 1411.1 'setup': + echo content >file && + git add file && + test_tick && + git commit -m one -[master (root-commit) 8ff5a25] master-one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 master-one.t -[master 8164ab4] master-two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 master-two.t -Switched to a new branch 'upstream-branch' -[upstream-branch 101729d] upstream-one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 upstream-one.t -[upstream-branch 77f4b7f] upstream-two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 upstream-two.t -Switched to a new branch '@/at-test' -Switched to a new branch '@@/at-test' -Switched to a new branch '@at-test' -Switched to a new branch 'old-branch' -[old-branch 4e4e7fa] old-one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 old-one.t -[old-branch 3273d4d] old-two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 old-two.t -Switched to a new branch 'new-branch' -[new-branch e49ce93] new-one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 new-one.t -[new-branch c493e4b] new-two +[master (root-commit) e46513e] one Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 new-two.t -Branch 'old-branch' set up to track local branch 'master'. -Branch 'new-branch' set up to track local branch 'upstream-branch'. + create mode 100644 file ok 1 - setup -expecting success of 1508.2 'HEAD = refs/heads/new-branch': - echo 'refs/heads/new-branch' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s 'HEAD' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD' >actual - else - git cat-file -p 'HEAD' >actual - fi && - test_cmp expect actual - -ok 2 - HEAD = refs/heads/new-branch +expecting success of 1411.2 'log -g shows reflog headers': + git log -g -1 >tmp && + grep ^Reflog actual && + test_cmp expect actual -expecting success of 1508.3 '@{1} = new-one': - echo 'new-one' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{1}' >actual - else - git cat-file -p '@{1}' >actual - fi && - test_cmp expect actual - -ok 3 - @{1} = new-one +ok 2 - log -g shows reflog headers -expecting success of 1508.4 'HEAD@{1} = new-one': - echo 'new-one' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s 'HEAD@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD@{1}' >actual - else - git cat-file -p 'HEAD@{1}' >actual - fi && - test_cmp expect actual - -ok 4 - HEAD@{1} = new-one +expecting success of 1411.3 'oneline reflog format': + git log -g -1 --oneline >actual && + test_cmp expect actual -expecting success of 1508.5 '@{now} = new-two': - echo 'new-two' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{now}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{now}' >actual - else - git cat-file -p '@{now}' >actual - fi && - test_cmp expect actual - -ok 5 - @{now} = new-two +ok 3 - oneline reflog format -expecting success of 1508.6 'HEAD@{now} = new-two': - echo 'new-two' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s 'HEAD@{now}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD@{now}' >actual - else - git cat-file -p 'HEAD@{now}' >actual - fi && - test_cmp expect actual - -ok 6 - HEAD@{now} = new-two +expecting success of 1411.4 'reflog default format': + git reflog -1 >actual && + test_cmp expect actual -expecting success of 1508.7 '@{-1} = refs/heads/old-branch': - echo 'refs/heads/old-branch' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@{-1}' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@{-1}' >actual - else - git cat-file -p '@{-1}' >actual - fi && - test_cmp expect actual - -ok 7 - @{-1} = refs/heads/old-branch +ok 4 - reflog default format -expecting success of 1508.8 '@{-1}@{0} = old-two': - echo 'old-two' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{-1}@{0}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{-1}@{0}' >actual - else - git cat-file -p '@{-1}@{0}' >actual - fi && - test_cmp expect actual - -ok 8 - @{-1}@{0} = old-two +expecting success of 1411.5 'override reflog default format': + git reflog --format=short -1 >actual && + test_cmp expect actual -expecting success of 1508.9 '@{-1}@{1} = old-one': - echo 'old-one' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{-1}@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{-1}@{1}' >actual - else - git cat-file -p '@{-1}@{1}' >actual - fi && - test_cmp expect actual - -ok 9 - @{-1}@{1} = old-one +ok 5 - override reflog default format -expecting success of 1508.10 '@{u} = refs/heads/upstream-branch': - echo 'refs/heads/upstream-branch' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@{u}' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@{u}' >actual - else - git cat-file -p '@{u}' >actual - fi && - test_cmp expect actual - -ok 10 - @{u} = refs/heads/upstream-branch +expecting success of 1411.6 'using @{now} syntax shows reflog date (multiline)': + git log -g -1 HEAD@{now} >tmp && + grep ^Reflog actual && + test_cmp expect actual -expecting success of 1508.11 'HEAD@{u} = refs/heads/upstream-branch': - echo 'refs/heads/upstream-branch' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s 'HEAD@{u}' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD@{u}' >actual - else - git cat-file -p 'HEAD@{u}' >actual - fi && - test_cmp expect actual - -ok 11 - HEAD@{u} = refs/heads/upstream-branch +ok 6 - using @{now} syntax shows reflog date (multiline) -expecting success of 1508.12 '@{u}@{1} = upstream-one': - echo 'upstream-one' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{u}@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{u}@{1}' >actual - else - git cat-file -p '@{u}@{1}' >actual - fi && - test_cmp expect actual - -ok 12 - @{u}@{1} = upstream-one +expecting success of 1411.7 'using @{now} syntax shows reflog date (oneline)': + git log -g -1 --oneline HEAD@{now} >actual && + test_cmp expect actual -expecting success of 1508.13 '@{-1}@{u} = refs/heads/master': - echo 'refs/heads/master' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@{-1}@{u}' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@{-1}@{u}' >actual - else - git cat-file -p '@{-1}@{u}' >actual - fi && - test_cmp expect actual - -ok 13 - @{-1}@{u} = refs/heads/master +ok 7 - using @{now} syntax shows reflog date (oneline) -expecting success of 1508.14 '@{-1}@{u}@{1} = master-one': - echo 'master-one' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{-1}@{u}@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{-1}@{u}@{1}' >actual - else - git cat-file -p '@{-1}@{u}@{1}' >actual - fi && - test_cmp expect actual - -ok 14 - @{-1}@{u}@{1} = master-one +expecting success of 1411.8 'using @{now} syntax shows reflog date (format=%gd)': + git log -g -1 --format=%gd HEAD@{now} >actual && + test_cmp expect actual -expecting success of 1508.15 '@ = new-two': - echo 'new-two' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@' >actual - else - git cat-file -p '@' >actual - fi && - test_cmp expect actual - -ok 15 - @ = new-two +ok 8 - using @{now} syntax shows reflog date (format=%gd) -expecting success of 1508.16 '@@{u} = refs/heads/upstream-branch': - echo 'refs/heads/upstream-branch' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@@{u}' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@@{u}' >actual - else - git cat-file -p '@@{u}' >actual - fi && - test_cmp expect actual - -ok 16 - @@{u} = refs/heads/upstream-branch +expecting success of 1411.9 'using --date= shows reflog date (multiline)': + git log -g -1 --date=default >tmp && + grep ^Reflog actual && + test_cmp expect actual -expecting success of 1508.17 '@@/at-test = refs/heads/@@/at-test': - echo 'refs/heads/@@/at-test' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@@/at-test' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@@/at-test' >actual - else - git cat-file -p '@@/at-test' >actual - fi && - test_cmp expect actual - -ok 17 - @@/at-test = refs/heads/@@/at-test +ok 9 - using --date= shows reflog date (multiline) -expecting success of 1508.18 '@/at-test = refs/heads/@/at-test': - echo 'refs/heads/@/at-test' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@/at-test' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@/at-test' >actual - else - git cat-file -p '@/at-test' >actual - fi && - test_cmp expect actual - -ok 18 - @/at-test = refs/heads/@/at-test +expecting success of 1411.10 'using --date= shows reflog date (oneline)': + git log -g -1 --oneline --date=default >actual && + test_cmp expect actual -expecting success of 1508.19 '@at-test = refs/heads/@at-test': - echo 'refs/heads/@at-test' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s '@at-test' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name '@at-test' >actual - else - git cat-file -p '@at-test' >actual - fi && - test_cmp expect actual - -ok 19 - @at-test = refs/heads/@at-test +ok 10 - using --date= shows reflog date (oneline) -expecting success of 1508.20 '@{u}@{-1} is nonsensical': - test_must_fail git rev-parse --verify '@{u}@{-1}' - -fatal: Needed a single revision -ok 20 - @{u}@{-1} is nonsensical +expecting success of 1411.11 'using --date= shows reflog date (format=%gd)': + git log -g -1 --format=%gd --date=raw >actual && + test_cmp expect actual -expecting success of 1508.21 '@{0}@{0} is nonsensical': - test_must_fail git rev-parse --verify '@{0}@{0}' - -fatal: Needed a single revision -ok 21 - @{0}@{0} is nonsensical +ok 11 - using --date= shows reflog date (format=%gd) -expecting success of 1508.22 '@{1}@{u} is nonsensical': - test_must_fail git rev-parse --verify '@{1}@{u}' - -fatal: no such branch: '@{1}' -ok 22 - @{1}@{u} is nonsensical +expecting success of 1411.12 'log.date does not invoke "--date" magic (multiline)': + test_config log.date raw && + git log -g -1 >tmp && + grep ^Reflog actual && + test_cmp expect actual -expecting success of 1508.23 'HEAD@{-1} is nonsensical': - test_must_fail git rev-parse --verify 'HEAD@{-1}' - -fatal: Needed a single revision -ok 23 - HEAD@{-1} is nonsensical +ok 12 - log.date does not invoke "--date" magic (multiline) -expecting success of 1508.24 '@{-1}@{-1} is nonsensical': - test_must_fail git rev-parse --verify '@{-1}@{-1}' - -fatal: Needed a single revision -ok 24 - @{-1}@{-1} is nonsensical +expecting success of 1411.13 'log.date does not invoke "--date" magic (oneline)': + test_config log.date raw && + git log -g -1 --oneline >actual && + test_cmp expect actual -expecting success of 1508.25 'HEAD@{3} = old-two': - echo 'old-two' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s 'HEAD@{3}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD@{3}' >actual - else - git cat-file -p 'HEAD@{3}' >actual - fi && - test_cmp expect actual - -ok 25 - HEAD@{3} = old-two +ok 13 - log.date does not invoke "--date" magic (oneline) -expecting success of 1508.26 '@{3} is nonsensical': - test_must_fail git rev-parse --verify '@{3}' - -fatal: log for 'new-branch' only has 3 entries -ok 26 - @{3} is nonsensical +expecting success of 1411.14 'log.date does not invoke "--date" magic (format=%gd)': + test_config log.date raw && + git log -g -1 --format=%gd >actual && + test_cmp expect actual -expecting success of 1508.27 'switch to old-branch': - git checkout old-branch +ok 14 - log.date does not invoke "--date" magic (format=%gd) -Switched to branch 'old-branch' -Your branch is ahead of 'master' by 4 commits. - (use "git push" to publish your local commits) -ok 27 - switch to old-branch +expecting success of 1411.15 '--date magic does not override explicit @{0} syntax': + git log -g -1 --format=%gd --date=raw HEAD@{0} >actual && + test_cmp expect actual -expecting success of 1508.28 'HEAD = refs/heads/old-branch': - echo 'refs/heads/old-branch' >expect && - if test 'ref' = 'commit' - then - git log -1 --format=%s 'HEAD' >actual - elif test 'ref' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD' >actual - else - git cat-file -p 'HEAD' >actual - fi && - test_cmp expect actual - -ok 28 - HEAD = refs/heads/old-branch +ok 15 - --date magic does not override explicit @{0} syntax -expecting success of 1508.29 'HEAD@{1} = new-two': - echo 'new-two' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s 'HEAD@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name 'HEAD@{1}' >actual - else - git cat-file -p 'HEAD@{1}' >actual - fi && - test_cmp expect actual - -ok 29 - HEAD@{1} = new-two +expecting success of 1411.16 'empty reflog file': + git branch empty && + git reflog expire --expire=all refs/heads/empty && -expecting success of 1508.30 '@{1} = old-one': - echo 'old-one' >expect && - if test 'commit' = 'commit' - then - git log -1 --format=%s '@{1}' >actual - elif test 'commit' = 'ref' - then - git rev-parse --symbolic-full-name '@{1}' >actual - else - git cat-file -p '@{1}' >actual - fi && - test_cmp expect actual - -ok 30 - @{1} = old-one + git log -g empty >actual && + test_must_be_empty actual -expecting success of 1508.31 'create path with @': - echo content >normal && - echo content >fun@ny && - git add normal fun@ny && - git commit -m "funny path" +ok 16 - empty reflog file -[old-branch 9d022ac] funny path +expecting success of 1411.17 'git log -g -p shows diffs vs. parents': + test_commit two && + git branch flipflop && + git update-ref refs/heads/flipflop -m flip1 HEAD^ && + git update-ref refs/heads/flipflop -m flop1 HEAD && + git update-ref refs/heads/flipflop -m flip2 HEAD^ && + git log -g -p flipflop >reflog && + grep -v ^Reflog reflog >actual && + git log -1 -p HEAD^ >log.one && + git log -1 -p HEAD >log.two && + ( + cat log.one && echo && + cat log.two && echo && + cat log.one && echo && + cat log.two + ) >expect && + test_cmp expect actual + +[master fc3e0aa] two Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 fun@ny - create mode 100644 normal -ok 31 - create path with @ + 1 file changed, 1 insertion(+) + create mode 100644 two.t +ok 17 - git log -g -p shows diffs vs. parents -expecting success of 1508.32 '@:normal = content': - echo 'content' >expect && - if test 'blob' = 'commit' - then - git log -1 --format=%s '@:normal' >actual - elif test 'blob' = 'ref' - then - git rev-parse --symbolic-full-name '@:normal' >actual - else - git cat-file -p '@:normal' >actual - fi && - test_cmp expect actual - -ok 32 - @:normal = content +expecting success of 1411.18 'reflog exists works': + git reflog exists refs/heads/master && + ! git reflog exists refs/heads/nonexistent -expecting success of 1508.33 '@:fun@ny = content': - echo 'content' >expect && - if test 'blob' = 'commit' - then - git log -1 --format=%s '@:fun@ny' >actual - elif test 'blob' = 'ref' - then - git rev-parse --symbolic-full-name '@:fun@ny' >actual - else - git cat-file -p '@:fun@ny' >actual - fi && - test_cmp expect actual - -ok 33 - @:fun@ny = content +ok 18 - reflog exists works -# passed all 33 test(s) -1..33 +# passed all 18 test(s) +1..18 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1507-rev-parse-upstream.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1507-rev-parse-upstream/.git/ -expecting success of 1507.1 'setup': - - test_commit 1 && - git checkout -b side && - test_commit 2 && - git checkout master && - git clone . clone && - test_commit 3 && - (cd clone && - test_commit 4 && - git branch --track my-side origin/side && - git branch --track local-master master && - git branch --track fun@ny origin/side && - git branch --track @funny origin/side && - git branch --track funny@ origin/side && - git remote add -t master master-only .. && - git fetch master-only && - git branch bad-upstream && - git config branch.bad-upstream.remote master-only && - git config branch.bad-upstream.merge refs/heads/side - ) +*** t1413-reflog-detach.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1413-reflog-detach/.git/ +expecting success of 1413.1 'setup': + test_tick && + git commit --allow-empty -m initial && + git branch side && + test_tick && + git commit --allow-empty -m second && + cat .git/logs/HEAD >saved_reflog -[master (root-commit) d0dcf97] 1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 1.t -Switched to a new branch 'side' -[side 82335b2] 2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 2.t -Switched to branch 'master' -Cloning into 'clone'... -done. -[master 8f489d0] 3 +[master (root-commit) 66fe8b3] initial Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 3.t -[master 6efda21] 4 +[master 5ce2b00] second Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 4.t -Branch 'my-side' set up to track remote branch 'side' from 'origin'. -Branch 'local-master' set up to track local branch 'master'. -Branch 'fun@ny' set up to track remote branch 'side' from 'origin'. -Branch '@funny' set up to track remote branch 'side' from 'origin'. -Branch 'funny@' set up to track remote branch 'side' from 'origin'. -From .. - * [new branch] master -> master-only/master - * [new tag] 3 -> 3 ok 1 - setup -expecting success of 1507.2 '@{upstream} resolves to correct full name': - echo refs/remotes/origin/master >expect && - git -C clone rev-parse --symbolic-full-name @{upstream} >actual && - test_cmp expect actual && - git -C clone rev-parse --symbolic-full-name @{UPSTREAM} >actual && - test_cmp expect actual && - git -C clone rev-parse --symbolic-full-name @{UpSTReam} >actual && - test_cmp expect actual - -ok 2 - @{upstream} resolves to correct full name - -expecting success of 1507.3 '@{u} resolves to correct full name': - echo refs/remotes/origin/master >expect && - git -C clone rev-parse --symbolic-full-name @{u} >actual && - test_cmp expect actual && - git -C clone rev-parse --symbolic-full-name @{U} >actual && - test_cmp expect actual - -ok 3 - @{u} resolves to correct full name - -expecting success of 1507.4 'my-side@{upstream} resolves to correct full name': - echo refs/remotes/origin/side >expect && - git -C clone rev-parse --symbolic-full-name my-side@{u} >actual && +expecting success of 1413.2 'baseline': + reset_state && + git rev-parse master master^ >expect && + git log -g --format=%H >actual && test_cmp expect actual -ok 4 - my-side@{upstream} resolves to correct full name +Already on 'master' +ok 2 - baseline -expecting success of 1507.5 'upstream of branch with @ in middle': - git -C clone rev-parse --symbolic-full-name fun@ny@{u} >actual && - echo refs/remotes/origin/side >expect && - test_cmp expect actual && - git -C clone rev-parse --symbolic-full-name fun@ny@{U} >actual && +expecting success of 1413.3 'switch to branch': + reset_state && + git rev-parse side master master^ >expect && + git checkout side && + git log -g --format=%H >actual && test_cmp expect actual -ok 5 - upstream of branch with @ in middle +Already on 'master' +Switched to branch 'side' +ok 3 - switch to branch -expecting success of 1507.6 'upstream of branch with @ at start': - git -C clone rev-parse --symbolic-full-name @funny@{u} >actual && - echo refs/remotes/origin/side >expect && +expecting success of 1413.4 'detach to other': + reset_state && + git rev-parse master side master master^ >expect && + git checkout side && + git checkout master^0 && + git log -g --format=%H >actual && test_cmp expect actual -ok 6 - upstream of branch with @ at start - -expecting success of 1507.7 'upstream of branch with @ at end': - git -C clone rev-parse --symbolic-full-name funny@@{u} >actual && - echo refs/remotes/origin/side >expect && - test_cmp expect actual +Switched to branch 'master' +Switched to branch 'side' +Note: switching to 'master^0'. -ok 7 - upstream of branch with @ at end +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 1507.8 'refs/heads/my-side@{upstream} does not resolve to my-side{upstream}': - test_must_fail git -C clone rev-parse --symbolic-full-name refs/heads/my-side@{upstream} +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -fatal: no such branch: 'refs/heads/my-side' -ok 8 - refs/heads/my-side@{upstream} does not resolve to my-side{upstream} + git switch -c -expecting success of 1507.9 'my-side@{u} resolves to correct commit': - git checkout side && - test_commit 5 && - (cd clone && git fetch) && - echo 2 >expect && - commit_subject my-side >actual && - test_cmp expect actual && - echo 5 >expect && - commit_subject my-side@{u} >actual +Or undo this operation with: -Switched to branch 'side' -[side e3f9627] 5 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 5.t -From /build/git-2.30.2/t/trash directory.t1507-rev-parse-upstream/. - d0dcf97..8f489d0 master -> origin/master - 82335b2..e3f9627 side -> origin/side - * [new tag] 5 -> 5 -ok 9 - my-side@{u} resolves to correct commit + git switch - -expecting success of 1507.10 'not-tracking@{u} fails': - test_must_fail git -C clone rev-parse --symbolic-full-name non-tracking@{u} && - (cd clone && git checkout --no-track -b non-tracking) && - test_must_fail git -C clone rev-parse --symbolic-full-name non-tracking@{u} +Turn off this advice by setting config variable advice.detachedHead to false -fatal: no such branch: 'non-tracking' -Switched to a new branch 'non-tracking' -fatal: no upstream configured for branch 'non-tracking' -ok 10 - not-tracking@{u} fails +HEAD is now at 5ce2b00 second +ok 4 - detach to other -expecting success of 1507.11 '@{u}@{1} resolves correctly': - test_commit 6 && - (cd clone && git fetch) && - echo 5 >expect && - commit_subject my-side@{u}@{1} >actual && - test_cmp expect actual && - commit_subject my-side@{U}@{1} >actual && +expecting success of 1413.5 'detach to self': + reset_state && + git rev-parse master master master^ >expect && + git checkout master^0 && + git log -g --format=%H >actual && test_cmp expect actual -[side 8bf5882] 6 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 6.t -From /build/git-2.30.2/t/trash directory.t1507-rev-parse-upstream/. - e3f9627..8bf5882 side -> origin/side - * [new tag] 6 -> 6 -ok 11 - @{u}@{1} resolves correctly - -expecting success of 1507.12 '@{u} without specifying branch fails on a detached HEAD': - git checkout HEAD^0 && - test_must_fail git rev-parse @{u} && - test_must_fail git rev-parse @{U} - -Note: switching to 'HEAD^0'. +Switched to branch 'master' +Note: switching to 'master^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this @@ -47206,122 +41858,49 @@ Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at 8bf5882 6 -fatal: HEAD does not point to a branch -fatal: HEAD does not point to a branch -ok 12 - @{u} without specifying branch fails on a detached HEAD - -expecting success of 1507.13 'checkout -b new my-side@{u} forks from the same': -( - cd clone && - git checkout -b new my-side@{u} && - git rev-parse --symbolic-full-name my-side@{u} >expect && - git rev-parse --symbolic-full-name new@{u} >actual && - test_cmp expect actual -) - -Switched to a new branch 'new' -Branch 'new' set up to track remote branch 'side' from 'origin'. -ok 13 - checkout -b new my-side@{u} forks from the same +HEAD is now at 5ce2b00 second +ok 5 - detach to self -expecting success of 1507.14 'merge my-side@{u} records the correct name': -( - cd clone && +expecting success of 1413.6 'attach to self': + reset_state && + git rev-parse master master master master^ >expect && + git checkout master^0 && git checkout master && - test_might_fail git branch -D new && - git branch -t new my-side@{u} && - git merge -s ours new@{u} && - git show -s --pretty=tformat:%s >actual && - echo "Merge remote-tracking branch ${SQ}origin/side${SQ}" >expect && - test_cmp expect actual -) - -Switched to branch 'master' -Your branch and 'origin/master' have diverged, -and have 1 and 1 different commits each, respectively. - (use "git pull" to merge the remote branch into yours) -Deleted branch new (was 8bf5882). -Branch 'new' set up to track remote branch 'side' from 'origin'. -Merge made by the 'ours' strategy. -ok 14 - merge my-side@{u} records the correct name - -expecting success of 1507.15 'branch -d other@{u}': - git checkout -t -b other master && - git branch -d @{u} && - git for-each-ref refs/heads/master >actual && - test_must_be_empty actual - -Previous HEAD position was 8bf5882 6 -Switched to a new branch 'other' -Branch 'other' set up to track local branch 'master'. -Deleted branch master (was 8f489d0). -ok 15 - branch -d other@{u} - -expecting success of 1507.16 'checkout other@{u}': - git branch -f master HEAD && - git checkout -t -b another master && - git checkout @{u} && - git symbolic-ref HEAD >actual && - echo refs/heads/master >expect && + git log -g --format=%H >actual && test_cmp expect actual -Switched to a new branch 'another' -Branch 'another' set up to track local branch 'master'. Switched to branch 'master' -ok 16 - checkout other@{u} - -expecting success of 1507.17 'branch@{u} works when tracking a local branch': - echo refs/heads/master >expect && - git -C clone rev-parse --symbolic-full-name local-master@{u} >actual && - test_cmp expect actual - -ok 17 - branch@{u} works when tracking a local branch - -expecting success of 1507.18 'branch@{u} error message when no upstream': - cat >expect <<-EOF && - fatal: no upstream configured for branch ${SQ}non-tracking${SQ} - EOF - error_message non-tracking@{u} && - test_i18ncmp expect error +Note: switching to 'master^0'. -checking prerequisite: C_LOCALE_OUTPUT +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -) -prerequisite C_LOCALE_OUTPUT ok -ok 18 - branch@{u} error message when no upstream + git switch -c -expecting success of 1507.19 '@{u} error message when no upstream': - cat >expect <<-EOF && - fatal: no upstream configured for branch ${SQ}master${SQ} - EOF - test_must_fail git rev-parse --verify @{u} 2>actual && - test_i18ncmp expect actual +Or undo this operation with: -ok 19 - @{u} error message when no upstream + git switch - -expecting success of 1507.20 'branch@{u} error message with misspelt branch': - cat >expect <<-EOF && - fatal: no such branch: ${SQ}no-such-branch${SQ} - EOF - error_message no-such-branch@{u} && - test_i18ncmp expect error +Turn off this advice by setting config variable advice.detachedHead to false -ok 20 - branch@{u} error message with misspelt branch +HEAD is now at 5ce2b00 second +Switched to branch 'master' +ok 6 - attach to self -expecting success of 1507.21 '@{u} error message when not on a branch': - cat >expect <<-EOF && - fatal: HEAD does not point to a branch - EOF - git checkout HEAD^0 && - test_must_fail git rev-parse --verify @{u} 2>actual && - test_i18ncmp expect actual +expecting success of 1413.7 'attach to other': + reset_state && + git rev-parse side master master master^ >expect && + git checkout master^0 && + git checkout side && + git log -g --format=%H >actual && + test_cmp expect actual -Note: switching to 'HEAD^0'. +Already on 'master' +Note: switching to 'master^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this @@ -47338,6015 +41917,2495 @@ Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at 8f489d0 3 -ok 21 - @{u} error message when not on a branch +HEAD is now at 5ce2b00 second +Previous HEAD position was 5ce2b00 second +Switched to branch 'side' +ok 7 - attach to other -expecting success of 1507.22 'branch@{u} error message if upstream branch not fetched': - cat >expect <<-EOF && - fatal: upstream branch ${SQ}refs/heads/side${SQ} not stored as a remote-tracking branch +# passed all 7 test(s) +1..7 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1414-reflog-walk.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1414-reflog-walk/.git/ +expecting success of 1414.1 'set up some reflog entries': + test_commit one && + test_commit two && + git checkout -b side HEAD^ && + test_commit three && + git merge --no-commit master && + echo evil-merge-content >>one.t && + test_tick && + git commit --no-edit -a + +[master (root-commit) d79ce16] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +[master 139b20d] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +Switched to a new branch 'side' +[side 897c206] three + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 three.t +Merging: +897c206 three +virtual master +found 1 common ancestor: +d79ce16 one +Automatic merge went well; stopped before committing as requested +[side 0a3eb79] Merge branch 'master' into side + Author: A U Thor +ok 1 - set up some reflog entries + +expecting success of 1414.2 'set up expected reflog': + cat >expect.all <<-EOF + HEAD@{0} commit (merge): Merge branch ${SQ}master${SQ} into side + HEAD@{1} commit: three + HEAD@{2} checkout: moving from master to side + HEAD@{3} commit: two + HEAD@{4} commit (initial): one EOF - error_message bad-upstream@{u} && - test_i18ncmp expect error -ok 22 - branch@{u} error message if upstream branch not fetched +ok 2 - set up expected reflog -expecting success of 1507.23 'pull works when tracking a local branch': -( - cd clone && - git checkout local-master && - git pull -) +expecting success of 1414.3 'reflog walk shows expected logs': + do_walk >actual && + test_cmp expect.all actual -Switched to branch 'local-master' -Your branch is behind 'master' by 4 commits, and can be fast-forwarded. - (use "git pull" to update your local branch) -hint: Pulling without specifying how to reconcile divergent branches is -hint: discouraged. You can squelch this message by running one of the following -hint: commands sometime before your next pull: -hint: -hint: git config pull.rebase false # merge (the default strategy) -hint: git config pull.rebase true # rebase -hint: git config pull.ff only # fast-forward only -hint: -hint: You can replace "git config" with "git config --global" to set a default -hint: preference for all repositories. You can also pass --rebase, --no-rebase, -hint: or --ff-only on the command line to override the configured default per -hint: invocation. -From . - * branch master -> FETCH_HEAD -Updating 6efda21..ac35135 -Fast-forward -ok 23 - pull works when tracking a local branch +ok 3 - reflog walk shows expected logs -expecting success of 1507.24 '@{u} works when tracking a local branch': - echo refs/heads/master >expect && - git -C clone rev-parse --symbolic-full-name @{u} >actual && +expecting success of 1414.4 'reflog can limit with --no-merges': + grep -v merge expect.all >expect && + do_walk --no-merges >actual && test_cmp expect actual -ok 24 - @{u} works when tracking a local branch - -expecting success of 1507.25 'log -g other@{u}': - commit=$(git rev-parse HEAD) && - cat >expect <<-EOF && - commit $commit - Reflog: master@{0} (C O Mitter ) - Reflog message: branch: Created from HEAD - Author: A U Thor - Date: Thu Apr 7 15:15:13 2005 -0700 +ok 4 - reflog can limit with --no-merges - 3 - EOF - git log -1 -g other@{u} >actual && +expecting success of 1414.5 'reflog can limit with pathspecs': + grep two expect.all >expect && + do_walk -- two.t >actual && test_cmp expect actual -ok 25 - log -g other@{u} - -expecting success of 1507.26 'log -g other@{u}@{now}': - commit=$(git rev-parse HEAD) && - cat >expect <<-EOF && - commit $commit - Reflog: master@{Thu Apr 7 15:17:13 2005 -0700} (C O Mitter ) - Reflog message: branch: Created from HEAD - Author: A U Thor - Date: Thu Apr 7 15:15:13 2005 -0700 +ok 5 - reflog can limit with pathspecs - 3 - EOF - git log -1 -g other@{u}@{now} >actual && +expecting success of 1414.6 'pathspec limiting handles merges': + # we pick up: + # - the initial commit of one + # - the checkout back to commit one + # - the evil merge which touched one + sed -n "1p;3p;5p" expect.all >expect && + do_walk -- one.t >actual && test_cmp expect actual -ok 26 - log -g other@{u}@{now} +ok 6 - pathspec limiting handles merges -expecting success of 1507.27 '@{reflog}-parsing does not look beyond colon': - echo content >@{yesterday} && - git add @{yesterday} && - git commit -m "funny reflog file" && - git hash-object @{yesterday} >expect && - git rev-parse HEAD:@{yesterday} >actual +expecting success of 1414.7 '--parents shows true parents': + # convert newlines to spaces + echo $(git rev-parse HEAD HEAD^1 HEAD^2) >expect && + git rev-list -g --parents -1 HEAD >actual && + test_cmp expect actual -[detached HEAD eae0df2] funny reflog file - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 @{yesterday} -ok 27 - @{reflog}-parsing does not look beyond colon +ok 7 - --parents shows true parents -expecting success of 1507.28 '@{upstream}-parsing does not look beyond colon': - echo content >@{upstream} && - git add @{upstream} && - git commit -m "funny upstream file" && - git hash-object @{upstream} >expect && - git rev-parse HEAD:@{upstream} >actual +expecting success of 1414.8 'walking multiple reflogs shows all': + # We expect to see all entries for all reflogs, but interleaved by + # date, with order on the command line breaking ties. We + # can use "sort" on the separate lists to generate this, + # but note two tricks: + # + # 1. We use "{" as the delimiter, which lets us skip to the reflog + # date specifier as our second field, and then our "-n" numeric + # sort ignores the bits after the timestamp. + # + # 2. POSIX leaves undefined whether this is a stable sort or not. So + # we use "-k 1" to ensure that we see HEAD before master before + # side when breaking ties. + { + do_walk --date=unix HEAD && + do_walk --date=unix side && + do_walk --date=unix master + } >expect.raw && + sort -t "{" -k 2nr -k 1 expect && + do_walk --date=unix HEAD master side >actual && + test_cmp expect actual -[detached HEAD c358789] funny upstream file - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 @{upstream} -ok 28 - @{upstream}-parsing does not look beyond colon +ok 8 - walking multiple reflogs shows all -# passed all 28 test(s) -1..28 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1601-index-bogus.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1601-index-bogus/.git/ -expecting success of 1601.1 'create tree with null sha1': - tree=$(printf "160000 commit $ZERO_OID\\tbroken\\n" | git mktree) +expecting success of 1414.9 'date-limiting does not interfere with other logs': + do_walk HEAD@{1979-01-01} HEAD >actual && + test_cmp expect.all actual -ok 1 - create tree with null sha1 +warning: log for 'HEAD' only goes back to Thu, 7 Apr 2005 15:13:13 -0700 +ok 9 - date-limiting does not interfere with other logs -expecting success of 1601.2 'read-tree refuses to read null sha1': - test_must_fail git read-tree $tree +expecting success of 1414.10 'min/max age uses entry date to limit': + # Flip between commits one and two so each ref update actually + # does something (and does not get optimized out). We know + # that the timestamps of those commits will be before our "min". -error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' -error: cache entry has null sha1: broken -fatal: unable to write new index file -ok 2 - read-tree refuses to read null sha1 + git update-ref -m before refs/heads/minmax one && -expecting success of 1601.3 'GIT_ALLOW_NULL_SHA1 overrides refusal': - GIT_ALLOW_NULL_SHA1=1 git read-tree $tree + test_tick && + min=$test_tick && + git update-ref -m min refs/heads/minmax two && -error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' -warning: cache entry has null sha1: broken -ok 3 - GIT_ALLOW_NULL_SHA1 overrides refusal + test_tick && + max=$test_tick && + git update-ref -m max refs/heads/minmax one && -expecting success of 1601.4 'git write-tree refuses to write null sha1': - test_must_fail git write-tree + test_tick && + git update-ref -m after refs/heads/minmax two && -error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' -fatal: git-write-tree: error building trees -ok 4 - git write-tree refuses to write null sha1 + cat >expect <<-\EOF && + max + min + EOF + git log -g --since=$min --until=$max --format=%gs minmax >actual && + test_cmp expect actual -# passed all 4 test(s) -1..4 +ok 10 - min/max age uses entry date to limit + +expecting success of 1414.11 'walk prefers reflog to ref tip': + head=$(git rev-parse HEAD) && + one=$(git rev-parse one) && + ident="$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" && + echo "$head $one $ident broken reflog entry" >>.git/logs/HEAD && + + echo $one >expect && + git log -g --format=%H -1 >actual && + test_cmp expect actual + +ok 11 - walk prefers reflog to ref tip + +expecting success of 1414.12 'rev-list -g complains when there are no reflogs': + test_must_fail git rev-list -g + +usage: git rev-list [OPTION] ... [ -- paths... ] + limiting output: + --max-count= + --max-age= + --min-age= + --sparse + --no-merges + --min-parents= + --no-min-parents + --max-parents= + --no-max-parents + --remove-empty + --all + --branches + --tags + --remotes + --stdin + --quiet + ordering output: + --topo-order + --date-order + --reverse + formatting output: + --parents + --children + --objects | --objects-edge + --unpacked + --header | --pretty + --[no-]object-names + --abbrev= | --no-abbrev + --abbrev-commit + --left-right + --count + special purpose: + --bisect + --bisect-vars + --bisect-all +ok 12 - rev-list -g complains when there are no reflogs + +# passed all 12 test(s) +1..12 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t1514-rev-parse-push.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1514-rev-parse-push/.git/ -expecting success of 1514.1 'setup': - git init --bare parent.git && - git init --bare other.git && - git remote add origin parent.git && - git remote add other other.git && - test_commit base && - git push origin HEAD && - git branch --set-upstream-to=origin/master master && - git branch --track topic origin/master && - git push origin topic && - git push other topic +*** t1404-update-ref-errors.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1404-update-ref-errors/.git/ +expecting success of 1404.1 'setup': -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1514-rev-parse-push/parent.git/ -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1514-rev-parse-push/other.git/ -[master (root-commit) d1ff1c9] base + git commit --allow-empty -m Initial && + C=$(git rev-parse HEAD) && + git commit --allow-empty -m Second && + D=$(git rev-parse HEAD) && + git commit --allow-empty -m Third && + E=$(git rev-parse HEAD) + +[master (root-commit) d31adcd] Initial + Author: A U Thor +[master e6940ad] Second + Author: A U Thor +[master c2327cb] Third Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 base.t -To parent.git - * [new branch] HEAD -> master -Branch 'master' set up to track remote branch 'master' from 'origin'. -Branch 'topic' set up to track remote branch 'master' from 'origin'. -To parent.git - * [new branch] topic -> topic -To other.git - * [new branch] topic -> topic ok 1 - setup -expecting success of 1514.2 '@{push} with default=nothing': - test_config push.default nothing && - test_must_fail git rev-parse master@{push} && - test_must_fail git rev-parse master@{PUSH} && - test_must_fail git rev-parse master@{PuSH} - -fatal: push has no destination (push.default is 'nothing') -fatal: push has no destination (push.default is 'nothing') -fatal: push has no destination (push.default is 'nothing') -ok 2 - @{push} with default=nothing +expecting success of 1404.2 'existing loose ref is a simple prefix of new': -expecting success of 1514.3 '@{push} with default=simple': - test_config push.default simple && - resolve master@{push} refs/remotes/origin/master && - resolve master@{PUSH} refs/remotes/origin/master && - resolve master@{pUSh} refs/remotes/origin/master + prefix=refs/1l && + test_update_rejected "a c e" false "b c/x d" \ + "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x$SQ" -ok 3 - @{push} with default=simple -expecting success of 1514.4 'triangular @{push} fails with default=simple': - test_config push.default simple && - test_must_fail git rev-parse topic@{push} +checking prerequisite: C_LOCALE_OUTPUT -fatal: cannot resolve 'simple' push to a single destination -ok 4 - triangular @{push} fails with default=simple +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 1514.5 '@{push} with default=current': - test_config push.default current && - resolve topic@{push} refs/remotes/origin/topic +) +prerequisite C_LOCALE_OUTPUT ok +fatal: cannot lock ref 'refs/1l/c/x': 'refs/1l/c' exists; cannot create 'refs/1l/c/x' +ok 2 - existing loose ref is a simple prefix of new -ok 5 - @{push} with default=current +expecting success of 1404.3 'existing packed ref is a simple prefix of new': -expecting success of 1514.6 '@{push} with default=matching': - test_config push.default matching && - resolve topic@{push} refs/remotes/origin/topic + prefix=refs/1p && + test_update_rejected "a c e" true "b c/x d" \ + "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x$SQ" -ok 6 - @{push} with default=matching -expecting success of 1514.7 '@{push} with pushremote defined': - test_config push.default current && - test_config branch.topic.pushremote other && - resolve topic@{push} refs/remotes/other/topic +fatal: cannot lock ref 'refs/1p/c/x': 'refs/1p/c' exists; cannot create 'refs/1p/c/x' +ok 3 - existing packed ref is a simple prefix of new -ok 7 - @{push} with pushremote defined +expecting success of 1404.4 'existing loose ref is a deeper prefix of new': -expecting success of 1514.8 '@{push} with push refspecs': - test_config push.default nothing && - test_config remote.origin.push refs/heads/*:refs/heads/magic/* && - git push && - resolve topic@{push} refs/remotes/origin/magic/topic + prefix=refs/2l && + test_update_rejected "a c e" false "b c/x/y d" \ + "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x/y$SQ" -To parent.git - * [new branch] master -> magic/master - * [new branch] topic -> magic/topic -ok 8 - @{push} with push refspecs -expecting success of 1514.9 'resolving @{push} fails with a detached HEAD': - git checkout HEAD^0 && - test_when_finished "git checkout -" && - test_must_fail git rev-parse @{push} +fatal: cannot lock ref 'refs/2l/c/x/y': 'refs/2l/c' exists; cannot create 'refs/2l/c/x/y' +ok 4 - existing loose ref is a deeper prefix of new -Note: switching to 'HEAD^0'. +expecting success of 1404.5 'existing packed ref is a deeper prefix of new': -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. + prefix=refs/2p && + test_update_rejected "a c e" true "b c/x/y d" \ + "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x/y$SQ" -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - git switch -c +fatal: cannot lock ref 'refs/2p/c/x/y': 'refs/2p/c' exists; cannot create 'refs/2p/c/x/y' +ok 5 - existing packed ref is a deeper prefix of new -Or undo this operation with: +expecting success of 1404.6 'new ref is a simple prefix of existing loose': - git switch - + prefix=refs/3l && + test_update_rejected "a c/x e" false "b c d" \ + "$SQ$prefix/c/x$SQ exists; cannot create $SQ$prefix/c$SQ" -Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at d1ff1c9 base -fatal: HEAD does not point to a branch -Switched to branch 'master' -Your branch is up to date with 'origin/master'. -ok 9 - resolving @{push} fails with a detached HEAD +fatal: cannot lock ref 'refs/3l/c': 'refs/3l/c/x' exists; cannot create 'refs/3l/c' +ok 6 - new ref is a simple prefix of existing loose -# passed all 9 test(s) -1..9 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2002-checkout-cache-u.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2002-checkout-cache-u/.git/ -expecting success of 2002.1 'preparation': -echo frotz >path0 && -git update-index --add path0 && -t=$(git write-tree) -ok 1 - preparation +expecting success of 1404.7 'new ref is a simple prefix of existing packed': -expecting success of 2002.2 'without -u, git checkout-index smudges stat information.': -rm -f path0 && -git read-tree $t && -git checkout-index -f -a && -test_must_fail git diff-files --exit-code -:100644 100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0000000000000000000000000000000000000000 M path0 -ok 2 - without -u, git checkout-index smudges stat information. + prefix=refs/3p && + test_update_rejected "a c/x e" true "b c d" \ + "$SQ$prefix/c/x$SQ exists; cannot create $SQ$prefix/c$SQ" -expecting success of 2002.3 'with -u, git checkout-index picks up stat information from new files.': -rm -f path0 && -git read-tree $t && -git checkout-index -u -f -a && -git diff-files --exit-code -ok 3 - with -u, git checkout-index picks up stat information from new files. -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1600-index.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1600-index/.git/ -expecting success of 1600.1 'setup': - echo 1 >a +fatal: cannot lock ref 'refs/3p/c': 'refs/3p/c/x' exists; cannot create 'refs/3p/c' +ok 7 - new ref is a simple prefix of existing packed -ok 1 - setup +expecting success of 1404.8 'new ref is a deeper prefix of existing loose': -expecting success of 1600.2 'bogus GIT_INDEX_VERSION issues warning': - ( - rm -f .git/index && - GIT_INDEX_VERSION=2bogus && - export GIT_INDEX_VERSION && - git add a 2>&1 | sed "s/[0-9]//" >actual.err && - sed -e "s/ Z$/ /" <<-\EOF >expect.err && - warning: GIT_INDEX_VERSION set, but the value is invalid. - Using version Z - EOF - test_i18ncmp expect.err actual.err - ) + prefix=refs/4l && + test_update_rejected "a c/x/y e" false "b c d" \ + "$SQ$prefix/c/x/y$SQ exists; cannot create $SQ$prefix/c$SQ" -checking prerequisite: C_LOCALE_OUTPUT -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +fatal: cannot lock ref 'refs/4l/c': 'refs/4l/c/x/y' exists; cannot create 'refs/4l/c' +ok 8 - new ref is a deeper prefix of existing loose -) -prerequisite C_LOCALE_OUTPUT ok -ok 2 - bogus GIT_INDEX_VERSION issues warning +expecting success of 1404.9 'new ref is a deeper prefix of existing packed': -expecting success of 1600.3 'out of bounds GIT_INDEX_VERSION issues warning': - ( - rm -f .git/index && - GIT_INDEX_VERSION=1 && - export GIT_INDEX_VERSION && - git add a 2>&1 | sed "s/[0-9]//" >actual.err && - sed -e "s/ Z$/ /" <<-\EOF >expect.err && - warning: GIT_INDEX_VERSION set, but the value is invalid. - Using version Z - EOF - test_i18ncmp expect.err actual.err - ) + prefix=refs/4p && + test_update_rejected "a c/x/y e" true "b c d" \ + "$SQ$prefix/c/x/y$SQ exists; cannot create $SQ$prefix/c$SQ" -checking prerequisite: C_LOCALE_OUTPUT -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +fatal: cannot lock ref 'refs/4p/c': 'refs/4p/c/x/y' exists; cannot create 'refs/4p/c' +ok 9 - new ref is a deeper prefix of existing packed -) -prerequisite C_LOCALE_OUTPUT ok -ok 3 - out of bounds GIT_INDEX_VERSION issues warning +expecting success of 1404.10 'one new ref is a simple prefix of another': -expecting success of 1600.4 'no warning with bogus GIT_INDEX_VERSION and existing index': - ( - GIT_INDEX_VERSION=1 && - export GIT_INDEX_VERSION && - git add a 2>actual.err && - test_must_be_empty actual.err - ) + prefix=refs/5 && + test_update_rejected "a e" false "b c c/x d" \ + "cannot process $SQ$prefix/c$SQ and $SQ$prefix/c/x$SQ at the same time" -ok 4 - no warning with bogus GIT_INDEX_VERSION and existing index -expecting success of 1600.5 'out of bounds index.version issues warning': - ( - sane_unset GIT_INDEX_VERSION && - rm -f .git/index && - git config --add index.version 1 && - git add a 2>&1 | sed "s/[0-9]//" >actual.err && - sed -e "s/ Z$/ /" <<-\EOF >expect.err && - warning: index.version set, but the value is invalid. - Using version Z - EOF - test_i18ncmp expect.err actual.err - ) +fatal: cannot lock ref 'refs/5/c': cannot process 'refs/5/c' and 'refs/5/c/x' at the same time +ok 10 - one new ref is a simple prefix of another -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1404.11 'empty directory should not fool rev-parse': + prefix=refs/e-rev-parse && + git update-ref $prefix/foo $C && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + echo "$C" >expected && + git rev-parse $prefix/foo >actual && + test_cmp expected actual -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +ok 11 - empty directory should not fool rev-parse -) -prerequisite C_LOCALE_OUTPUT ok -ok 5 - out of bounds index.version issues warning +expecting success of 1404.12 'empty directory should not fool for-each-ref': + prefix=refs/e-for-each-ref && + git update-ref $prefix/foo $C && + git for-each-ref $prefix >expected && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + git for-each-ref $prefix >actual && + test_cmp expected actual -expecting success of 1600.6 'index version config precedence': - test_index_version 0 false 0 2 && - test_index_version 2 false 0 2 && - test_index_version 3 false 0 2 && - test_index_version 4 false 0 4 && - test_index_version 2 false 4 4 && - test_index_version 2 true 0 2 && - test_index_version 0 true 0 4 && - test_index_version 0 true 2 2 +ok 12 - empty directory should not fool for-each-ref -ok 6 - index version config precedence +expecting success of 1404.13 'empty directory should not fool create': + prefix=refs/e-create && + mkdir -p .git/$prefix/foo/bar/baz && + printf "create %s $C\n" $prefix/foo | + git update-ref --stdin -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2000-conflict-when-checking-files-out.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2000-conflict-when-checking-files-out/.git/ -expecting success of 2000.1 'git update-index --add various paths.': git update-index --add path0 path1/file1 -ok 1 - git update-index --add various paths. +ok 13 - empty directory should not fool create -expecting success of 2000.2 'git checkout-index without -f should fail on conflicting work tree.': test_must_fail git checkout-index -a -path0 already exists, no checkout -fatal: cannot create directory at 'path1': File exists -ok 2 - git checkout-index without -f should fail on conflicting work tree. +expecting success of 1404.14 'empty directory should not fool verify': + prefix=refs/e-verify && + git update-ref $prefix/foo $C && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + printf "verify %s $C\n" $prefix/foo | + git update-ref --stdin -expecting success of 2000.3 'git checkout-index with -f should succeed.': git checkout-index -f -a -ok 3 - git checkout-index with -f should succeed. +ok 14 - empty directory should not fool verify -expecting success of 2000.4 'git checkout-index conflicting paths.': test -f path0 && test -d path1 && test -f path1/file1 -ok 4 - git checkout-index conflicting paths. +expecting success of 1404.15 'empty directory should not fool 1-arg update': + prefix=refs/e-update-1 && + git update-ref $prefix/foo $C && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + printf "update %s $D\n" $prefix/foo | + git update-ref --stdin -checking prerequisite: SYMLINKS +ok 15 - empty directory should not fool 1-arg update -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 1404.16 'empty directory should not fool 2-arg update': + prefix=refs/e-update-2 && + git update-ref $prefix/foo $C && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + printf "update %s $D $C\n" $prefix/foo | + git update-ref --stdin -) -prerequisite SYMLINKS ok -expecting success of 2000.5 'checkout-index -f twice with --prefix': - mkdir -p tar/get && - ln -s tar/get there && - echo first && - git checkout-index -a -f --prefix=there/ && - echo second && - git checkout-index -a -f --prefix=there/ +ok 16 - empty directory should not fool 2-arg update -first -second -ok 5 - checkout-index -f twice with --prefix +expecting success of 1404.17 'empty directory should not fool 0-arg delete': + prefix=refs/e-delete-0 && + git update-ref $prefix/foo $C && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + printf "delete %s\n" $prefix/foo | + git update-ref --stdin -expecting success of 2000.6 'git update-index --add path2/file0': git update-index --add path2/file0 -ok 6 - git update-index --add path2/file0 +ok 17 - empty directory should not fool 0-arg delete -expecting success of 2000.7 'writing tree out with git write-tree': tree1=$(git write-tree) -ok 7 - writing tree out with git write-tree +expecting success of 1404.18 'empty directory should not fool 1-arg delete': + prefix=refs/e-delete-1 && + git update-ref $prefix/foo $C && + git pack-refs --all && + mkdir -p .git/$prefix/foo/bar/baz && + printf "delete %s $C\n" $prefix/foo | + git update-ref --stdin -expecting success of 2000.8 'git update-index --add path3/file1': git update-index --add path3/file1 -ok 8 - git update-index --add path3/file1 +ok 18 - empty directory should not fool 1-arg delete -expecting success of 2000.9 'writing tree out with git write-tree': tree2=$(git write-tree) -ok 9 - writing tree out with git write-tree +expecting success of 1404.19 'D/F conflict prevents add long + delete short': + df_test refs/df-al-ds --add-del foo/bar foo -expecting success of 2000.10 'read previously written tree and checkout.': git read-tree -m $tree1 && git checkout-index -f -a -ok 10 - read previously written tree and checkout. +ok 19 - D/F conflict prevents add long + delete short -expecting success of 2000.11 'add a symlink': test_ln_s_add path2 path3 -ok 11 - add a symlink +expecting success of 1404.20 'D/F conflict prevents add short + delete long': + df_test refs/df-as-dl --add-del foo foo/bar -expecting success of 2000.12 'writing tree out with git write-tree': tree3=$(git write-tree) -ok 12 - writing tree out with git write-tree +ok 20 - D/F conflict prevents add short + delete long -expecting success of 2000.13 'read previously written tree and checkout.': git read-tree $tree2 && git checkout-index -f -a -ok 13 - read previously written tree and checkout. +expecting success of 1404.21 'D/F conflict prevents delete long + add short': + df_test refs/df-dl-as --del-add foo/bar foo -expecting success of 2000.14 'checking out conflicting path with -f': test ! -h path2 && test -d path2 && - test ! -h path3 && test -d path3 && - test ! -h path2/file0 && test -f path2/file0 && - test ! -h path3/file1 && test -f path3/file1 -ok 14 - checking out conflicting path with -f +ok 21 - D/F conflict prevents delete long + add short -# passed all 14 test(s) -1..14 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2005-checkout-index-symlinks.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2005-checkout-index-symlinks/.git/ -expecting success of 2005.1 'preparation': -git config core.symlinks false && -l=$(printf file | git hash-object -t blob -w --stdin) && -echo "120000 $l symlink" | git update-index --index-info -ok 1 - preparation +expecting success of 1404.22 'D/F conflict prevents delete short + add long': + df_test refs/df-ds-al --del-add foo foo/bar -expecting success of 2005.2 'the checked-out symlink must be a file': -git checkout-index symlink && -test -f symlink -ok 2 - the checked-out symlink must be a file +ok 22 - D/F conflict prevents delete short + add long -expecting success of 2005.3 'the file must be the blob we added during the setup': -test "$(git hash-object -t blob symlink)" = $l -ok 3 - the file must be the blob we added during the setup +expecting success of 1404.23 'D/F conflict prevents add long + delete short packed': + df_test refs/df-al-dsp --pack --add-del foo/bar foo -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2003-checkout-cache-mkdir.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2003-checkout-cache-mkdir/.git/ -expecting success of 2003.1 'setup': - mkdir path1 && - echo frotz >path0 && - echo rezrov >path1/file1 && - git update-index --add path0 path1/file1 +ok 23 - D/F conflict prevents add long + delete short packed -ok 1 - setup +expecting success of 1404.24 'D/F conflict prevents add short + delete long packed': + df_test refs/df-as-dlp --pack --add-del foo foo/bar -checking prerequisite: SYMLINKS +ok 24 - D/F conflict prevents add short + delete long packed -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 1404.25 'D/F conflict prevents delete long packed + add short': + df_test refs/df-dlp-as --pack --del-add foo/bar foo -) -prerequisite SYMLINKS ok -expecting success of 2003.2 'have symlink in place where dir is expected.': - rm -fr path0 path1 && - mkdir path2 && - ln -s path2 path1 && - git checkout-index -f -a && - test ! -h path1 && test -d path1 && - test -f path1/file1 && test ! -f path2/file1 +ok 25 - D/F conflict prevents delete long packed + add short -ok 2 - have symlink in place where dir is expected. +expecting success of 1404.26 'D/F conflict prevents delete short packed + add long': + df_test refs/df-dsp-al --pack --del-add foo foo/bar -expecting success of 2003.3 'use --prefix=path2/': - rm -fr path0 path1 path2 && - mkdir path2 && - git checkout-index --prefix=path2/ -f -a && - test -f path2/path0 && - test -f path2/path1/file1 && - test ! -f path0 && - test ! -f path1/file1 +ok 26 - D/F conflict prevents delete short packed + add long -ok 3 - use --prefix=path2/ +expecting success of 1404.27 'D/F conflict prevents indirect add long + delete short': + df_test refs/df-ial-ds --sym-add --add-del foo/bar foo -expecting success of 2003.4 'use --prefix=tmp-': - rm -fr path0 path1 path2 tmp* && - git checkout-index --prefix=tmp- -f -a && - test -f tmp-path0 && - test -f tmp-path1/file1 && - test ! -f path0 && - test ! -f path1/file1 +ok 27 - D/F conflict prevents indirect add long + delete short -ok 4 - use --prefix=tmp- +expecting success of 1404.28 'D/F conflict prevents indirect add long + indirect delete short': + df_test refs/df-ial-ids --sym-add --sym-del --add-del foo/bar foo -expecting success of 2003.5 'use --prefix=tmp- but with a conflicting file and dir': - rm -fr path0 path1 path2 tmp* && - echo nitfol >tmp-path1 && - mkdir tmp-path0 && - git checkout-index --prefix=tmp- -f -a && - test -f tmp-path0 && - test -f tmp-path1/file1 && - test ! -f path0 && - test ! -f path1/file1 +ok 28 - D/F conflict prevents indirect add long + indirect delete short -ok 5 - use --prefix=tmp- but with a conflicting file and dir +expecting success of 1404.29 'D/F conflict prevents indirect add short + indirect delete long': + df_test refs/df-ias-idl --sym-add --sym-del --add-del foo foo/bar -expecting success of 2003.6 'use --prefix=tmp/orary/ where tmp is a symlink': - rm -fr path0 path1 path2 tmp* && - mkdir tmp1 tmp1/orary && - ln -s tmp1 tmp && - git checkout-index --prefix=tmp/orary/ -f -a && - test -d tmp1/orary && - test -f tmp1/orary/path0 && - test -f tmp1/orary/path1/file1 && - test -h tmp +ok 29 - D/F conflict prevents indirect add short + indirect delete long -ok 6 - use --prefix=tmp/orary/ where tmp is a symlink +expecting success of 1404.30 'D/F conflict prevents indirect delete long + indirect add short': + df_test refs/df-idl-ias --sym-add --sym-del --del-add foo/bar foo -expecting success of 2003.7 'use --prefix=tmp/orary- where tmp is a symlink': - rm -fr path0 path1 path2 tmp* && - mkdir tmp1 && - ln -s tmp1 tmp && - git checkout-index --prefix=tmp/orary- -f -a && - test -f tmp1/orary-path0 && - test -f tmp1/orary-path1/file1 && - test -h tmp +ok 30 - D/F conflict prevents indirect delete long + indirect add short -ok 7 - use --prefix=tmp/orary- where tmp is a symlink +expecting success of 1404.31 'D/F conflict prevents indirect add long + delete short packed': + df_test refs/df-ial-dsp --sym-add --pack --add-del foo/bar foo -expecting success of 2003.8 'use --prefix=tmp- where tmp-path1 is a symlink': - rm -fr path0 path1 path2 tmp* && - mkdir tmp1 && - ln -s tmp1 tmp-path1 && - git checkout-index --prefix=tmp- -f -a && - test -f tmp-path0 && - test ! -h tmp-path1 && - test -d tmp-path1 && - test -f tmp-path1/file1 +ok 31 - D/F conflict prevents indirect add long + delete short packed -ok 8 - use --prefix=tmp- where tmp-path1 is a symlink +expecting success of 1404.32 'D/F conflict prevents indirect add long + indirect delete short packed': + df_test refs/df-ial-idsp --sym-add --sym-del --pack --add-del foo/bar foo -expecting success of 2003.9 'apply filter from working tree .gitattributes with --prefix': - rm -fr path0 path1 path2 tmp* && - mkdir path1 && - mkdir tmp && - git config filter.replace-all.smudge "sed -e s/./,/g" && - git config filter.replace-all.clean cat && - git config filter.replace-all.required true && - echo "file1 filter=replace-all" >path1/.gitattributes && - git checkout-index --prefix=tmp/ -f -a && - echo frotz >expected && - test_cmp expected tmp/path0 && - echo ,,,,,, >expected && - test_cmp expected tmp/path1/file1 +ok 32 - D/F conflict prevents indirect add long + indirect delete short packed -ok 9 - apply filter from working tree .gitattributes with --prefix +expecting success of 1404.33 'D/F conflict prevents add long + indirect delete short packed': + df_test refs/df-al-idsp --sym-del --pack --add-del foo/bar foo -expecting success of 2003.10 'apply CRLF filter from working tree .gitattributes with --prefix': - rm -fr path0 path1 path2 tmp* && - mkdir path1 && - mkdir tmp && - echo "file1 eol=crlf" >path1/.gitattributes && - git checkout-index --prefix=tmp/ -f -a && - echo rezrovQ >expected && - tr \\015 Q actual && - test_cmp expected actual +ok 33 - D/F conflict prevents add long + indirect delete short packed -ok 10 - apply CRLF filter from working tree .gitattributes with --prefix +expecting success of 1404.34 'D/F conflict prevents indirect delete long packed + indirect add short': + df_test refs/df-idlp-ias --sym-add --sym-del --pack --del-add foo/bar foo -# passed all 10 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2006-checkout-index-basic.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2006-checkout-index-basic/.git/ -expecting success of 2006.1 'checkout-index --gobbledegook': - test_expect_code 129 git checkout-index --gobbledegook 2>err && - test_i18ngrep "[Uu]sage" err +ok 34 - D/F conflict prevents indirect delete long packed + indirect add short -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1404.35 'missing old value blocks update': + prefix=refs/missing-update && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ + EOF + printf "%s\n" "update $prefix/foo $E $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +ok 35 - missing old value blocks update -) -prerequisite C_LOCALE_OUTPUT ok -usage: git checkout-index [] [--] [...] -ok 1 - checkout-index --gobbledegook +expecting success of 1404.36 'incorrect old value blocks update': + prefix=refs/incorrect-update && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: is at $C but expected $D + EOF + printf "%s\n" "update $prefix/foo $E $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -expecting success of 2006.2 'checkout-index -h in broken repository': - mkdir broken && - ( - cd broken && - git init && - >.git/index && - test_expect_code 129 git checkout-index -h >usage 2>&1 - ) && - test_i18ngrep "[Uu]sage" broken/usage +ok 36 - incorrect old value blocks update -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2006-checkout-index-basic/broken/.git/ -usage: git checkout-index [] [--] [...] -ok 2 - checkout-index -h in broken repository +expecting success of 1404.37 'existing old value blocks create': + prefix=refs/existing-create && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: reference already exists + EOF + printf "%s\n" "create $prefix/foo $E" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -expecting success of 2006.3 'checkout-index reports errors (cmdline)': - test_must_fail git checkout-index -- does-not-exist 2>stderr && - test_i18ngrep not.in.the.cache stderr +ok 37 - existing old value blocks create -git checkout-index: does-not-exist is not in the cache -ok 3 - checkout-index reports errors (cmdline) +expecting success of 1404.38 'incorrect old value blocks delete': + prefix=refs/incorrect-delete && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: is at $C but expected $D + EOF + printf "%s\n" "delete $prefix/foo $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -expecting success of 2006.4 'checkout-index reports errors (stdin)': - echo does-not-exist | - test_must_fail git checkout-index --stdin 2>stderr && - test_i18ngrep not.in.the.cache stderr +ok 38 - incorrect old value blocks delete -git checkout-index: does-not-exist is not in the cache -ok 4 - checkout-index reports errors (stdin) +expecting success of 1404.39 'missing old value blocks indirect update': + prefix=refs/missing-indirect-update && + git symbolic-ref $prefix/symref $prefix/foo && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ + EOF + printf "%s\n" "update $prefix/symref $E $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -checking prerequisite: SYMLINKS +ok 39 - missing old value blocks indirect update -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 1404.40 'incorrect old value blocks indirect update': + prefix=refs/incorrect-indirect-update && + git symbolic-ref $prefix/symref $prefix/foo && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D + EOF + printf "%s\n" "update $prefix/symref $E $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -) -prerequisite SYMLINKS ok -checking prerequisite: CASE_INSENSITIVE_FS +ok 40 - incorrect old value blocks indirect update -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && - echo good >CamelCase && - echo bad >camelcase && - test "$(cat CamelCase)" != good +expecting success of 1404.41 'existing old value blocks indirect create': + prefix=refs/existing-indirect-create && + git symbolic-ref $prefix/symref $prefix/foo && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: reference already exists + EOF + printf "%s\n" "create $prefix/symref $E" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -) -prerequisite CASE_INSENSITIVE_FS not satisfied -ok 5 # skip checkout-index with case-collision don't write to the wrong place (missing CASE_INSENSITIVE_FS of SYMLINKS,CASE_INSENSITIVE_FS) +ok 41 - existing old value blocks indirect create -checking prerequisite: UTF8_NFD_TO_NFC +expecting success of 1404.42 'incorrect old value blocks indirect delete': + prefix=refs/incorrect-indirect-delete && + git symbolic-ref $prefix/symref $prefix/foo && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D + EOF + printf "%s\n" "delete $prefix/symref $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && - # check whether FS converts nfd unicode to nfc - auml=$(printf "\303\244") - aumlcdiar=$(printf "\141\314\210") - >"$auml" && - test -f "$aumlcdiar" +ok 42 - incorrect old value blocks indirect delete -) -prerequisite UTF8_NFD_TO_NFC not satisfied -ok 6 # skip checkout-index with utf-8-collision don't write to the wrong place (missing UTF8_NFD_TO_NFC of SYMLINKS,UTF8_NFD_TO_NFC) +expecting success of 1404.43 'missing old value blocks indirect no-deref update': + prefix=refs/missing-noderef-update && + git symbolic-ref $prefix/symref $prefix/foo && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: reference is missing but expected $D + EOF + printf "%s\n" "option no-deref" "update $prefix/symref $E $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1512-rev-parse-disambiguation.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1512-rev-parse-disambiguation/.git/ -checking prerequisite: SHA1 +ok 43 - missing old value blocks indirect no-deref update -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && - case "$GIT_DEFAULT_HASH" in - sha1) true ;; - "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; - *) false ;; - esac +expecting success of 1404.44 'incorrect old value blocks indirect no-deref update': + prefix=refs/incorrect-noderef-update && + git symbolic-ref $prefix/symref $prefix/foo && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D + EOF + printf "%s\n" "option no-deref" "update $prefix/symref $E $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -) -prerequisite SHA1 ok -expecting success of 1512.1 'blob and tree': - test_tick && - ( - for i in 0 1 2 3 4 5 6 7 8 9 - do - echo $i - done && - echo && - echo b1rwzyc3 - ) >a0blgqsjc && +ok 44 - incorrect old value blocks indirect no-deref update - # create one blob 0000000000b36 - git add a0blgqsjc && +expecting success of 1404.45 'existing old value blocks indirect no-deref create': + prefix=refs/existing-noderef-create && + git symbolic-ref $prefix/symref $prefix/foo && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: reference already exists + EOF + printf "%s\n" "option no-deref" "create $prefix/symref $E" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err - # create one tree 0000000000cdc - git write-tree +ok 45 - existing old value blocks indirect no-deref create -0000000000cdcf04beb2fab69e65622616294984 -ok 1 - blob and tree +expecting success of 1404.46 'incorrect old value blocks indirect no-deref delete': + prefix=refs/incorrect-noderef-delete && + git symbolic-ref $prefix/symref $prefix/foo && + git update-ref $prefix/foo $C && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D + EOF + printf "%s\n" "option no-deref" "delete $prefix/symref $D" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -expecting success of 1512.2 'warn ambiguity when no candidate matches type hint': - test_must_fail git rev-parse --verify 000000000^{commit} 2>actual && - test_i18ngrep "short SHA1 000000000 is ambiguous" actual +ok 46 - incorrect old value blocks indirect no-deref delete -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1404.47 'non-empty directory blocks create': + prefix=refs/ne-create && + mkdir -p .git/$prefix/foo/bar && + : >.git/$prefix/foo/bar/baz.lock && + test_when_finished "rm -f .git/$prefix/foo/bar/baz.lock" && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: there is a non-empty directory $SQ.git/$prefix/foo$SQ blocking reference $SQ$prefix/foo$SQ + EOF + printf "%s\n" "update $prefix/foo $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ + EOF + printf "%s\n" "update $prefix/foo $D $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +ok 47 - non-empty directory blocks create -) -prerequisite C_LOCALE_OUTPUT ok -error: short SHA1 000000000 is ambiguous -ok 2 - warn ambiguity when no candidate matches type hint +expecting success of 1404.48 'broken reference blocks create': + prefix=refs/broken-create && + mkdir -p .git/$prefix && + echo "gobbledigook" >.git/$prefix/foo && + test_when_finished "rm -f .git/$prefix/foo" && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken + EOF + printf "%s\n" "update $prefix/foo $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken + EOF + printf "%s\n" "update $prefix/foo $D $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -expecting success of 1512.3 'disambiguate tree-ish': - # feed tree-ish in an unambiguous way - git rev-parse --verify 0000000000cdc:a0blgqsjc && +ok 48 - broken reference blocks create - # ambiguous at the object name level, but there is only one - # such tree-ish (the other is a blob) - git rev-parse --verify 000000000:a0blgqsjc +expecting success of 1404.49 'non-empty directory blocks indirect create': + prefix=refs/ne-indirect-create && + git symbolic-ref $prefix/symref $prefix/foo && + mkdir -p .git/$prefix/foo/bar && + : >.git/$prefix/foo/bar/baz.lock && + test_when_finished "rm -f .git/$prefix/foo/bar/baz.lock" && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: there is a non-empty directory $SQ.git/$prefix/foo$SQ blocking reference $SQ$prefix/foo$SQ + EOF + printf "%s\n" "update $prefix/symref $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ + EOF + printf "%s\n" "update $prefix/symref $D $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -0000000000b36b6aa7ea4b75318ed078f55505c3 -0000000000b36b6aa7ea4b75318ed078f55505c3 -ok 3 - disambiguate tree-ish +ok 49 - non-empty directory blocks indirect create -expecting success of 1512.4 'disambiguate blob': - sed -e "s/|$//" >patch <<-EOF && - diff --git a/frotz b/frotz - index 000000000..ffffff 100644 - --- a/frotz - +++ b/frotz - @@ -10,3 +10,4 @@ - 9 - | - b1rwzyc3 - +irwry +expecting success of 1404.50 'broken reference blocks indirect create': + prefix=refs/broken-indirect-create && + git symbolic-ref $prefix/symref $prefix/foo && + echo "gobbledigook" >.git/$prefix/foo && + test_when_finished "rm -f .git/$prefix/foo" && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken EOF - ( - GIT_INDEX_FILE=frotz && - export GIT_INDEX_FILE && - git apply --build-fake-ancestor frotz patch && - git cat-file blob :frotz >actual - ) && - test_cmp a0blgqsjc actual + printf "%s\n" "update $prefix/symref $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err && + cat >expected <<-EOF && + fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken + EOF + printf "%s\n" "update $prefix/symref $D $C" | + test_must_fail git update-ref --stdin 2>output.err && + test_cmp expected output.err -ok 4 - disambiguate blob +ok 50 - broken reference blocks indirect create -expecting success of 1512.5 'disambiguate tree': - commit=$(echo "d7xm" | git commit-tree 000000000) && - # this commit is fffff2e and not ambiguous with the 00000* objects - test $(git rev-parse $commit^{tree}) = $(git rev-parse 0000000000cdc) +expecting success of 1404.51 'no bogus intermediate values during delete': + prefix=refs/slow-transaction && + # Set up a reference with differing loose and packed versions: + git update-ref $prefix/foo $C && + git pack-refs --all && + git update-ref $prefix/foo $D && + git for-each-ref $prefix >unchanged && + # Now try to update the reference, but hold the `packed-refs` lock + # for a while to see what happens while the process is blocked: + : >.git/packed-refs.lock && + test_when_finished "rm -f .git/packed-refs.lock" && + { + # Note: the following command is intentionally run in the + # background. We increase the timeout so that `update-ref` + # attempts to acquire the `packed-refs` lock for much longer + # than it takes for us to do the check then delete it: + git -c core.packedrefstimeout=30000 update-ref -d $prefix/foo & + } && + pid2=$! && + # Give update-ref plenty of time to get to the point where it tries + # to lock packed-refs: + sleep 1 && + # Make sure that update-ref did not complete despite the lock: + kill -0 $pid2 && + # Verify that the reference still has its old value: + sha1=$(git rev-parse --verify --quiet $prefix/foo || echo undefined) && + case "$sha1" in + $D) + # This is what we hope for; it means that nothing + # user-visible has changed yet. + : ;; + undefined) + # This is not correct; it means the deletion has happened + # already even though update-ref should not have been + # able to acquire the lock yet. + echo "$prefix/foo deleted prematurely" && + break + ;; + $C) + # This value should never be seen. Probably the loose + # reference has been deleted but the packed reference + # is still there: + echo "$prefix/foo incorrectly observed to be C" && + break + ;; + *) + # WTF? + echo "unexpected value observed for $prefix/foo: $sha1" && + break + ;; + esac >out && + rm -f .git/packed-refs.lock && + wait $pid2 && + test_must_be_empty out && + test_must_fail git rev-parse --verify --quiet $prefix/foo -ok 5 - disambiguate tree +ok 51 - no bogus intermediate values during delete -expecting success of 1512.6 'first commit': - # create one commit 0000000000e4f - git commit -m a2onsxbvj +expecting success of 1404.52 'delete fails cleanly if packed-refs file is locked': + prefix=refs/locked-packed-refs && + # Set up a reference with differing loose and packed versions: + git update-ref $prefix/foo $C && + git pack-refs --all && + git update-ref $prefix/foo $D && + git for-each-ref $prefix >unchanged && + # Now try to delete it while the `packed-refs` lock is held: + : >.git/packed-refs.lock && + test_when_finished "rm -f .git/packed-refs.lock" && + test_must_fail git update-ref -d $prefix/foo >out 2>err && + git for-each-ref $prefix >actual && + test_i18ngrep "Unable to create $SQ.*packed-refs.lock$SQ: " err && + test_cmp unchanged actual -[master (root-commit) 0000000000e] a2onsxbvj - Author: A U Thor - 1 file changed, 12 insertions(+) - create mode 100644 a0blgqsjc -ok 6 - first commit +error: Unable to create '/build/git-2.30.2/t/trash directory.t1404-update-ref-errors/.git/packed-refs.lock': File exists. +ok 52 - delete fails cleanly if packed-refs file is locked -expecting success of 1512.7 'disambiguate commit-ish': - # feed commit-ish in an unambiguous way - git rev-parse --verify 0000000000e4f^{commit} && +expecting success of 1404.53 'delete fails cleanly if packed-refs.new write fails': + # Setup and expectations are similar to the test above. + prefix=refs/failed-packed-refs && + git update-ref $prefix/foo $C && + git pack-refs --all && + git update-ref $prefix/foo $D && + git for-each-ref $prefix >unchanged && + # This should not happen in practice, but it is an easy way to get a + # reliable error (we open with create_tempfile(), which uses O_EXCL). + : >.git/packed-refs.new && + test_when_finished "rm -f .git/packed-refs.new" && + test_must_fail git update-ref -d $prefix/foo && + git for-each-ref $prefix >actual && + test_cmp unchanged actual - # ambiguous at the object name level, but there is only one - # such commit (the others are tree and blob) - git rev-parse --verify 000000000^{commit} && +error: unable to create file /build/git-2.30.2/t/trash directory.t1404-update-ref-errors/.git/packed-refs.new: File exists +ok 53 - delete fails cleanly if packed-refs.new write fails - # likewise - git rev-parse --verify 000000000^0 +# passed all 53 test(s) +1..53 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1410-reflog.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1410-reflog/.git/ +expecting success of 1410.1 'setup': + mkdir -p A/B && + echo rat >C && + echo ox >A/D && + echo tiger >A/B/E && + git add . && -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -ok 7 - disambiguate commit-ish + test_tick && git commit -m rabbit && + H=$(git rev-parse --verify HEAD) && + A=$(git rev-parse --verify HEAD:A) && + B=$(git rev-parse --verify HEAD:A/B) && + C=$(git rev-parse --verify HEAD:C) && + D=$(git rev-parse --verify HEAD:A/D) && + E=$(git rev-parse --verify HEAD:A/B/E) && + check_fsck && -expecting success of 1512.8 'disambiguate commit': - commit=$(echo "hoaxj" | git commit-tree 0000000000cdc -p 000000000) && - # this commit is ffffffd8 and not ambiguous with the 00000* objects - test $(git rev-parse $commit^) = $(git rev-parse 0000000000e4f) + test_chmod +x C && + git add C && + test_tick && git commit -m dragon && + L=$(git rev-parse --verify HEAD) && + check_fsck && -ok 8 - disambiguate commit + rm -f C A/B/E && + echo snake >F && + echo horse >A/G && + git add F A/G && + test_tick && git commit -a -m sheep && + F=$(git rev-parse --verify HEAD:F) && + G=$(git rev-parse --verify HEAD:A/G) && + I=$(git rev-parse --verify HEAD:A) && + J=$(git rev-parse --verify HEAD) && + check_fsck && -expecting success of 1512.9 'log name1..name2 takes only commit-ishes on both ends': - # These are underspecified from the prefix-length point of view - # to disambiguate the commit with other objects, but there is only - # one commit that has 00000* prefix at this point. - git log 000000000..000000000 && - git log ..000000000 && - git log 000000000.. && - git log 000000000...000000000 && - git log ...000000000 && - git log 000000000... + rm -f A/G && + test_tick && git commit -a -m monkey && + K=$(git rev-parse --verify HEAD) && + check_fsck && -ok 9 - log name1..name2 takes only commit-ishes on both ends + check_have A B C D E F G H I J K L && -expecting success of 1512.10 'rev-parse name1..name2 takes only commit-ishes on both ends': - # Likewise. - git rev-parse 000000000..000000000 && - git rev-parse ..000000000 && - git rev-parse 000000000.. + git prune && -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -^0000000000e4f9fbd19cf1e932319e5ad0d1d00b -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -^0000000000e4f9fbd19cf1e932319e5ad0d1d00b -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -^0000000000e4f9fbd19cf1e932319e5ad0d1d00b -ok 10 - rev-parse name1..name2 takes only commit-ishes on both ends + check_have A B C D E F G H I J K L && -expecting success of 1512.11 'git log takes only commit-ish': - # Likewise. - git log 000000000 + check_fsck && -commit 0000000000e4f9fbd19cf1e932319e5ad0d1d00b -Author: A U Thor -Date: Thu Apr 7 15:13:13 2005 -0700 + git reflog refs/heads/master >output && + test_line_count = 4 output - a2onsxbvj -ok 11 - git log takes only commit-ish +[master (root-commit) 07fcc4f] rabbit + Author: A U Thor + 3 files changed, 3 insertions(+) + create mode 100644 A/B/E + create mode 100644 A/D + create mode 100644 C +[master 7d1a0b8] dragon + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + mode change 100644 => 100755 C +[master 15ab5f0] sheep + Author: A U Thor + 4 files changed, 2 insertions(+), 2 deletions(-) + delete mode 100644 A/B/E + create mode 100644 A/G + delete mode 100755 C + create mode 100644 F +[master 3ac530f] monkey + Author: A U Thor + 1 file changed, 1 deletion(-) + delete mode 100644 A/G +tree +tree +blob +blob +blob +blob +blob +commit +tree +commit +commit +commit +tree +tree +blob +blob +blob +blob +blob +commit +tree +commit +commit +commit +ok 1 - setup -expecting success of 1512.12 'git reset takes only commit-ish': - # Likewise. - git reset 000000000 +expecting success of 1410.2 'rewind': + test_tick && git reset --hard HEAD~2 && + test -f C && + test -f A/B/E && + ! test -f F && + ! test -f A/G && -ok 12 - git reset takes only commit-ish + check_have A B C D E F G H I J K L && -expecting success of 1512.13 'first tag': - # create one tag 0000000000f8f - git tag -a -m j7cp83um v1.0.0 + git prune && -ok 13 - first tag + check_have A B C D E F G H I J K L && -checking known breakage of 1512.14 'two semi-ambiguous commit-ish': - # At this point, we have a tag 0000000000f8f that points - # at a commit 0000000000e4f, and a tree and a blob that - # share 0000000000 prefix with these tag and commit. - # - # Once the parser becomes ultra-smart, it could notice that - # 0000000000 before ^{commit} name many different objects, but - # that only two (HEAD and v1.0.0 tag) can be peeled to commit, - # and that peeling them down to commit yield the same commit - # without ambiguity. - git rev-parse --verify 0000000000^{commit} && + git reflog refs/heads/master >output && + test_line_count = 5 output - # likewise - git log 0000000000..0000000000 && - git log ..0000000000 && - git log 0000000000.. && - git log 0000000000...0000000000 && - git log ...0000000000 && - git log 0000000000... +HEAD is now at 7d1a0b8 dragon +tree +tree +blob +blob +blob +blob +blob +commit +tree +commit +commit +commit +tree +tree +blob +blob +blob +blob +blob +commit +tree +commit +commit +commit +ok 2 - rewind -error: short SHA1 0000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f tag v1.0.0 -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -fatal: Needed a single revision -not ok 14 - two semi-ambiguous commit-ish # TODO known breakage +expecting success of 1410.3 'corrupt and check': -checking known breakage of 1512.15 'three semi-ambiguous tree-ish': - # Likewise for tree-ish. HEAD, v1.0.0 and HEAD^{tree} share - # the prefix but peeling them to tree yields the same thing - git rev-parse --verify 0000000000^{tree} + corrupt $F && + check_fsck "missing blob $F" -error: short SHA1 0000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f tag v1.0.0 -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000000c tree -fatal: Needed a single revision -not ok 15 - three semi-ambiguous tree-ish # TODO known breakage -expecting success of 1512.16 'parse describe name': - # feed an unambiguous describe name - git rev-parse --verify v1.0.0-0-g0000000000e4f && +checking prerequisite: C_LOCALE_OUTPUT - # ambiguous at the object name level, but there is only one - # such commit (others are blob, tree and tag) - git rev-parse --verify v1.0.0-0-g000000000 +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -ok 16 - parse describe name +) +prerequisite C_LOCALE_OUTPUT ok +missing blob 9ae84adb2704cbd49549e52169b4043871e13432 +ok 3 - corrupt and check -expecting success of 1512.17 'more history': - # commit 0000000000043 - git mv a0blgqsjc d12cr3h8t && - echo h62xsjeu >>d12cr3h8t && - git add d12cr3h8t && +expecting success of 1410.4 'reflog expire --dry-run should not touch reflog': - test_tick && - git commit -m czy8f73t && + git reflog expire --dry-run \ + --expire=$(($test_tick - 10000)) \ + --expire-unreachable=$(($test_tick - 10000)) \ + --stale-fix \ + --all && - # commit 00000000008ec - git mv d12cr3h8t j000jmpzn && - echo j08bekfvt >>j000jmpzn && - git add j000jmpzn && + git reflog refs/heads/master >output && + test_line_count = 5 output && - test_tick && - git commit -m ioiley5o && + check_fsck "missing blob $F" - # commit 0000000005b0 - git checkout v1.0.0^0 && - git mv a0blgqsjc f5518nwu && +would prune commit: sheep +would prune commit: monkey +would prune reset: moving to HEAD~2 +would prune commit: sheep +would prune commit: monkey +would prune reset: moving to HEAD~2 +missing blob 9ae84adb2704cbd49549e52169b4043871e13432 +ok 4 - reflog expire --dry-run should not touch reflog - for i in h62xsjeu j08bekfvt kg7xflhm - do - echo $i - done >>f5518nwu && - git add f5518nwu && +expecting success of 1410.5 'reflog expire': - test_tick && - git commit -m b3wettvi && - side=$(git rev-parse HEAD) && + git reflog expire --verbose \ + --expire=$(($test_tick - 10000)) \ + --expire-unreachable=$(($test_tick - 10000)) \ + --stale-fix \ + --all && - # commit 000000000066 - git checkout master && + git reflog refs/heads/master >output && + test_line_count = 2 output && - # If you use recursive, merge will fail and you will need to - # clean up a0blgqsjc as well. If you use resolve, merge will - # succeed. - test_might_fail git merge --no-commit -s recursive $side && - git rm -f f5518nwu j000jmpzn && + check_fsck "dangling commit $K" - test_might_fail git rm -f a0blgqsjc && - ( - git cat-file blob $side:f5518nwu && - echo j3l0i9s6 - ) >ab2gs879 && - git add ab2gs879 && +Marking reachable objects... +keep commit (initial): rabbit +keep commit: dragon +prune commit: sheep +prune commit: monkey +prune reset: moving to HEAD~2 +keep commit (initial): rabbit +keep commit: dragon +prune commit: sheep +prune commit: monkey +prune reset: moving to HEAD~2 +dangling commit 3ac530f2f6c3a45206a6b2d455baf89d1c8f672d +ok 5 - reflog expire - test_tick && - git commit -m ad2uee +expecting success of 1410.6 'prune and fsck': + git prune && + check_fsck && -[master 00000000000] czy8f73t - Author: A U Thor - 1 file changed, 1 insertion(+) - rename a0blgqsjc => d12cr3h8t (76%) -[master 00000000008] ioiley5o - Author: A U Thor - 1 file changed, 1 insertion(+) - rename d12cr3h8t => j000jmpzn (79%) -Note: switching to 'v1.0.0^0'. + check_have A B C D E H L && + check_dont_have F G I J K -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +tree +tree +blob +blob +blob +commit +commit +fatal: git cat-file: could not get object info +fatal: git cat-file: could not get object info +fatal: git cat-file: could not get object info +fatal: git cat-file: could not get object info +fatal: git cat-file: could not get object info +ok 6 - prune and fsck - git switch -c +expecting success of 1410.7 'recover and check': -Or undo this operation with: + recover $F && + check_fsck "dangling blob $F" - git switch - -Turn off this advice by setting config variable advice.detachedHead to false +dangling blob 9ae84adb2704cbd49549e52169b4043871e13432 +ok 7 - recover and check -HEAD is now at 0000000000e a2onsxbvj -[detached HEAD 0000000005] b3wettvi - Author: A U Thor - 1 file changed, 3 insertions(+) - rename a0blgqsjc => f5518nwu (51%) -Warning: you are leaving 1 commit behind, not connected to -any of your branches: +expecting success of 1410.8 'delete': + echo 1 > C && + test_tick && + git commit -m rat C && - 0000000005 b3wettvi + echo 2 > C && + test_tick && + git commit -m ox C && -If you want to keep it by creating a new branch, this may be a good time -to do so with: + echo 3 > C && + test_tick && + git commit -m tiger C && - git branch 0000000005 + HEAD_entry_count=$(git reflog | wc -l) && + master_entry_count=$(git reflog show master | wc -l) && -Switched to branch 'master' -Merging: -00000000008 ioiley5o -virtual 0000000005b0d85f595e1a98533157ea161798da -found 1 common ancestor: -0000000000e a2onsxbvj -CONFLICT (rename/rename): Rename "a0blgqsjc"->"j000jmpzn" in branch "HEAD" rename "a0blgqsjc"->"f5518nwu" in "0000000005b0d85f595e1a98533157ea161798da" -Auto-merging j000jmpzn and f5518nwu, both renamed from a0blgqsjc -Automatic merge failed; fix conflicts and then commit the result. -rm 'f5518nwu' -rm 'j000jmpzn' -rm 'a0blgqsjc' -[master 00000000006] ad2uee - Author: A U Thor -ok 17 - more history + test $HEAD_entry_count = 5 && + test $master_entry_count = 5 && -checking known breakage of 1512.18 'parse describe name taking advantage of generation': - # ambiguous at the object name level, but there is only one - # such commit at generation 0 - git rev-parse --verify v1.0.0-0-g000000000 && - # likewise for generation 2 and 4 - git rev-parse --verify v1.0.0-2-g000000000 && - git rev-parse --verify v1.0.0-4-g000000000 + git reflog delete master@{1} && + git reflog show master > output && + test_line_count = $(($master_entry_count - 1)) output && + test $HEAD_entry_count = $(git reflog | wc -l) && + ! grep ox < output && -fatal: Needed a single revision -not ok 18 - parse describe name taking advantage of generation # TODO known breakage + master_entry_count=$(wc -l < output) && -expecting success of 1512.19 'parse describe name not ignoring ambiguity': - # ambiguous at the object name level, and there are two such - # commits at generation 1 - test_must_fail git rev-parse --verify v1.0.0-1-g000000000 + git reflog delete HEAD@{1} && + test $(($HEAD_entry_count -1)) = $(git reflog | wc -l) && + test $master_entry_count = $(git reflog show master | wc -l) && -fatal: Needed a single revision -ok 19 - parse describe name not ignoring ambiguity + HEAD_entry_count=$(git reflog | wc -l) && -expecting success of 1512.20 'ambiguous commit-ish': - # Now there are many commits that begin with the - # common prefix, none of these should pick one at - # random. They all should result in ambiguity errors. - test_must_fail git rev-parse --verify 00000000^{commit} && + git reflog delete master@{07.04.2005.15:15:00.-0700} && + git reflog show master > output && + test_line_count = $(($master_entry_count - 1)) output && + ! grep dragon < output - # likewise - test_must_fail git log 000000000..000000000 && - test_must_fail git log ..000000000 && - test_must_fail git log 000000000.. && - test_must_fail git log 000000000...000000000 && - test_must_fail git log ...000000000 && - test_must_fail git log 000000000... -error: short SHA1 00000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: Needed a single revision -error: short SHA1 000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: ambiguous argument '000000000..000000000': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -error: short SHA1 000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: ambiguous argument '..000000000': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -error: short SHA1 000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: ambiguous argument '000000000..': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -error: short SHA1 000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: ambiguous argument '000000000...000000000': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -error: short SHA1 000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: ambiguous argument '...000000000': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -error: short SHA1 000000000 is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -fatal: ambiguous argument '000000000...': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -ok 20 - ambiguous commit-ish +[master b60a214] rat + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +[master 9908ef9] ox + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +[master b93561f] tiger + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +ok 8 - delete -expecting success of 1512.21 'ambiguous tags peel to treeish': - test_must_fail git rev-parse 0000000000f^{tree} +expecting success of 1410.9 'rewind2': -error: short SHA1 0000000000f is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 0000000000fd tree -fatal: ambiguous argument '0000000000f^{tree}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -0000000000f^{tree} -ok 21 - ambiguous tags peel to treeish + test_tick && git reset --hard HEAD~2 && + git reflog refs/heads/master >output && + test_line_count = 4 output -expecting success of 1512.22 'rev-parse --disambiguate': - # The test creates 16 objects that share the prefix and two - # commits created by commit-tree in earlier tests share a - # different prefix. - git rev-parse --disambiguate=000000000 >actual && - test_line_count = 16 actual && - test "$(sed -e "s/^\(.........\).*/\1/" actual | sort -u)" = 000000000 +HEAD is now at b60a214 rat +ok 9 - rewind2 -ok 22 - rev-parse --disambiguate +expecting success of 1410.10 '--expire=never': -expecting success of 1512.23 'rev-parse --disambiguate drops duplicates': - git rev-parse --disambiguate=000000000 >expect && - git pack-objects .git/objects/pack/pack actual && - test_cmp expect actual + git reflog expire --verbose \ + --expire=never \ + --expire-unreachable=never \ + --all && + git reflog refs/heads/master >output && + test_line_count = 4 output -bdfb78b16a1cd3c3b1ebf4cca29330c92a46fc43 -ok 23 - rev-parse --disambiguate drops duplicates +keep commit (initial): rabbit +keep commit: rat +keep commit: tiger +keep reset: moving to HEAD~2 +keep commit (initial): rabbit +keep commit: dragon +keep commit: rat +keep commit: tiger +keep reset: moving to HEAD~2 +ok 10 - --expire=never -expecting success of 1512.24 'ambiguous 40-hex ref': - TREE=$(git mktree err) = $REF && - grep "refname.*${REF}.*ambiguous" err +expecting success of 1410.11 'gc.reflogexpire=never': + test_config gc.reflogexpire never && + test_config gc.reflogexpireunreachable never && -warning: refname '0000000000663a70a94c2b280b575855256220fa' is ambiguous. -ok 24 - ambiguous 40-hex ref + git reflog expire --verbose --all >output && + test_line_count = 9 output && -expecting success of 1512.25 'ambiguous short sha1 ref': - TREE=$(git mktree err) = $VAL && - grep "refname.*${REF}.*ambiguous" err + git reflog refs/heads/master >output && + test_line_count = 4 output -warning: refname '00000000006' is ambiguous. -ok 25 - ambiguous short sha1 ref +ok 11 - gc.reflogexpire=never -expecting success of 1512.26 'ambiguity errors are not repeated (raw)': - test_must_fail git rev-parse 00000 2>stderr && - grep "is ambiguous" stderr >errors && - test_line_count = 1 errors +expecting success of 1410.12 'gc.reflogexpire=false': + test_config gc.reflogexpire false && + test_config gc.reflogexpireunreachable false && -00000 -ok 26 - ambiguity errors are not repeated (raw) + git reflog expire --verbose --all && + git reflog refs/heads/master >output && + test_line_count = 4 output -expecting success of 1512.27 'ambiguity errors are not repeated (treeish)': - test_must_fail git rev-parse 00000:foo 2>stderr && - grep "is ambiguous" stderr >errors && - test_line_count = 1 errors -00000:foo -ok 27 - ambiguity errors are not repeated (treeish) +keep commit (initial): rabbit +keep commit: rat +keep commit: tiger +keep reset: moving to HEAD~2 +keep commit (initial): rabbit +keep commit: dragon +keep commit: rat +keep commit: tiger +keep reset: moving to HEAD~2 +ok 12 - gc.reflogexpire=false -expecting success of 1512.28 'ambiguity errors are not repeated (peel)': - test_must_fail git rev-parse 00000^{commit} 2>stderr && - grep "is ambiguous" stderr >errors && - test_line_count = 1 errors +expecting success of 1410.13 'git reflog expire unknown reference': + test_config gc.reflogexpire never && + test_config gc.reflogexpireunreachable never && -00000^{commit} -ok 28 - ambiguity errors are not repeated (peel) + test_must_fail git reflog expire master@{123} 2>stderr && + test_i18ngrep "points nowhere" stderr && + test_must_fail git reflog expire does-not-exist 2>stderr && + test_i18ngrep "points nowhere" stderr -expecting success of 1512.29 'ambiguity hints': - test_must_fail git rev-parse 000000000 2>stderr && - grep ^hint: stderr >hints && - # 16 candidates, plus one intro line - test_line_count = 17 hints +error: master@{123} points nowhere! +error: does-not-exist points nowhere! +ok 13 - git reflog expire unknown reference -000000000 -ok 29 - ambiguity hints +expecting success of 1410.14 'checkout should not delete log for packed ref': + test $(git reflog master | wc -l) = 4 && + git branch foo && + git pack-refs --all && + git checkout foo && + test $(git reflog master | wc -l) = 4 -expecting success of 1512.30 'ambiguity hints respect type': - test_must_fail git rev-parse 000000000^{commit} 2>stderr && - grep ^hint: stderr >hints && - # 5 commits, 1 tag (which is a committish), plus intro line - test_line_count = 7 hints +Switched to branch 'foo' +ok 14 - checkout should not delete log for packed ref -000000000^{commit} -ok 30 - ambiguity hints respect type +expecting success of 1410.15 'stale dirs do not cause d/f conflicts (reflogs on)': + test_when_finished "git branch -d one || git branch -d one/two" && -expecting success of 1512.31 'failed type-selector still shows hint': - # these two blobs share the same prefix "ee3d", but neither - # will pass for a commit - echo 851 | git hash-object --stdin -w && - echo 872 | git hash-object --stdin -w && - test_must_fail git rev-parse ee3d^{commit} 2>stderr && - grep ^hint: stderr >hints && - test_line_count = 3 hints + git branch one/two master && + echo "one/two@{0} branch: Created from master" >expect && + git log -g --format="%gd %gs" one/two >actual && + test_cmp expect actual && + git branch -d one/two && -ee3de9906b5e9a4a369e91cba4235487a7e10351 -ee3d8abaa95a7395b373892b2593de2f426814e2 -ee3d^{commit} -ok 31 - failed type-selector still shows hint + # now logs/refs/heads/one is a stale directory, but + # we should move it out of the way to create "one" reflog + git branch one master && + echo "one@{0} branch: Created from master" >expect && + git log -g --format="%gd %gs" one >actual && + test_cmp expect actual -expecting success of 1512.32 'core.disambiguate config can prefer types': - # ambiguous between tree and tag - sha1=0000000000f && - test_must_fail git rev-parse $sha1 && - git rev-parse $sha1^{commit} && - git -c core.disambiguate=committish rev-parse $sha1 +Deleted branch one/two (was b60a214). +Deleted branch one (was b60a214). +ok 15 - stale dirs do not cause d/f conflicts (reflogs on) -error: short SHA1 0000000000f is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 0000000000fd tree -hint: 0000000000f2 blob -fatal: ambiguous argument '0000000000f': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -0000000000f -0000000000e4f9fbd19cf1e932319e5ad0d1d00b -0000000000f8f5507ab27a0d7bd3c75c0f64ffe0 -ok 32 - core.disambiguate config can prefer types +expecting success of 1410.16 'stale dirs do not cause d/f conflicts (reflogs off)': + test_when_finished "git branch -d one || git branch -d one/two" && -expecting success of 1512.33 'core.disambiguate does not override context': - # treeish ambiguous between tag and tree - test_must_fail \ - git -c core.disambiguate=committish rev-parse $sha1^{tree} + git branch one/two master && + echo "one/two@{0} branch: Created from master" >expect && + git log -g --format="%gd %gs" one/two >actual && + test_cmp expect actual && + git branch -d one/two && -error: short SHA1 0000000000f is ambiguous -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 0000000000fd tree -fatal: ambiguous argument '0000000000f^{tree}': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -0000000000f^{tree} -ok 33 - core.disambiguate does not override context + # same as before, but we only create a reflog for "one" if + # it already exists, which it does not + git -c core.logallrefupdates=false branch one master && + git log -g --format="%gd %gs" one >actual && + test_must_be_empty actual -expecting success of 1512.34 'ambiguous commits are printed by type first, then hash order': - test_must_fail git rev-parse 0000 2>stderr && - grep ^hint: stderr >hints && - grep 0000 hints >objects && - cat >expected <<-\EOF && - tag - commit - tree - blob - EOF - awk "{print \$3}" objects.types && - uniq objects.types.uniq && - test_cmp expected objects.types.uniq && - for type in tag commit tree blob - do - grep $type objects >$type.objects && - sort $type.objects >$type.objects.sorted && - test_cmp $type.objects.sorted $type.objects - done +Deleted branch one/two (was b60a214). +Deleted branch one (was b60a214). +ok 16 - stale dirs do not cause d/f conflicts (reflogs off) -0000 -ok 34 - ambiguous commits are printed by type first, then hash order +checking prerequisite: SHA1 -expecting success of 1512.35 'cat-file --batch and --batch-check show ambiguous': - echo "0000 ambiguous" >expect && - echo 0000 | git cat-file --batch-check >actual 2>err && - test_cmp expect actual && - test_i18ngrep hint: err && - echo 0000 | git cat-file --batch >actual 2>err && - test_cmp expect actual && - test_i18ngrep hint: err +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && + case "$GIT_DEFAULT_HASH" in + sha1) true ;; + "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; + *) false ;; + esac -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -hint: 000000000002 tree -hint: 00000000005 tree -hint: 00000000009 tree -hint: 0000000000c tree -hint: 0000000000fd tree -hint: 00000000001 blob -hint: 00000000003 blob -hint: 0000000000a blob -hint: 0000000000b blob -hint: 0000000000f2 blob -hint: The candidates are: -hint: 0000000000f8 tag v1.0.0 -hint: 000000000004 commit 2005-04-07 - czy8f73t -hint: 00000000006 commit 2005-04-07 - ad2uee -hint: 00000000008 commit 2005-04-07 - ioiley5o -hint: 0000000000e commit 2005-04-07 - a2onsxbvj -hint: 0000000005 commit 2005-04-07 - b3wettvi -hint: 000000000002 tree -hint: 00000000005 tree -hint: 00000000009 tree -hint: 0000000000c tree -hint: 0000000000fd tree -hint: 00000000001 blob -hint: 00000000003 blob -hint: 0000000000a blob -hint: 0000000000b blob -hint: 0000000000f2 blob -ok 35 - cat-file --batch and --batch-check show ambiguous +) +prerequisite SHA1 ok +expecting success of 1410.17 'parsing reverse reflogs at BUFSIZ boundaries': + git checkout -b reflogskip && + zf=$(test_oid zero_2) && + ident="abc 0000000001 +0000" && + for i in $(test_seq 1 75); do + printf "$zf%02d $zf%02d %s\t" $i $(($i+1)) "$ident" && + if test $i = 75; then + for j in $(test_seq 1 89); do + printf X + done + else + printf X + fi && + printf "\n" + done >.git/logs/refs/heads/reflogskip && + git rev-parse reflogskip@{73} >actual && + echo ${zf}03 >expect && + test_cmp expect actual -# still have 3 known breakage(s) -# passed all remaining 32 test(s) -1..35 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2007-checkout-symlink.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2007-checkout-symlink/.git/ -expecting success of 2007.1 'setup': +Switched to a new branch 'reflogskip' +ok 17 - parsing reverse reflogs at BUFSIZ boundaries - mkdir frotz && - echo hello >frotz/filfre && - git add frotz/filfre && - test_tick && - git commit -m "master has file frotz/filfre" && +expecting success of 1410.18 'no segfaults for reflog containing non-commit sha1s': + git update-ref --create-reflog -m "Creating ref" \ + refs/tests/tree-in-reflog HEAD && + git update-ref -m "Forcing tree" refs/tests/tree-in-reflog HEAD^{tree} && + git update-ref -m "Restoring to commit" refs/tests/tree-in-reflog HEAD && + git reflog refs/tests/tree-in-reflog - git branch side && +b60a214 refs/tests/tree-in-reflog@{0}: Restoring to commit +b60a214 refs/tests/tree-in-reflog@{2}: Creating ref +ok 18 - no segfaults for reflog containing non-commit sha1s - echo goodbye >nitfol && - git add nitfol && - test_tick && - git commit -m "master adds file nitfol" && +checking known breakage of 1410.19 'reflog with non-commit entries displays all entries': + git reflog refs/tests/tree-in-reflog >actual && + test_line_count = 3 actual - git checkout side && +test_line_count: line count for actual != 3 +b60a214 refs/tests/tree-in-reflog@{0}: Restoring to commit +b60a214 refs/tests/tree-in-reflog@{2}: Creating ref +not ok 19 - reflog with non-commit entries displays all entries # TODO known breakage - git rm --cached frotz/filfre && - mv frotz xyzzy && - test_ln_s_add xyzzy frotz && - git add xyzzy/filfre && - test_tick && - git commit -m "side moves frotz/ to xyzzy/ and adds frotz->xyzzy/" +expecting success of 1410.20 'reflog expire operates on symref not referrent': + git branch --create-reflog the_symref && + git branch --create-reflog referrent && + git update-ref referrent HEAD && + git symbolic-ref refs/heads/the_symref refs/heads/referrent && + test_when_finished "rm -f .git/refs/heads/referrent.lock" && + touch .git/refs/heads/referrent.lock && + git reflog expire --expire=all the_symref +ok 20 - reflog expire operates on symref not referrent -[master (root-commit) f92d3a8] master has file frotz/filfre +expecting success of 1410.21 'continue walking past root commits': + git init orphanage && + ( + cd orphanage && + cat >expect <<-\EOF && + HEAD@{0} commit (initial): orphan2-1 + HEAD@{1} commit: orphan1-2 + HEAD@{2} commit (initial): orphan1-1 + HEAD@{3} commit (initial): initial + EOF + test_commit initial && + git checkout --orphan orphan1 && + test_commit orphan1-1 && + test_commit orphan1-2 && + git checkout --orphan orphan2 && + test_commit orphan2-1 && + git log -g --format="%gd %gs" >actual && + test_cmp expect actual + ) + +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1410-reflog/orphanage/.git/ +[master (root-commit) 2aabd22] initial Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 frotz/filfre -[master ed594a0] master adds file nitfol + create mode 100644 initial.t +Switched to a new branch 'orphan1' +[orphan1 (root-commit) e2a0da2] orphan1-1 + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 initial.t + create mode 100644 orphan1-1.t +[orphan1 9bdda66] orphan1-2 Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 nitfol -Switched to branch 'side' -rm 'frotz/filfre' -checking prerequisite: SYMLINKS + create mode 100644 orphan1-2.t +Switched to a new branch 'orphan2' +[orphan2 (root-commit) b47ea8f] orphan2-1 + Author: A U Thor + 4 files changed, 4 insertions(+) + create mode 100644 initial.t + create mode 100644 orphan1-1.t + create mode 100644 orphan1-2.t + create mode 100644 orphan2-1.t +ok 21 - continue walking past root commits -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +expecting success of 1410.22 'expire with multiple worktrees': + git init main-wt && + ( + cd main-wt && + test_tick && + test_commit foo && + git worktree add link-wt && + test_tick && + test_commit -C link-wt foobar && + test_tick && + git reflog expire --verbose --all --expire=$test_tick && + test_must_be_empty .git/worktrees/link-wt/logs/HEAD + ) -) -prerequisite SYMLINKS ok -[side 1502bd7] side moves frotz/ to xyzzy/ and adds frotz->xyzzy/ +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1410-reflog/main-wt/.git/ +[master (root-commit) af4983b] foo Author: A U Thor - 2 files changed, 1 insertion(+) - create mode 120000 frotz - rename {frotz => xyzzy}/filfre (100%) -ok 1 - setup + 1 file changed, 1 insertion(+) + create mode 100644 foo.t +Preparing worktree (new branch 'link-wt') +HEAD is now at af4983b foo +[link-wt 7368abb] foobar + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foobar.t +prune branch: Created from HEAD +prune commit: foobar +prune commit (initial): foo +prune commit (initial): foo +prune +prune reset: moving to HEAD +prune commit: foobar +ok 22 - expire with multiple worktrees -expecting success of 2007.2 'switch from symlink to dir': +# still have 1 known breakage(s) +# passed all remaining 21 test(s) +1..22 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1420-lost-found.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1420-lost-found/.git/ +expecting success of 1420.1 'setup': + git config core.logAllRefUpdates 0 && + : > file1 && + git add file1 && + test_tick && + git commit -m initial && + echo 1 > file1 && + echo 2 > file2 && + git add file1 file2 && + test_tick && + git commit -m second && + echo 3 > file3 && + git add file3 - git checkout master +[master (root-commit) 9bb1ae9] initial + Author: A U Thor + 1 file changed, 0 insertions(+), 0 deletions(-) + create mode 100644 file1 +[master 8ad33be] second + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 file2 +ok 1 - setup + +expecting success of 1420.2 'lost and found something': + git rev-parse HEAD > lost-commit && + git rev-parse :file3 > lost-other && + test_tick && + git reset --hard HEAD^ && + git fsck --lost-found && + test 2 = $(ls .git/lost-found/*/* | wc -l) && + test -f .git/lost-found/commit/$(cat lost-commit) && + test -f .git/lost-found/other/$(cat lost-other) +HEAD is now at 9bb1ae9 initial +dangling blob 00750edc07d6415dcc07ae0351e9397b0222b7ba +dangling commit 8ad33beea8de8e15812274614acd0a26d73b60f8 +ok 2 - lost and found something -Switched to branch 'master' -ok 2 - switch from symlink to dir +# passed all 2 test(s) +1..2 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1415-worktree-refs.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1415-worktree-refs/.git/ +expecting success of 1415.1 'setup': + test_commit initial && + test_commit wt1 && + test_commit wt2 && + git worktree add wt1 wt1 && + git worktree add wt2 wt2 && + git checkout initial && + git update-ref refs/worktree/foo HEAD && + git -C wt1 update-ref refs/worktree/foo HEAD && + git -C wt2 update-ref refs/worktree/foo HEAD -expecting success of 2007.3 'Remove temporary directories & switch to master': - rm -fr frotz xyzzy nitfol && - git checkout -f master +[master (root-commit) 24b24cf] initial + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 initial.t +[master 42fba42] wt1 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 wt1.t +[master 83df652] wt2 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 wt2.t +Preparing worktree (detached HEAD 42fba42) +HEAD is now at 42fba42 wt1 +Preparing worktree (detached HEAD 83df652) +HEAD is now at 83df652 wt2 +Note: switching to 'initial'. -Already on 'master' -ok 3 - Remove temporary directories & switch to master +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -expecting success of 2007.4 'switch from dir to symlink': +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: - git checkout side + git switch -c +Or undo this operation with: -Switched to branch 'side' -ok 4 - switch from dir to symlink + git switch - -# passed all 4 test(s) -1..4 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1500-rev-parse.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1500-rev-parse/.git/ -expecting success of 1500.1 'setup': - mkdir -p sub/dir work && - cp -R .git repo.git +Turn off this advice by setting config variable advice.detachedHead to false +HEAD is now at 24b24cf initial ok 1 - setup -expecting success of 1500.2 'toplevel: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1415.2 'refs/worktree must not be packed': + git pack-refs --all && + test_path_is_missing .git/refs/tags/wt1 && + test_path_is_file .git/refs/worktree/foo && + test_path_is_file .git/worktrees/wt1/refs/worktree/foo && + test_path_is_file .git/worktrees/wt2/refs/worktree/foo - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 2 - refs/worktree must not be packed - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 2 - toplevel: --is-bare-repository +expecting success of 1415.3 'refs/worktree are per-worktree': + test_cmp_rev worktree/foo initial && + ( cd wt1 && test_cmp_rev worktree/foo wt1 ) && + ( cd wt2 && test_cmp_rev worktree/foo wt2 ) -expecting success of 1500.3 'toplevel: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 3 - refs/worktree are per-worktree - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1415.4 'resolve main-worktree/HEAD': + test_cmp_rev main-worktree/HEAD initial && + ( cd wt1 && test_cmp_rev main-worktree/HEAD initial ) && + ( cd wt2 && test_cmp_rev main-worktree/HEAD initial ) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 3 - toplevel: --is-inside-git-dir +ok 4 - resolve main-worktree/HEAD -expecting success of 1500.4 'toplevel: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1415.5 'ambiguous main-worktree/HEAD': + mkdir -p .git/refs/heads/main-worktree && + test_when_finished rm -f .git/refs/heads/main-worktree/HEAD && + cp .git/HEAD .git/refs/heads/main-worktree/HEAD && + git rev-parse main-worktree/HEAD 2>warn && + grep "main-worktree/HEAD.*ambiguous" warn - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +24b24cf8a829f5b8c30dfc018b0a459a2ccaf380 +warning: refname 'main-worktree/HEAD' is ambiguous. +ok 5 - ambiguous main-worktree/HEAD - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 4 - toplevel: --is-inside-work-tree +expecting success of 1415.6 'resolve worktrees/xx/HEAD': + test_cmp_rev worktrees/wt1/HEAD wt1 && + ( cd wt1 && test_cmp_rev worktrees/wt1/HEAD wt1 ) && + ( cd wt2 && test_cmp_rev worktrees/wt1/HEAD wt1 ) -expecting success of 1500.5 'toplevel: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 6 - resolve worktrees/xx/HEAD - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1415.7 'ambiguous worktrees/xx/HEAD': + mkdir -p .git/refs/heads/worktrees/wt1 && + test_when_finished rm -f .git/refs/heads/worktrees/wt1/HEAD && + cp .git/HEAD .git/refs/heads/worktrees/wt1/HEAD && + git rev-parse worktrees/wt1/HEAD 2>warn && + grep "worktrees/wt1/HEAD.*ambiguous" warn - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 5 - toplevel: --show-prefix +42fba42569eaa325aaade18832dfa5432d54ffd1 +warning: refname 'worktrees/wt1/HEAD' is ambiguous. +ok 7 - ambiguous worktrees/xx/HEAD -expecting success of 1500.6 'toplevel: --git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1415.8 'reflog of main-worktree/HEAD': + git reflog HEAD | sed "s/HEAD/main-worktree\/HEAD/" >expected && + git reflog main-worktree/HEAD >actual && + test_cmp expected actual && + git -C wt1 reflog main-worktree/HEAD >actual.wt1 && + test_cmp expected actual.wt1 - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 8 - reflog of main-worktree/HEAD - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 6 - toplevel: --git-dir +expecting success of 1415.9 'reflog of worktrees/xx/HEAD': + git -C wt2 reflog HEAD | sed "s/HEAD/worktrees\/wt2\/HEAD/" >expected && + git reflog worktrees/wt2/HEAD >actual && + test_cmp expected actual && + git -C wt1 reflog worktrees/wt2/HEAD >actual.wt1 && + test_cmp expected actual.wt1 && + git -C wt2 reflog worktrees/wt2/HEAD >actual.wt2 && + test_cmp expected actual.wt2 -expecting success of 1500.7 'toplevel: --absolute-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 9 - reflog of worktrees/xx/HEAD - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1415.10 'for-each-ref from main worktree': + mkdir fer1 && + git -C fer1 init repo && + test_commit -C fer1/repo initial && + git -C fer1/repo worktree add ../second && + git -C fer1/repo update-ref refs/bisect/first HEAD && + git -C fer1/repo update-ref refs/rewritten/first HEAD && + git -C fer1/repo update-ref refs/worktree/first HEAD && + git -C fer1/repo for-each-ref --format="%(refname)" | grep first >actual && + cat >expected <<-\EOF && + refs/bisect/first + refs/rewritten/first + refs/worktree/first + EOF + test_cmp expected actual - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 7 - toplevel: --absolute-git-dir +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1415-worktree-refs/fer1/repo/.git/ +[master (root-commit) 1935181] initial + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 initial.t +Preparing worktree (new branch 'second') +HEAD is now at 1935181 initial +ok 10 - for-each-ref from main worktree -expecting success of 1500.8 '.git/: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1415.11 'for-each-ref from linked worktree': + mkdir fer2 && + git -C fer2 init repo && + test_commit -C fer2/repo initial && + git -C fer2/repo worktree add ../second && + git -C fer2/second update-ref refs/bisect/second HEAD && + git -C fer2/second update-ref refs/rewritten/second HEAD && + git -C fer2/second update-ref refs/worktree/second HEAD && + git -C fer2/second for-each-ref --format="%(refname)" | grep second >actual && + cat >expected <<-\EOF && + refs/bisect/second + refs/heads/second + refs/rewritten/second + refs/worktree/second + EOF + test_cmp expected actual - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1415-worktree-refs/fer2/repo/.git/ +[master (root-commit) 23fa7ba] initial + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 initial.t +Preparing worktree (new branch 'second') +HEAD is now at 23fa7ba initial +ok 11 - for-each-ref from linked worktree - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 8 - .git/: --is-bare-repository +# passed all 11 test(s) +1..11 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1416-ref-transaction-hooks.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1416-ref-transaction-hooks/.git/ +expecting success of 1416.1 'setup': + mkdir -p .git/hooks && + test_commit PRE && + PRE_OID=$(git rev-parse PRE) && + test_commit POST && + POST_OID=$(git rev-parse POST) -expecting success of 1500.9 '.git/: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +[master (root-commit) 63ac8e7] PRE + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 PRE.t +[master 99d5316] POST + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 POST.t +ok 1 - setup - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1416.2 'hook allows updating ref if successful': + test_when_finished "rm .git/hooks/reference-transaction" && + git reset --hard PRE && + write_script .git/hooks/reference-transaction <<-\EOF && + echo "$*" >>actual + EOF + cat >expect <<-EOF && + prepared + committed + EOF + git update-ref HEAD POST && + test_cmp expect actual - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 9 - .git/: --is-inside-git-dir +HEAD is now at 63ac8e7 PRE +ok 2 - hook allows updating ref if successful -expecting success of 1500.10 '.git/: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1416.3 'hook aborts updating ref in prepared state': + test_when_finished "rm .git/hooks/reference-transaction" && + git reset --hard PRE && + write_script .git/hooks/reference-transaction <<-\EOF && + if test "$1" = prepared + then + exit 1 + fi + EOF + test_must_fail git update-ref HEAD POST 2>err && + test_i18ngrep "ref updates aborted by hook" err - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +HEAD is now at 63ac8e7 PRE +checking prerequisite: C_LOCALE_OUTPUT - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 10 - .git/: --is-inside-work-tree +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -expecting success of 1500.11 '.git/: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +) +prerequisite C_LOCALE_OUTPUT ok +fatal: ref updates aborted by hook +ok 3 - hook aborts updating ref in prepared state - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1416.4 'hook gets all queued updates in prepared state': + test_when_finished "rm .git/hooks/reference-transaction actual" && + git reset --hard PRE && + write_script .git/hooks/reference-transaction <<-\EOF && + if test "$1" = prepared + then + while read -r line + do + printf "%s\n" "$line" + done >actual + fi + EOF + cat >expect <<-EOF && + $ZERO_OID $POST_OID HEAD + $ZERO_OID $POST_OID refs/heads/master + EOF + git update-ref HEAD POST <<-EOF && + update HEAD $ZERO_OID $POST_OID + update refs/heads/master $ZERO_OID $POST_OID + EOF + test_cmp expect actual - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 11 - .git/: --show-prefix +HEAD is now at 63ac8e7 PRE +ok 4 - hook gets all queued updates in prepared state -expecting success of 1500.12 '.git/: --git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1416.5 'hook gets all queued updates in committed state': + test_when_finished "rm .git/hooks/reference-transaction actual" && + git reset --hard PRE && + write_script .git/hooks/reference-transaction <<-\EOF && + if test "$1" = committed + then + while read -r line + do + printf "%s\n" "$line" + done >actual + fi + EOF + cat >expect <<-EOF && + $ZERO_OID $POST_OID HEAD + $ZERO_OID $POST_OID refs/heads/master + EOF + git update-ref HEAD POST && + test_cmp expect actual - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +HEAD is now at 63ac8e7 PRE +ok 5 - hook gets all queued updates in committed state - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 12 - .git/: --git-dir +expecting success of 1416.6 'hook gets all queued updates in aborted state': + test_when_finished "rm .git/hooks/reference-transaction actual" && + git reset --hard PRE && + write_script .git/hooks/reference-transaction <<-\EOF && + if test "$1" = aborted + then + while read -r line + do + printf "%s\n" "$line" + done >actual + fi + EOF + cat >expect <<-EOF && + $ZERO_OID $POST_OID HEAD + $ZERO_OID $POST_OID refs/heads/master + EOF + git update-ref --stdin <<-EOF && + start + update HEAD POST $ZERO_OID + update refs/heads/master POST $ZERO_OID + abort + EOF + test_cmp expect actual -expecting success of 1500.13 '.git/: --absolute-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +HEAD is now at 63ac8e7 PRE +start: ok +abort: ok +ok 6 - hook gets all queued updates in aborted state - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1416.7 'interleaving hook calls succeed': + test_when_finished "rm -r target-repo.git" && - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 13 - .git/: --absolute-git-dir + git init --bare target-repo.git && -expecting success of 1500.14 '.git/objects/: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && + write_script target-repo.git/hooks/reference-transaction <<-\EOF && + echo $0 "$@" >>actual + EOF - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && + write_script target-repo.git/hooks/update <<-\EOF && + echo $0 "$@" >>actual + EOF - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 14 - .git/objects/: --is-bare-repository + cat >expect <<-EOF && + hooks/update refs/tags/PRE $ZERO_OID $PRE_OID + hooks/reference-transaction prepared + hooks/reference-transaction committed + hooks/update refs/tags/POST $ZERO_OID $POST_OID + hooks/reference-transaction prepared + hooks/reference-transaction committed + EOF -expecting success of 1500.15 '.git/objects/: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && + git push ./target-repo.git PRE POST && + test_cmp expect target-repo.git/actual - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1416-ref-transaction-hooks/target-repo.git/ +To ./target-repo.git + * [new tag] PRE -> PRE + * [new tag] POST -> POST +ok 7 - interleaving hook calls succeed - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 15 - .git/objects/: --is-inside-git-dir +# passed all 7 test(s) +1..7 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1400-update-ref.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1400-update-ref/.git/ +expecting success of 1400.1 'setup': + git checkout --orphan main && + create_test_commits "" && + mkdir $bare && + cd $bare && + git init --bare -b main && + create_test_commits "bare" && + cd - -expecting success of 1500.16 '.git/objects/: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +Switched to a new branch 'main' +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1400-update-ref/bare-repo/ +/build/git-2.30.2/t/trash directory.t1400-update-ref +ok 1 - setup - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.2 'create refs/heads/main': + git update-ref $m $A && + test $A = $(git show-ref -s --verify $m) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 16 - .git/objects/: --is-inside-work-tree +ok 2 - create refs/heads/main -expecting success of 1500.17 '.git/objects/: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.3 'create refs/heads/main with oldvalue verification': + git update-ref $m $B $A && + test $B = $(git show-ref -s --verify $m) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 3 - create refs/heads/main with oldvalue verification - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 17 - .git/objects/: --show-prefix +expecting success of 1400.4 'fail to delete refs/heads/main with stale ref': + test_must_fail git update-ref -d $m $A && + test $B = "$(git show-ref -s --verify $m)" -expecting success of 1500.18 '.git/objects/: --git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +error: cannot lock ref 'refs/heads/main': is at 56d5c1374e8028a1e122ab046ab7b98165342dc4 but expected 102939797ab91a4f201d131418d2c9d919dcdd2c +ok 4 - fail to delete refs/heads/main with stale ref - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.5 'delete refs/heads/main': + test_when_finished "git update-ref -d $m" && + git update-ref -d $m $B && + test_must_fail git show-ref --verify -q $m - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 18 - .git/objects/: --git-dir +ok 5 - delete refs/heads/main -expecting success of 1500.19 '.git/objects/: --absolute-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.6 'delete refs/heads/main without oldvalue verification': + test_when_finished "git update-ref -d $m" && + git update-ref $m $A && + test $A = $(git show-ref -s --verify $m) && + git update-ref -d $m && + test_must_fail git show-ref --verify -q $m - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 6 - delete refs/heads/main without oldvalue verification - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 19 - .git/objects/: --absolute-git-dir +expecting success of 1400.7 'fail to create refs/heads/gu/fixes': + test_when_finished "rm -f .git/$n_dir" && + touch .git/$n_dir && + test_must_fail git update-ref $n $A -expecting success of 1500.20 'subdirectory: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +fatal: update_ref failed for ref 'refs/heads/gu/fixes': cannot lock ref 'refs/heads/gu/fixes': unable to create lock file .git/refs/heads/gu/fixes.lock; non-directory in the way +ok 7 - fail to create refs/heads/gu/fixes - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.8 'create refs/heads/main (by HEAD)': + git update-ref HEAD $A && + test $A = $(git show-ref -s --verify $m) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 20 - subdirectory: --is-bare-repository +ok 8 - create refs/heads/main (by HEAD) -expecting success of 1500.21 'subdirectory: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.9 'create refs/heads/main (by HEAD) with oldvalue verification': + git update-ref HEAD $B $A && + test $B = $(git show-ref -s --verify $m) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 9 - create refs/heads/main (by HEAD) with oldvalue verification - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 21 - subdirectory: --is-inside-git-dir +expecting success of 1400.10 'fail to delete refs/heads/main (by HEAD) with stale ref': + test_must_fail git update-ref -d HEAD $A && + test $B = $(git show-ref -s --verify $m) -expecting success of 1500.22 'subdirectory: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +error: cannot lock ref 'HEAD': is at 56d5c1374e8028a1e122ab046ab7b98165342dc4 but expected 102939797ab91a4f201d131418d2c9d919dcdd2c +ok 10 - fail to delete refs/heads/main (by HEAD) with stale ref - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.11 'delete refs/heads/main (by HEAD)': + test_when_finished "git update-ref -d $m" && + git update-ref -d HEAD $B && + test_must_fail git show-ref --verify -q $m - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 22 - subdirectory: --is-inside-work-tree +ok 11 - delete refs/heads/main (by HEAD) -expecting success of 1500.23 'subdirectory: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.12 'deleting current branch adds message to HEAD's log': + test_when_finished "git update-ref -d $m" && + git update-ref $m $A && + git symbolic-ref HEAD $m && + git update-ref -m delete-$m -d $m && + test_must_fail git show-ref --verify -q $m && + grep "delete-$m$" .git/logs/HEAD - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +102939797ab91a4f201d131418d2c9d919dcdd2c 0000000000000000000000000000000000000000 C O Mitter 1112912653 -0700 delete-refs/heads/main +ok 12 - deleting current branch adds message to HEAD's log - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 23 - subdirectory: --show-prefix +expecting success of 1400.13 'deleting by HEAD adds message to HEAD's log': + test_when_finished "git update-ref -d $m" && + git update-ref $m $A && + git symbolic-ref HEAD $m && + git update-ref -m delete-by-head -d HEAD && + test_must_fail git show-ref --verify -q $m && + grep "delete-by-head$" .git/logs/HEAD -expecting success of 1500.24 'subdirectory: --git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +102939797ab91a4f201d131418d2c9d919dcdd2c 0000000000000000000000000000000000000000 C O Mitter 1112912653 -0700 delete-by-head +ok 13 - deleting by HEAD adds message to HEAD's log - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.14 'update-ref does not create reflogs by default': + test_when_finished "git update-ref -d $outside" && + git update-ref $outside $A && + git rev-parse $A >expect && + git rev-parse $outside >actual && + test_cmp expect actual && + test_must_fail git reflog exists $outside - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 24 - subdirectory: --git-dir +ok 14 - update-ref does not create reflogs by default -expecting success of 1500.25 'subdirectory: --absolute-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.15 'update-ref creates reflogs with --create-reflog': + test_when_finished "git update-ref -d $outside" && + git update-ref --create-reflog $outside $A && + git rev-parse $A >expect && + git rev-parse $outside >actual && + test_cmp expect actual && + git reflog exists $outside - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 15 - update-ref creates reflogs with --create-reflog - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 25 - subdirectory: --absolute-git-dir +expecting success of 1400.16 'creates no reflog in bare repository': + git -C $bare update-ref $m $bareA && + git -C $bare rev-parse $bareA >expect && + git -C $bare rev-parse $m >actual && + test_cmp expect actual && + test_must_fail git -C $bare reflog exists $m -expecting success of 1500.26 'core.bare = true: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 16 - creates no reflog in bare repository - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.17 'core.logAllRefUpdates=true creates reflog in bare repository': + test_when_finished "git -C $bare config --unset core.logAllRefUpdates && \ + rm $bare/logs/$m" && + git -C $bare config core.logAllRefUpdates true && + git -C $bare update-ref $m $bareB && + git -C $bare rev-parse $bareB >expect && + git -C $bare rev-parse $m >actual && + test_cmp expect actual && + git -C $bare reflog exists $m - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 26 - core.bare = true: --is-bare-repository +ok 17 - core.logAllRefUpdates=true creates reflog in bare repository -expecting success of 1500.27 'core.bare = true: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.18 'core.logAllRefUpdates=true does not create reflog by default': + test_config core.logAllRefUpdates true && + test_when_finished "git update-ref -d $outside" && + git update-ref $outside $A && + git rev-parse $A >expect && + git rev-parse $outside >actual && + test_cmp expect actual && + test_must_fail git reflog exists $outside - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 18 - core.logAllRefUpdates=true does not create reflog by default - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 27 - core.bare = true: --is-inside-git-dir +expecting success of 1400.19 'core.logAllRefUpdates=always creates reflog by default': + test_config core.logAllRefUpdates always && + test_when_finished "git update-ref -d $outside" && + git update-ref $outside $A && + git rev-parse $A >expect && + git rev-parse $outside >actual && + test_cmp expect actual && + git reflog exists $outside -expecting success of 1500.28 'core.bare = true: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 19 - core.logAllRefUpdates=always creates reflog by default - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.20 'core.logAllRefUpdates=always creates reflog for ORIG_HEAD': + test_config core.logAllRefUpdates always && + git update-ref ORIG_HEAD $A && + git reflog exists ORIG_HEAD - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 28 - core.bare = true: --is-inside-work-tree +ok 20 - core.logAllRefUpdates=always creates reflog for ORIG_HEAD -expecting success of 1500.29 'core.bare undefined: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.21 '--no-create-reflog overrides core.logAllRefUpdates=always': + test_config core.logAllRefUpdates true && + test_when_finished "git update-ref -d $outside" && + git update-ref --no-create-reflog $outside $A && + git rev-parse $A >expect && + git rev-parse $outside >actual && + test_cmp expect actual && + test_must_fail git reflog exists $outside - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 21 - --no-create-reflog overrides core.logAllRefUpdates=always - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 29 - core.bare undefined: --is-bare-repository +expecting success of 1400.22 'create refs/heads/main (by HEAD)': + git update-ref HEAD $A && + test $A = $(git show-ref -s --verify $m) -expecting success of 1500.30 'core.bare undefined: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 22 - create refs/heads/main (by HEAD) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.23 'pack refs': + git pack-refs --all - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 30 - core.bare undefined: --is-inside-git-dir +ok 23 - pack refs -expecting success of 1500.31 'core.bare undefined: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.24 'move refs/heads/main (by HEAD)': + git update-ref HEAD $B $A && + test $B = $(git show-ref -s --verify $m) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 24 - move refs/heads/main (by HEAD) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 31 - core.bare undefined: --is-inside-work-tree +expecting success of 1400.25 'delete refs/heads/main (by HEAD) should remove both packed and loose refs/heads/main': + test_when_finished "git update-ref -d $m" && + git update-ref -d HEAD $B && + ! grep "$m" .git/packed-refs && + test_must_fail git show-ref --verify -q $m -expecting success of 1500.32 'GIT_DIR=../.git, core.bare = false: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 25 - delete refs/heads/main (by HEAD) should remove both packed and loose refs/heads/main - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.26 'delete symref without dereference': + test_when_finished "git update-ref -d $m" && + echo foo >foo.c && + git add foo.c && + git commit -m foo && + git symbolic-ref SYMREF $m && + git update-ref --no-deref -d SYMREF && + git show-ref --verify -q $m && + test_must_fail git show-ref --verify -q SYMREF && + test_must_fail git symbolic-ref SYMREF - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 32 - GIT_DIR=../.git, core.bare = false: --is-bare-repository +[main (root-commit) fc83d41] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.c +fatal: ref SYMREF is not a symbolic ref +ok 26 - delete symref without dereference -expecting success of 1500.33 'GIT_DIR=../.git, core.bare = false: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.27 'delete symref without dereference when the referred ref is packed': + test_when_finished "git update-ref -d $m" && + echo foo >foo.c && + git add foo.c && + git commit -m foo && + git symbolic-ref SYMREF $m && + git pack-refs --all && + git update-ref --no-deref -d SYMREF && + git show-ref --verify -q $m && + test_must_fail git show-ref --verify -q SYMREF && + test_must_fail git symbolic-ref SYMREF - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +[main (root-commit) fc83d41] foo + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 foo.c +fatal: ref SYMREF is not a symbolic ref +ok 27 - delete symref without dereference when the referred ref is packed - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 33 - GIT_DIR=../.git, core.bare = false: --is-inside-git-dir +expecting success of 1400.28 'update-ref -d is not confused by self-reference': + git symbolic-ref refs/heads/self refs/heads/self && + test_when_finished "rm -f .git/refs/heads/self" && + test_path_is_file .git/refs/heads/self && + test_must_fail git update-ref -d refs/heads/self && + test_path_is_file .git/refs/heads/self -expecting success of 1500.34 'GIT_DIR=../.git, core.bare = false: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +error: multiple updates for 'refs/heads/self' (including one via symref 'refs/heads/self') are not allowed +ok 28 - update-ref -d is not confused by self-reference - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.29 'update-ref --no-deref -d can delete self-reference': + git symbolic-ref refs/heads/self refs/heads/self && + test_when_finished "rm -f .git/refs/heads/self" && + test_path_is_file .git/refs/heads/self && + git update-ref --no-deref -d refs/heads/self && + test_must_fail git show-ref --verify -q refs/heads/self - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 34 - GIT_DIR=../.git, core.bare = false: --is-inside-work-tree +ok 29 - update-ref --no-deref -d can delete self-reference -expecting success of 1500.35 'GIT_DIR=../.git, core.bare = false: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.30 'update-ref --no-deref -d can delete reference to bad ref': + >.git/refs/heads/bad && + test_when_finished "rm -f .git/refs/heads/bad" && + git symbolic-ref refs/heads/ref-to-bad refs/heads/bad && + test_when_finished "git update-ref -d refs/heads/ref-to-bad" && + test_path_is_file .git/refs/heads/ref-to-bad && + git update-ref --no-deref -d refs/heads/ref-to-bad && + test_must_fail git show-ref --verify -q refs/heads/ref-to-bad - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 30 - update-ref --no-deref -d can delete reference to bad ref - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 35 - GIT_DIR=../.git, core.bare = false: --show-prefix +expecting success of 1400.31 '(not) create HEAD with old sha1': + test_must_fail git update-ref HEAD $A $B -expecting success of 1500.36 'GIT_DIR=../.git, core.bare = false: --git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +fatal: update_ref failed for ref 'HEAD': cannot lock ref 'HEAD': unable to resolve reference 'refs/heads/main' +ok 31 - (not) create HEAD with old sha1 - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.32 '(not) prior created .git/refs/heads/main': + test_when_finished "git update-ref -d $m" && + test_must_fail git show-ref --verify -q $m - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 36 - GIT_DIR=../.git, core.bare = false: --git-dir +ok 32 - (not) prior created .git/refs/heads/main -expecting success of 1500.37 'GIT_DIR=../.git, core.bare = false: --absolute-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.33 'create HEAD': + git update-ref HEAD $A - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 33 - create HEAD - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 37 - GIT_DIR=../.git, core.bare = false: --absolute-git-dir +expecting success of 1400.34 '(not) change HEAD with wrong SHA1': + test_must_fail git update-ref HEAD $B $Z -expecting success of 1500.38 'GIT_DIR=../.git, core.bare = true: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +fatal: update_ref failed for ref 'HEAD': cannot lock ref 'HEAD': reference already exists +ok 34 - (not) change HEAD with wrong SHA1 - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.35 '(not) changed .git/refs/heads/main': + test_when_finished "git update-ref -d $m" && + ! test $B = $(git show-ref -s --verify $m) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 38 - GIT_DIR=../.git, core.bare = true: --is-bare-repository +ok 35 - (not) changed .git/refs/heads/main -expecting success of 1500.39 'GIT_DIR=../.git, core.bare = true: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.36 'create refs/heads/main (logged by touch)': + test_config core.logAllRefUpdates false && + GIT_COMMITTER_DATE="2005-05-26 23:30" \ + git update-ref --create-reflog HEAD $A -m "Initial Creation" && + test $A = $(git show-ref -s --verify $m) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 36 - create refs/heads/main (logged by touch) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 39 - GIT_DIR=../.git, core.bare = true: --is-inside-git-dir +expecting success of 1400.37 'update refs/heads/main (logged by touch)': + test_config core.logAllRefUpdates false && + GIT_COMMITTER_DATE="2005-05-26 23:31" \ + git update-ref HEAD $B $A -m "Switch" && + test $B = $(git show-ref -s --verify $m) -expecting success of 1500.40 'GIT_DIR=../.git, core.bare = true: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 37 - update refs/heads/main (logged by touch) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.38 'set refs/heads/main (logged by touch)': + test_config core.logAllRefUpdates false && + GIT_COMMITTER_DATE="2005-05-26 23:41" \ + git update-ref HEAD $A && + test $A = $(git show-ref -s --verify $m) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 40 - GIT_DIR=../.git, core.bare = true: --is-inside-work-tree +ok 38 - set refs/heads/main (logged by touch) -expecting success of 1500.41 'GIT_DIR=../.git, core.bare = true: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.39 'empty directory removal': + git branch d1/d2/r1 HEAD && + git branch d1/r2 HEAD && + test_path_is_file .git/refs/heads/d1/d2/r1 && + test_path_is_file .git/logs/refs/heads/d1/d2/r1 && + git branch -d d1/d2/r1 && + test_must_fail git show-ref --verify -q refs/heads/d1/d2 && + test_must_fail git show-ref --verify -q logs/refs/heads/d1/d2 && + test_path_is_file .git/refs/heads/d1/r2 && + test_path_is_file .git/logs/refs/heads/d1/r2 - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +Deleted branch d1/d2/r1 (was 1029397). +ok 39 - empty directory removal - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 41 - GIT_DIR=../.git, core.bare = true: --show-prefix +expecting success of 1400.40 'symref empty directory removal': + git branch e1/e2/r1 HEAD && + git branch e1/r2 HEAD && + git checkout e1/e2/r1 && + test_when_finished "git checkout main" && + test_path_is_file .git/refs/heads/e1/e2/r1 && + test_path_is_file .git/logs/refs/heads/e1/e2/r1 && + git update-ref -d HEAD && + test_must_fail git show-ref --verify -q refs/heads/e1/e2 && + test_must_fail git show-ref --verify -q logs/refs/heads/e1/e2 && + test_path_is_file .git/refs/heads/e1/r2 && + test_path_is_file .git/logs/refs/heads/e1/r2 && + test_path_is_file .git/logs/HEAD -expecting success of 1500.42 'GIT_DIR=../.git, core.bare undefined: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +Switched to branch 'e1/e2/r1' +A foo.c +Switched to branch 'main' +A foo.c +ok 40 - symref empty directory removal - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.41 'verifying refs/heads/main's log (logged by touch)': + test_when_finished "rm -rf .git/$m .git/logs expect" && + test_cmp expect .git/logs/$m - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 42 - GIT_DIR=../.git, core.bare undefined: --is-bare-repository +ok 41 - verifying refs/heads/main's log (logged by touch) -expecting success of 1500.43 'GIT_DIR=../.git, core.bare undefined: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.42 'create refs/heads/main (logged by config)': + test_config core.logAllRefUpdates true && + GIT_COMMITTER_DATE="2005-05-26 23:32" \ + git update-ref HEAD $A -m "Initial Creation" && + test $A = $(git show-ref -s --verify $m) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 42 - create refs/heads/main (logged by config) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 43 - GIT_DIR=../.git, core.bare undefined: --is-inside-git-dir +expecting success of 1400.43 'update refs/heads/main (logged by config)': + test_config core.logAllRefUpdates true && + GIT_COMMITTER_DATE="2005-05-26 23:33" \ + git update-ref HEAD $B $A -m "Switch" && + test $B = $(git show-ref -s --verify $m) -expecting success of 1500.44 'GIT_DIR=../.git, core.bare undefined: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 43 - update refs/heads/main (logged by config) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.44 'set refs/heads/main (logged by config)': + test_config core.logAllRefUpdates true && + GIT_COMMITTER_DATE="2005-05-26 23:43" \ + git update-ref HEAD $A && + test $A = $(git show-ref -s --verify $m) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 44 - GIT_DIR=../.git, core.bare undefined: --is-inside-work-tree +ok 44 - set refs/heads/main (logged by config) -expecting success of 1500.45 'GIT_DIR=../.git, core.bare undefined: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.45 'verifying refs/heads/main's log (logged by config)': + test_when_finished "rm -f .git/$m .git/logs/$m expect" && + test_cmp expect .git/logs/$m - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 45 - verifying refs/heads/main's log (logged by config) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 45 - GIT_DIR=../.git, core.bare undefined: --show-prefix +expecting success of 1400.46 'set up for querying the reflog': + git update-ref $m $D && + cat >.git/logs/$m <<-EOF + $Z $C $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150320 -0500 + $C $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150350 -0500 + $A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150380 -0500 + $F $Z $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150680 -0500 + $Z $E $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150980 -0500 + EOF -expecting success of 1500.46 'GIT_DIR=../repo.git, core.bare = false: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 46 - set up for querying the reflog - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.47 'Query "main@{May 25 2005}" (before history)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{May 25 2005}" >o 2>e && + echo "$C" >expect && + test_cmp expect o && + echo "warning: log for 'main' only goes back to $ed" >expect && + test_i18ncmp expect e - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 46 - GIT_DIR=../repo.git, core.bare = false: --is-bare-repository +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 1500.47 'GIT_DIR=../repo.git, core.bare = false: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +) +prerequisite C_LOCALE_OUTPUT ok +ok 47 - Query "main@{May 25 2005}" (before history) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 47 - GIT_DIR=../repo.git, core.bare = false: --is-inside-git-dir +expecting success of 1400.48 'Query main@{2005-05-25} (before history)': + test_when_finished "rm -f o e" && + git rev-parse --verify main@{2005-05-25} >o 2>e && + echo "$C" >expect && + test_cmp expect o && + echo "warning: log for 'main' only goes back to $ed" >expect && + test_i18ncmp expect e -expecting success of 1500.48 'GIT_DIR=../repo.git, core.bare = false: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 48 - Query main@{2005-05-25} (before history) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.49 'Query "main@{May 26 2005 23:31:59}" (1 second before history)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{May 26 2005 23:31:59}" >o 2>e && + echo "$C" >expect && + test_cmp expect o && + echo "warning: log for 'main' only goes back to $ed" >expect && + test_i18ncmp expect e - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 48 - GIT_DIR=../repo.git, core.bare = false: --is-inside-work-tree +ok 49 - Query "main@{May 26 2005 23:31:59}" (1 second before history) -expecting success of 1500.49 'GIT_DIR=../repo.git, core.bare = false: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.50 'Query "main@{May 26 2005 23:32:00}" (exactly history start)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{May 26 2005 23:32:00}" >o 2>e && + echo "$C" >expect && + test_cmp expect o && + test_must_be_empty e - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 50 - Query "main@{May 26 2005 23:32:00}" (exactly history start) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 49 - GIT_DIR=../repo.git, core.bare = false: --show-prefix +expecting success of 1400.51 'Query "main@{May 26 2005 23:32:30}" (first non-creation change)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{May 26 2005 23:32:30}" >o 2>e && + echo "$A" >expect && + test_cmp expect o && + test_must_be_empty e -expecting success of 1500.50 'GIT_DIR=../repo.git, core.bare = false: --git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 51 - Query "main@{May 26 2005 23:32:30}" (first non-creation change) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.52 'Query "main@{2005-05-26 23:33:01}" (middle of history with gap)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{2005-05-26 23:33:01}" >o 2>e && + echo "$B" >expect && + test_cmp expect o && + test_i18ngrep -F "warning: log for ref $m has gap after $gd" e - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 50 - GIT_DIR=../repo.git, core.bare = false: --git-dir +warning: log for ref refs/heads/main has gap after Thu, 26 May 2005 18:33:00 -0500 +ok 52 - Query "main@{2005-05-26 23:33:01}" (middle of history with gap) -expecting success of 1500.51 'GIT_DIR=../repo.git, core.bare = false: --absolute-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.53 'Query "main@{2005-05-26 23:38:00}" (middle of history)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{2005-05-26 23:38:00}" >o 2>e && + echo "$Z" >expect && + test_cmp expect o && + test_must_be_empty e - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 53 - Query "main@{2005-05-26 23:38:00}" (middle of history) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 51 - GIT_DIR=../repo.git, core.bare = false: --absolute-git-dir +expecting success of 1400.54 'Query "main@{2005-05-26 23:43:00}" (exact end of history)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{2005-05-26 23:43:00}" >o 2>e && + echo "$E" >expect && + test_cmp expect o && + test_must_be_empty e -expecting success of 1500.52 'GIT_DIR=../repo.git, core.bare = true: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 54 - Query "main@{2005-05-26 23:43:00}" (exact end of history) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.55 'Query "main@{2005-05-28}" (past end of history)': + test_when_finished "rm -f o e" && + git rev-parse --verify "main@{2005-05-28}" >o 2>e && + echo "$D" >expect && + test_cmp expect o && + test_i18ngrep -F "warning: log for ref $m unexpectedly ended on $ld" e - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 52 - GIT_DIR=../repo.git, core.bare = true: --is-bare-repository +warning: log for ref refs/heads/main unexpectedly ended on Thu, 26 May 2005 18:43:00 -0500 +ok 55 - Query "main@{2005-05-28}" (past end of history) -expecting success of 1500.53 'GIT_DIR=../repo.git, core.bare = true: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.56 'creating initial files': + test_when_finished rm -f M && + echo TEST >F && + git add F && + GIT_AUTHOR_DATE="2005-05-26 23:30" \ + GIT_COMMITTER_DATE="2005-05-26 23:30" git commit -m add -a && + h_TEST=$(git rev-parse --verify HEAD) && + echo The other day this did not work. >M && + echo And then Bob told me how to fix it. >>M && + echo OTHER >F && + GIT_AUTHOR_DATE="2005-05-26 23:41" \ + GIT_COMMITTER_DATE="2005-05-26 23:41" git commit -F M -a && + h_OTHER=$(git rev-parse --verify HEAD) && + GIT_AUTHOR_DATE="2005-05-26 23:44" \ + GIT_COMMITTER_DATE="2005-05-26 23:44" git commit --amend && + h_FIXED=$(git rev-parse --verify HEAD) && + echo Merged initial commit and a later commit. >M && + echo $h_TEST >.git/MERGE_HEAD && + GIT_AUTHOR_DATE="2005-05-26 23:45" \ + GIT_COMMITTER_DATE="2005-05-26 23:45" git commit -F M && + h_MERGED=$(git rev-parse --verify HEAD) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +[main (root-commit) 0c23f5f] add + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 F + create mode 100644 foo.c +[main d3968db] The other day this did not work. And then Bob told me how to fix it. + Author: A U Thor + 1 file changed, 1 insertion(+), 1 deletion(-) +[main e66de33] The other day this did not work. And then Bob told me how to fix it. + Author: A U Thor + Date: Thu May 26 23:41:00 2005 +0000 + 1 file changed, 1 insertion(+), 1 deletion(-) +[main 29d1ccd] Merged initial commit and a later commit. + Author: A U Thor +ok 56 - creating initial files - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 53 - GIT_DIR=../repo.git, core.bare = true: --is-inside-git-dir +expecting success of 1400.57 'git commit logged updates': + test_cmp expect .git/logs/$m -expecting success of 1500.54 'GIT_DIR=../repo.git, core.bare = true: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 57 - git commit logged updates - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.58 'git cat-file blob main:F (expect OTHER)': + test OTHER = $(git cat-file blob main:F) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 54 - GIT_DIR=../repo.git, core.bare = true: --is-inside-work-tree +ok 58 - git cat-file blob main:F (expect OTHER) -expecting success of 1500.55 'GIT_DIR=../repo.git, core.bare = true: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.59 'git cat-file blob main@{2005-05-26 23:30}:F (expect TEST)': + test TEST = $(git cat-file blob "main@{2005-05-26 23:30}:F") - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 59 - git cat-file blob main@{2005-05-26 23:30}:F (expect TEST) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 55 - GIT_DIR=../repo.git, core.bare = true: --show-prefix +expecting success of 1400.60 'git cat-file blob main@{2005-05-26 23:42}:F (expect OTHER)': + test OTHER = $(git cat-file blob "main@{2005-05-26 23:42}:F") -expecting success of 1500.56 'GIT_DIR=../repo.git, core.bare undefined: --is-bare-repository': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 60 - git cat-file blob main@{2005-05-26 23:42}:F (expect OTHER) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.61 'given old value for missing pseudoref, do not create': + test_must_fail git update-ref PSEUDOREF $A $B 2>err && + test_must_fail git rev-parse PSEUDOREF && + test_i18ngrep "unable to resolve reference" err - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 56 - GIT_DIR=../repo.git, core.bare undefined: --is-bare-repository +fatal: ambiguous argument 'PSEUDOREF': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +PSEUDOREF +fatal: update_ref failed for ref 'PSEUDOREF': cannot lock ref 'PSEUDOREF': unable to resolve reference 'PSEUDOREF' +ok 61 - given old value for missing pseudoref, do not create -expecting success of 1500.57 'GIT_DIR=../repo.git, core.bare undefined: --is-inside-git-dir': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.62 'create pseudoref': + git update-ref PSEUDOREF $A && + test $A = $(git rev-parse PSEUDOREF) - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +ok 62 - create pseudoref - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 57 - GIT_DIR=../repo.git, core.bare undefined: --is-inside-git-dir +expecting success of 1400.63 'overwrite pseudoref with no old value given': + git update-ref PSEUDOREF $B && + test $B = $(git rev-parse PSEUDOREF) -expecting success of 1500.58 'GIT_DIR=../repo.git, core.bare undefined: --is-inside-work-tree': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +ok 63 - overwrite pseudoref with no old value given - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +expecting success of 1400.64 'overwrite pseudoref with correct old value': + git update-ref PSEUDOREF $C $B && + test $C = $(git rev-parse PSEUDOREF) - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 58 - GIT_DIR=../repo.git, core.bare undefined: --is-inside-work-tree +ok 64 - overwrite pseudoref with correct old value -expecting success of 1500.59 'GIT_DIR=../repo.git, core.bare undefined: --show-prefix': - if test -n "$gitdir" - then - test_when_finished "unset GIT_DIR" && - GIT_DIR="$gitdir" && - export GIT_DIR - fi && +expecting success of 1400.65 'do not overwrite pseudoref with wrong old value': + test_must_fail git update-ref PSEUDOREF $D $E 2>err && + test $C = $(git rev-parse PSEUDOREF) && + test_i18ngrep "cannot lock ref.*expected" err - case "$bare" in - t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; - f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; - u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; - esac && +fatal: update_ref failed for ref 'PSEUDOREF': cannot lock ref 'PSEUDOREF': is at 3cceb89b690679aecbe1db39079f99221f1aaaa6 but expected a6166d2809963b1da1148e6922729c21214390c8 +ok 65 - do not overwrite pseudoref with wrong old value - echo "$expect" >expect && - git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && - test_cmp expect actual - -ok 59 - GIT_DIR=../repo.git, core.bare undefined: --show-prefix +expecting success of 1400.66 'delete pseudoref': + git update-ref -d PSEUDOREF && + test_must_fail git rev-parse PSEUDOREF -expecting success of 1500.60 'git-common-dir from worktree root': - echo .git >expect && - git rev-parse --git-common-dir >actual && - test_cmp expect actual +fatal: ambiguous argument 'PSEUDOREF': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +PSEUDOREF +ok 66 - delete pseudoref -ok 60 - git-common-dir from worktree root +expecting success of 1400.67 'do not delete pseudoref with wrong old value': + git update-ref PSEUDOREF $A && + test_must_fail git update-ref -d PSEUDOREF $B 2>err && + test $A = $(git rev-parse PSEUDOREF) && + test_i18ngrep "cannot lock ref.*expected" err -expecting success of 1500.61 'git-common-dir inside sub-dir': - mkdir -p path/to/child && - test_when_finished "rm -rf path" && - echo "$(git -C path/to/child rev-parse --show-cdup).git" >expect && - git -C path/to/child rev-parse --git-common-dir >actual && - test_cmp expect actual +error: cannot lock ref 'PSEUDOREF': is at 102939797ab91a4f201d131418d2c9d919dcdd2c but expected 56d5c1374e8028a1e122ab046ab7b98165342dc4 +ok 67 - do not delete pseudoref with wrong old value -ok 61 - git-common-dir inside sub-dir +expecting success of 1400.68 'delete pseudoref with correct old value': + git update-ref -d PSEUDOREF $A && + test_must_fail git rev-parse PSEUDOREF -expecting success of 1500.62 'git-path from worktree root': - echo .git/objects >expect && - git rev-parse --git-path objects >actual && - test_cmp expect actual +fatal: ambiguous argument 'PSEUDOREF': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +PSEUDOREF +ok 68 - delete pseudoref with correct old value -ok 62 - git-path from worktree root +expecting success of 1400.69 'create pseudoref with old OID zero': + git update-ref PSEUDOREF $A $Z && + test $A = $(git rev-parse PSEUDOREF) -expecting success of 1500.63 'git-path inside sub-dir': - mkdir -p path/to/child && - test_when_finished "rm -rf path" && - echo "$(git -C path/to/child rev-parse --show-cdup).git/objects" >expect && - git -C path/to/child rev-parse --git-path objects >actual && - test_cmp expect actual +ok 69 - create pseudoref with old OID zero -ok 63 - git-path inside sub-dir +expecting success of 1400.70 'do not overwrite pseudoref with old OID zero': + test_when_finished git update-ref -d PSEUDOREF && + test_must_fail git update-ref PSEUDOREF $B $Z 2>err && + test $A = $(git rev-parse PSEUDOREF) && + test_i18ngrep "already exists" err -expecting success of 1500.64 'rev-parse --is-shallow-repository in shallow repo': - test_commit test_commit && - echo true >expect && - git clone --depth 1 --no-local . shallow && - test_when_finished "rm -rf shallow" && - git -C shallow rev-parse --is-shallow-repository >actual && - test_cmp expect actual +fatal: update_ref failed for ref 'PSEUDOREF': cannot lock ref 'PSEUDOREF': reference already exists +ok 70 - do not overwrite pseudoref with old OID zero -[master (root-commit) 389d16e] test_commit +expecting success of 1400.71 'stdin test setup': + echo "$pws" >"$pws" && + git add -- "$pws" && + git commit -m "$pws" + +[main 536da9b] path with space Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 test_commit.t -Cloning into 'shallow'... -ok 64 - rev-parse --is-shallow-repository in shallow repo + create mode 100644 path with space +ok 71 - stdin test setup -expecting success of 1500.65 'rev-parse --is-shallow-repository in non-shallow repo': - echo false >expect && - git rev-parse --is-shallow-repository >actual && - test_cmp expect actual +expecting success of 1400.72 '-z fails without --stdin': + test_must_fail git update-ref -z $m $m $m 2>err && + test_i18ngrep "usage: git update-ref" err -ok 65 - rev-parse --is-shallow-repository in non-shallow repo - -expecting success of 1500.66 'rev-parse --show-object-format in repo': - echo "$(test_oid algo)" >expect && - git rev-parse --show-object-format >actual && - test_cmp expect actual && - git rev-parse --show-object-format=storage >actual && - test_cmp expect actual && - git rev-parse --show-object-format=input >actual && - test_cmp expect actual && - git rev-parse --show-object-format=output >actual && - test_cmp expect actual && - test_must_fail git rev-parse --show-object-format=squeamish-ossifrage 2>err && - grep "unknown mode for --show-object-format: squeamish-ossifrage" err - -fatal: unknown mode for --show-object-format: squeamish-ossifrage -ok 66 - rev-parse --show-object-format in repo - -expecting success of 1500.67 '--show-toplevel from subdir of working tree': - pwd >expect && - git -C sub/dir rev-parse --show-toplevel >actual && - test_cmp expect actual - -ok 67 - --show-toplevel from subdir of working tree - -expecting success of 1500.68 '--show-toplevel from inside .git': - test_must_fail git -C .git rev-parse --show-toplevel - -fatal: this operation must be run in a work tree -ok 68 - --show-toplevel from inside .git - -expecting success of 1500.69 'showing the superproject correctly': - git rev-parse --show-superproject-working-tree >out && - test_must_be_empty out && - - test_create_repo super && - test_commit -C super test_commit && - test_create_repo sub && - test_commit -C sub test_commit && - git -c protocol.file.allow=always \ - -C super submodule add ../sub dir/sub && - echo $(pwd)/super >expect && - git -C super/dir/sub rev-parse --show-superproject-working-tree >out && - test_cmp expect out && - - test_commit -C super submodule_add && - git -C super checkout -b branch1 && - git -C super/dir/sub checkout -b branch1 && - test_commit -C super/dir/sub branch1_commit && - git -C super add dir/sub && - test_commit -C super branch1_commit && - git -C super checkout -b branch2 master && - git -C super/dir/sub checkout -b branch2 master && - test_commit -C super/dir/sub branch2_commit && - git -C super add dir/sub && - test_commit -C super branch2_commit && - test_must_fail git -C super merge branch1 && - - git -C super/dir/sub rev-parse --show-superproject-working-tree >out && - test_cmp expect out - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1500-rev-parse/super/.git/ -[master (root-commit) cbdc642] test_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test_commit.t -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1500-rev-parse/sub/.git/ -[master (root-commit) 2eb1b96] test_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 test_commit.t -Cloning into '/build/git-2.30.2/t/trash directory.t1500-rev-parse/super/dir/sub'... -done. -[master 7cabc11] submodule_add - Author: A U Thor - 3 files changed, 5 insertions(+) - create mode 100644 .gitmodules - create mode 160000 dir/sub - create mode 100644 submodule_add.t -Switched to a new branch 'branch1' -Switched to a new branch 'branch1' -[branch1 2aa4ded] branch1_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 branch1_commit.t -[branch1 7e8b966] branch1_commit - Author: A U Thor - 2 files changed, 2 insertions(+), 1 deletion(-) - create mode 100644 branch1_commit.t -Switched to a new branch 'branch2' -M dir/sub -Switched to a new branch 'branch2' -[branch2 10a2528] branch2_commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 branch2_commit.t -[branch2 8d6224f] branch2_commit - Author: A U Thor - 2 files changed, 2 insertions(+), 1 deletion(-) - create mode 100644 branch2_commit.t -Merging: -8d6224f branch2_commit -virtual branch1 -found 1 common ancestor: -7cabc11 submodule_add -Failed to merge submodule dir/sub (merge following commits not found) -Auto-merging dir/sub -CONFLICT (submodule): Merge conflict in dir/sub -Automatic merge failed; fix conflicts and then commit the result. -ok 69 - showing the superproject correctly - -# passed all 69 test(s) -1..69 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2009-checkout-statinfo.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2009-checkout-statinfo/.git/ -expecting success of 2009.1 'setup': - - echo hello >world && - git update-index --add world && - git commit -m initial && - git branch side && - echo goodbye >world && - git update-index --add world && - git commit -m second - - -[master (root-commit) b8cd0f7] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 world -[master 5892dcd] second - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 1 - setup - -expecting success of 2009.2 'branch switching': - - git reset --hard && - test "$(git diff-files --raw)" = "" && - - git checkout master && - test "$(git diff-files --raw)" = "" && - - git checkout side && - test "$(git diff-files --raw)" = "" && - - git checkout master && - test "$(git diff-files --raw)" = "" - - -HEAD is now at 5892dcd second -Already on 'master' -Switched to branch 'side' -Switched to branch 'master' -ok 2 - branch switching - -expecting success of 2009.3 'path checkout': - - git reset --hard && - test "$(git diff-files --raw)" = "" && - - git checkout master world && - test "$(git diff-files --raw)" = "" && - - git checkout side world && - test "$(git diff-files --raw)" = "" && - - git checkout master world && - test "$(git diff-files --raw)" = "" - - -HEAD is now at 5892dcd second -Updated 0 paths from c356a2a -Updated 1 path from dbd05ee -Updated 1 path from c356a2a -ok 3 - path checkout - -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2008-checkout-subdir.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2008-checkout-subdir/.git/ -expecting success of 2008.1 'setup': - - echo "base" > file0 && - git add file0 && - mkdir dir1 && - echo "hello" > dir1/file1 && - git add dir1/file1 && - mkdir dir2 && - echo "bonjour" > dir2/file2 && - git add dir2/file2 && - test_tick && - git commit -m "populate tree" - - -[master (root-commit) 15793b3] populate tree - Author: A U Thor - 3 files changed, 3 insertions(+) - create mode 100644 dir1/file1 - create mode 100644 dir2/file2 - create mode 100644 file0 -ok 1 - setup - -expecting success of 2008.2 'remove and restore with relative path': - - ( - cd dir1 && - rm ../file0 && - git checkout HEAD -- ../file0 && - test "base" = "$(cat ../file0)" && - rm ../dir2/file2 && - git checkout HEAD -- ../dir2/file2 && - test "bonjour" = "$(cat ../dir2/file2)" && - rm ../file0 ./file1 && - git checkout HEAD -- .. && - test "base" = "$(cat ../file0)" && - test "hello" = "$(cat file1)" - ) - - -ok 2 - remove and restore with relative path - -expecting success of 2008.3 'checkout with empty prefix': - - rm file0 && - git checkout HEAD -- file0 && - test "base" = "$(cat file0)" - - -ok 3 - checkout with empty prefix - -expecting success of 2008.4 'checkout with simple prefix': - - rm dir1/file1 && - git checkout HEAD -- dir1 && - test "hello" = "$(cat dir1/file1)" && - rm dir1/file1 && - git checkout HEAD -- dir1/file1 && - test "hello" = "$(cat dir1/file1)" - - -ok 4 - checkout with simple prefix - -expecting success of 2008.5 'checkout with complex relative path': - ( - cd dir1 && - rm file1 && - git checkout HEAD -- ../dir1/../dir1/file1 && - test "hello" = "$(cat file1)" - ) - -ok 5 - checkout with complex relative path - -expecting success of 2008.6 'relative path outside tree should fail': test_must_fail git checkout HEAD -- ../../Makefile -fatal: ../../Makefile: '../../Makefile' is outside repository at '/build/git-2.30.2/t/trash directory.t2008-checkout-subdir' -ok 6 - relative path outside tree should fail - -expecting success of 2008.7 'incorrect relative path to file should fail (1)': test_must_fail git checkout HEAD -- ../file0 -fatal: ../file0: '../file0' is outside repository at '/build/git-2.30.2/t/trash directory.t2008-checkout-subdir' -ok 7 - incorrect relative path to file should fail (1) - -expecting success of 2008.8 'incorrect relative path should fail (2)': ( cd dir1 && test_must_fail git checkout HEAD -- ./file0 ) -error: pathspec './file0' did not match any file(s) known to git -ok 8 - incorrect relative path should fail (2) - -expecting success of 2008.9 'incorrect relative path should fail (3)': ( cd dir1 && test_must_fail git checkout HEAD -- ../../file0 ) -fatal: ../../file0: '../../file0' is outside repository at '/build/git-2.30.2/t/trash directory.t2008-checkout-subdir' -ok 9 - incorrect relative path should fail (3) - -# passed all 9 test(s) -1..9 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2004-checkout-cache-temp.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2004-checkout-cache-temp/.git/ -expecting success of 2004.1 'setup': - mkdir asubdir && - echo tree1path0 >path0 && - echo tree1path1 >path1 && - echo tree1path3 >path3 && - echo tree1path4 >path4 && - echo tree1asubdir/path5 >asubdir/path5 && - git update-index --add path0 path1 path3 path4 asubdir/path5 && - t1=$(git write-tree) && - rm -f path* .merge_* actual .git/index && - echo tree2path0 >path0 && - echo tree2path1 >path1 && - echo tree2path2 >path2 && - echo tree2path4 >path4 && - git update-index --add path0 path1 path2 path4 && - t2=$(git write-tree) && - rm -f path* .merge_* actual .git/index && - echo tree2path0 >path0 && - echo tree3path1 >path1 && - echo tree3path2 >path2 && - echo tree3path3 >path3 && - git update-index --add path0 path1 path2 path3 && - t3=$(git write-tree) - -ok 1 - setup - -expecting success of 2004.2 'checkout one stage 0 to temporary file': - rm -f path* .merge_* actual .git/index && - git read-tree $t1 && - git checkout-index --temp -- path1 >actual && - test_line_count = 1 actual && - test $(cut "-d " -f2 actual) = path1 && - p=$(cut "-d " -f1 actual) && - test -f $p && - test $(cat $p) = tree1path1 - -ok 2 - checkout one stage 0 to temporary file - -expecting success of 2004.3 'checkout all stage 0 to temporary files': - rm -f path* .merge_* actual .git/index && - git read-tree $t1 && - git checkout-index -a --temp >actual && - test_line_count = 5 actual && - for f in path0 path1 path3 path4 asubdir/path5 - do - test $(grep $f actual | cut "-d " -f2) = $f && - p=$(grep $f actual | cut "-d " -f1) && - test -f $p && - test $(cat $p) = tree1$f - done - -ok 3 - checkout all stage 0 to temporary files - -expecting success of 2004.4 'setup 3-way merge': - rm -f path* .merge_* actual .git/index && - git read-tree -m $t1 $t2 $t3 - -ok 4 - setup 3-way merge - -expecting success of 2004.5 'checkout one stage 2 to temporary file': - rm -f path* .merge_* actual && - git checkout-index --stage=2 --temp -- path1 >actual && - test_line_count = 1 actual && - test $(cut "-d " -f2 actual) = path1 && - p=$(cut "-d " -f1 actual) && - test -f $p && - test $(cat $p) = tree2path1 - -ok 5 - checkout one stage 2 to temporary file - -expecting success of 2004.6 'checkout all stage 2 to temporary files': - rm -f path* .merge_* actual && - git checkout-index --all --stage=2 --temp >actual && - test_line_count = 3 actual && - for f in path1 path2 path4 - do - test $(grep $f actual | cut "-d " -f2) = $f && - p=$(grep $f actual | cut "-d " -f1) && - test -f $p && - test $(cat $p) = tree2$f - done - -ok 6 - checkout all stage 2 to temporary files - -expecting success of 2004.7 'checkout all stages of unknown path': - rm -f path* .merge_* actual && - test_must_fail git checkout-index --stage=all --temp \ - -- does-not-exist 2>stderr && - test_i18ngrep not.in.the.cache stderr - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -git checkout-index: does-not-exist is not in the cache -ok 7 - checkout all stages of unknown path - -expecting success of 2004.8 'checkout all stages/one file to nothing': - rm -f path* .merge_* actual && - git checkout-index --stage=all --temp -- path0 >actual 2>stderr && - test_must_be_empty stderr && - test_line_count = 0 actual - -ok 8 - checkout all stages/one file to nothing - -expecting success of 2004.9 'checkout all stages/one file to temporary files': - rm -f path* .merge_* actual && - git checkout-index --stage=all --temp -- path1 >actual && - test_line_count = 1 actual && - test $(cut "-d " -f2 actual) = path1 && - cut "-d " -f1 actual | (read s1 s2 s3 && - test -f $s1 && - test -f $s2 && - test -f $s3 && - test $(cat $s1) = tree1path1 && - test $(cat $s2) = tree2path1 && - test $(cat $s3) = tree3path1) - -ok 9 - checkout all stages/one file to temporary files - -expecting success of 2004.10 'checkout some stages/one file to temporary files': - rm -f path* .merge_* actual && - git checkout-index --stage=all --temp -- path2 >actual && - test_line_count = 1 actual && - test $(cut "-d " -f2 actual) = path2 && - cut "-d " -f1 actual | (read s1 s2 s3 && - test $s1 = . && - test -f $s2 && - test -f $s3 && - test $(cat $s2) = tree2path2 && - test $(cat $s3) = tree3path2) - -ok 10 - checkout some stages/one file to temporary files - -expecting success of 2004.11 'checkout all stages/all files to temporary files': - rm -f path* .merge_* actual && - git checkout-index -a --stage=all --temp >actual && - test_line_count = 5 actual - -ok 11 - checkout all stages/all files to temporary files - -expecting success of 2004.12 '-- path0: no entry': - test x$(grep path0 actual | cut "-d " -f2) = x - -ok 12 - -- path0: no entry - -expecting success of 2004.13 '-- path1: all 3 stages': - test $(grep path1 actual | cut "-d " -f2) = path1 && - grep path1 actual | cut "-d " -f1 | (read s1 s2 s3 && - test -f $s1 && - test -f $s2 && - test -f $s3 && - test $(cat $s1) = tree1path1 && - test $(cat $s2) = tree2path1 && - test $(cat $s3) = tree3path1) - -ok 13 - -- path1: all 3 stages - -expecting success of 2004.14 '-- path2: no stage 1, have stage 2 and 3': - test $(grep path2 actual | cut "-d " -f2) = path2 && - grep path2 actual | cut "-d " -f1 | (read s1 s2 s3 && - test $s1 = . && - test -f $s2 && - test -f $s3 && - test $(cat $s2) = tree2path2 && - test $(cat $s3) = tree3path2) - -ok 14 - -- path2: no stage 1, have stage 2 and 3 - -expecting success of 2004.15 '-- path3: no stage 2, have stage 1 and 3': - test $(grep path3 actual | cut "-d " -f2) = path3 && - grep path3 actual | cut "-d " -f1 | (read s1 s2 s3 && - test -f $s1 && - test $s2 = . && - test -f $s3 && - test $(cat $s1) = tree1path3 && - test $(cat $s3) = tree3path3) - -ok 15 - -- path3: no stage 2, have stage 1 and 3 - -expecting success of 2004.16 '-- path4: no stage 3, have stage 1 and 3': - test $(grep path4 actual | cut "-d " -f2) = path4 && - grep path4 actual | cut "-d " -f1 | (read s1 s2 s3 && - test -f $s1 && - test -f $s2 && - test $s3 = . && - test $(cat $s1) = tree1path4 && - test $(cat $s2) = tree2path4) - -ok 16 - -- path4: no stage 3, have stage 1 and 3 - -expecting success of 2004.17 '-- asubdir/path5: no stage 2 and 3 have stage 1': - test $(grep asubdir/path5 actual | cut "-d " -f2) = asubdir/path5 && - grep asubdir/path5 actual | cut "-d " -f1 | (read s1 s2 s3 && - test -f $s1 && - test $s2 = . && - test $s3 = . && - test $(cat $s1) = tree1asubdir/path5) - -ok 17 - -- asubdir/path5: no stage 2 and 3 have stage 1 - -expecting success of 2004.18 'checkout --temp within subdir': - ( - cd asubdir && - git checkout-index -a --stage=all >actual && - test_line_count = 1 actual && - test $(grep path5 actual | cut "-d " -f2) = path5 && - grep path5 actual | cut "-d " -f1 | (read s1 s2 s3 && - test -f ../$s1 && - test $s2 = . && - test $s3 = . && - test $(cat ../$s1) = tree1asubdir/path5) - ) - -ok 18 - checkout --temp within subdir - -expecting success of 2004.19 'checkout --temp symlink': - rm -f path* .merge_* actual .git/index && - test_ln_s_add path7 path6 && - git checkout-index --temp -a >actual && - test_line_count = 1 actual && - test $(cut "-d " -f2 actual) = path6 && - p=$(cut "-d " -f1 actual) && - test -f $p && - test $(cat $p) = path7 - -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -ok 19 - checkout --temp symlink - -expecting success of 2004.20 'emit well-formed relative path': - rm -f path* .merge_* actual .git/index && - >path0123456789 && - git update-index --add path0123456789 && - ( - cd asubdir && - git checkout-index --temp -- ../path0123456789 >actual && - test_line_count = 1 actual && - test $(cut "-d " -f2 actual) = ../path0123456789 - ) - -ok 20 - emit well-formed relative path - -# passed all 20 test(s) -1..20 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2010-checkout-ambiguous.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2010-checkout-ambiguous/.git/ -expecting success of 2010.1 'setup': - echo hello >world && - echo hello >all && - git add all world && - git commit -m initial && - git branch world - -[master (root-commit) c5e2eee] initial - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 all - create mode 100644 world -ok 1 - setup - -expecting success of 2010.2 'reference must be a tree': - test_must_fail git checkout $(git hash-object ./all) -- - -fatal: reference is not a tree: ce013625030ba8dba906f756967f9e9ca394464a -ok 2 - reference must be a tree - -expecting success of 2010.3 'branch switching': - test "refs/heads/master" = "$(git symbolic-ref HEAD)" && - git checkout world -- && - test "refs/heads/world" = "$(git symbolic-ref HEAD)" - -Switched to branch 'world' -ok 3 - branch switching - -expecting success of 2010.4 'checkout world from the index': - echo bye > world && - git checkout -- world && - git diff --exit-code --quiet - -ok 4 - checkout world from the index - -expecting success of 2010.5 'non ambiguous call': - git checkout all - -Updated 0 paths from the index -ok 5 - non ambiguous call - -expecting success of 2010.6 'allow the most common case': - git checkout world && - test "refs/heads/world" = "$(git symbolic-ref HEAD)" - -Already on 'world' -ok 6 - allow the most common case - -expecting success of 2010.7 'check ambiguity': - test_must_fail git checkout world all - -fatal: ambiguous argument 'world': both revision and filename -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -ok 7 - check ambiguity - -expecting success of 2010.8 'check ambiguity in subdir': - mkdir sub && - # not ambiguous because sub/world does not exist - git -C sub checkout world ../all && - echo hello >sub/world && - # ambiguous because sub/world does exist - test_must_fail git -C sub checkout world ../all - -Updated 0 paths from dd4e7a7 -fatal: ambiguous argument 'world': both revision and filename -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -ok 8 - check ambiguity in subdir - -expecting success of 2010.9 'disambiguate checking out from a tree-ish': - echo bye > world && - git checkout world -- world && - git diff --exit-code --quiet - -ok 9 - disambiguate checking out from a tree-ish - -expecting success of 2010.10 'accurate error message with more than one ref': - test_must_fail git checkout HEAD master -- 2>actual && - test_i18ngrep 2 actual && - test_i18ngrep "one reference expected, 2 given" actual - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -fatal: only one reference expected, 2 given. -fatal: only one reference expected, 2 given. -ok 10 - accurate error message with more than one ref - -# passed all 10 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2014-checkout-switch.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2014-checkout-switch/.git/ -expecting success of 2014.1 'setup': - echo Hello >file && - git add file && - test_tick && - git commit -m V1 && - echo Hello world >file && - git add file && - git checkout -b other - -[master (root-commit) 68a43dc] V1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file -Switched to a new branch 'other' -ok 1 - setup - -expecting success of 2014.2 'check all changes are staged': - git diff --exit-code - -ok 2 - check all changes are staged - -expecting success of 2014.3 'second commit': - git commit -m V2 - -[other c55967b] V2 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 3 - second commit - -expecting success of 2014.4 'check': - git diff --cached --exit-code - -ok 4 - check - -# passed all 4 test(s) -1..4 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2011-checkout-invalid-head.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2011-checkout-invalid-head/.git/ -expecting success of 2011.1 'setup': - echo hello >world && - git add world && - git commit -m initial - -[master (root-commit) b8cd0f7] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 world -ok 1 - setup - -expecting success of 2011.2 'checkout should not start branch from a tree': - test_must_fail git checkout -b newbranch master^{tree} - -fatal: Cannot switch branch to a non-commit 'master^{tree}' -ok 2 - checkout should not start branch from a tree - -expecting success of 2011.3 'checkout master from invalid HEAD': - echo $ZERO_OID >.git/HEAD && - git checkout master -- - -Switched to branch 'master' -ok 3 - checkout master from invalid HEAD - -expecting success of 2011.4 'checkout notices failure to lock HEAD': - test_when_finished "rm -f .git/HEAD.lock" && - >.git/HEAD.lock && - test_must_fail git checkout -b other - -error: Unable to create '/build/git-2.30.2/t/trash directory.t2011-checkout-invalid-head/.git/HEAD.lock': File exists. - -Another git process seems to be running in this repository, e.g. -an editor opened by 'git commit'. Please make sure all processes -are terminated then try again. If it still fails, a git process -may have crashed in this repository earlier: -remove the file manually to continue. -fatal: unable to update HEAD -ok 4 - checkout notices failure to lock HEAD - -expecting success of 2011.5 'create ref directory/file conflict scenario': - git update-ref refs/heads/outer/inner master && - - # do not rely on symbolic-ref to get a known state, - # as it may use the same code we are testing - reset_to_df () { - echo "ref: refs/heads/outer" >.git/HEAD - } - -ok 5 - create ref directory/file conflict scenario - -expecting success of 2011.6 'checkout away from d/f HEAD (unpacked, to branch)': - reset_to_df && - git checkout master - -Switched to branch 'master' -ok 6 - checkout away from d/f HEAD (unpacked, to branch) - -expecting success of 2011.7 'checkout away from d/f HEAD (unpacked, to detached)': - reset_to_df && - git checkout --detach master - -HEAD is now at b8cd0f7 initial -ok 7 - checkout away from d/f HEAD (unpacked, to detached) - -expecting success of 2011.8 'pack refs': - git pack-refs --all --prune - -ok 8 - pack refs - -expecting success of 2011.9 'checkout away from d/f HEAD (packed, to branch)': - reset_to_df && - git checkout master - -Switched to branch 'master' -ok 9 - checkout away from d/f HEAD (packed, to branch) - -expecting success of 2011.10 'checkout away from d/f HEAD (packed, to detached)': - reset_to_df && - git checkout --detach master - -HEAD is now at b8cd0f7 initial -ok 10 - checkout away from d/f HEAD (packed, to detached) - -# passed all 10 test(s) -1..10 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2015-checkout-unborn.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2015-checkout-unborn/.git/ -expecting success of 2015.1 'setup': - mkdir parent && - (cd parent && - git init && - echo content >file && - git add file && - git commit -m base - ) && - git fetch parent master:origin - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2015-checkout-unborn/parent/.git/ -[master (root-commit) 5d770fe] base - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file -From parent - * [new branch] master -> origin -ok 1 - setup - -expecting success of 2015.2 'checkout from unborn preserves untracked files': - echo precious >expect && - echo precious >file && - test_must_fail git checkout -b new origin && - test_cmp expect file - -error: The following untracked working tree files would be overwritten by checkout: - file -Please move or remove them before you switch branches. -Aborting -ok 2 - checkout from unborn preserves untracked files - -expecting success of 2015.3 'checkout from unborn preserves index contents': - echo precious >expect && - echo precious >file && - git add file && - test_must_fail git checkout -b new origin && - test_cmp expect file && - git show :file >file && - test_cmp expect file - -error: Your local changes to the following files would be overwritten by checkout: - file -Please commit your changes or stash them before you switch branches. -Aborting -ok 3 - checkout from unborn preserves index contents - -expecting success of 2015.4 'checkout from unborn merges identical index contents': - echo content >file && - git add file && - git checkout -b new origin - -Switched to a new branch 'new' -ok 4 - checkout from unborn merges identical index contents - -expecting success of 2015.5 'checking out another branch from unborn state': - git checkout --orphan newroot && - git checkout -b anothername && - test_must_fail git show-ref --verify refs/heads/newroot && - git symbolic-ref HEAD >actual && - echo refs/heads/anothername >expect && - test_cmp expect actual - -Switched to a new branch 'newroot' -Switched to a new branch 'anothername' -fatal: 'refs/heads/newroot' - not a valid ref -ok 5 - checking out another branch from unborn state - -expecting success of 2015.6 'checking out in a newly created repo': - test_create_repo empty && - ( - cd empty && - git symbolic-ref HEAD >expect && - test_must_fail git checkout && - git symbolic-ref HEAD >actual && - test_cmp expect actual - ) - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2015-checkout-unborn/empty/.git/ -fatal: You are on a branch yet to be born -ok 6 - checking out in a newly created repo - -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2019-checkout-ambiguous-ref.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2019-checkout-ambiguous-ref/.git/ -expecting success of 2019.1 'setup ambiguous refs': - test_commit branch file && - git branch ambiguity && - git branch vagueness && - test_commit tag file && - git tag ambiguity && - git tag vagueness HEAD:file && - test_commit other file - -[master (root-commit) c291a6e] branch - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file -[master a40f7cf] tag - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -[master 3b61e26] other - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 1 - setup ambiguous refs - -expecting success of 2019.2 'checkout ambiguous ref succeeds': - git checkout ambiguity >stdout 2>stderr - -ok 2 - checkout ambiguous ref succeeds - -expecting success of 2019.3 'checkout produces ambiguity warning': - grep "warning.*ambiguous" stderr - -warning: refname 'ambiguity' is ambiguous. -ok 3 - checkout produces ambiguity warning - -expecting success of 2019.4 'checkout chooses branch over tag': - echo refs/heads/ambiguity >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual && - echo branch >expect && - test_cmp expect file - -ok 4 - checkout chooses branch over tag - -expecting success of 2019.5 'checkout reports switch to branch': - test_i18ngrep "Switched to branch" stderr && - test_i18ngrep ! "^HEAD is now at" stderr - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -Switched to branch 'ambiguity' -ok 5 - checkout reports switch to branch - -expecting success of 2019.6 'checkout vague ref succeeds': - git checkout vagueness >stdout 2>stderr && - test_set_prereq VAGUENESS_SUCCESS - -ok 6 - checkout vague ref succeeds - -expecting success of 2019.7 'checkout produces ambiguity warning': - grep "warning.*ambiguous" stderr - -warning: refname 'vagueness' is ambiguous. -ok 7 - checkout produces ambiguity warning - -expecting success of 2019.8 'checkout chooses branch over tag': - echo refs/heads/vagueness >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual && - echo branch >expect && - test_cmp expect file - -ok 8 - checkout chooses branch over tag - -expecting success of 2019.9 'checkout reports switch to branch': - test_i18ngrep "Switched to branch" stderr && - test_i18ngrep ! "^HEAD is now at" stderr - -Switched to branch 'vagueness' -ok 9 - checkout reports switch to branch - -# passed all 9 test(s) -1..9 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2021-checkout-overwrite.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2021-checkout-overwrite/.git/ -expecting success of 2021.1 'setup': - - mkdir -p a/b/c && - >a/b/c/d && - git add -A && - git commit -m base && - git tag start - -[master (root-commit) 6ef9cb1] base - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 a/b/c/d -ok 1 - setup - -expecting success of 2021.2 'create a commit where dir a/b changed to file': - - git checkout -b file && - rm -rf a/b && - >a/b && - git add -A && - git commit -m "dir to file" - -Switched to a new branch 'file' -[file ef05f50] dir to file - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - rename a/{b/c/d => b} (100%) -ok 2 - create a commit where dir a/b changed to file - -expecting success of 2021.3 'checkout commit with dir must not remove untracked a/b': - - git rm --cached a/b && - git commit -m "un-track the file" && - test_must_fail git checkout start && - test -f a/b - -rm 'a/b' -[file 1d595a3] un-track the file - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - delete mode 100644 a/b -error: The following untracked working tree files would be overwritten by checkout: - a/b -Please move or remove them before you switch branches. -Aborting -ok 3 - checkout commit with dir must not remove untracked a/b - -expecting success of 2021.4 'create a commit where dir a/b changed to symlink': - - rm -rf a/b && # cleanup if previous test failed - git checkout -f -b symlink start && - rm -rf a/b && - git add -A && - test_ln_s_add foo a/b && - git commit -m "dir to symlink" - -Switched to a new branch 'symlink' -checking prerequisite: SYMLINKS - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y - -) -prerequisite SYMLINKS ok -[symlink 6de6f3e] dir to symlink - Author: A U Thor - 2 files changed, 1 insertion(+) - create mode 120000 a/b - delete mode 100644 a/b/c/d -ok 4 - create a commit where dir a/b changed to symlink - -expecting success of 2021.5 'checkout commit with dir must not remove untracked a/b': - - git rm --cached a/b && - git commit -m "un-track the symlink" && - test_must_fail git checkout start - -rm 'a/b' -[symlink 43da882] un-track the symlink - Author: A U Thor - 1 file changed, 1 deletion(-) - delete mode 120000 a/b -error: The following untracked working tree files would be overwritten by checkout: - a/b -Please move or remove them before you switch branches. -Aborting -ok 5 - checkout commit with dir must not remove untracked a/b - -expecting success of 2021.6 'the symlink remained': - - test -h a/b - -ok 6 - the symlink remained - -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1700-split-index.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/.git/ -expecting success of 1700.1 'setup': - test_oid_cache <<-EOF - own_v3 sha1:8299b0bcd1ac364e5f1d7768efb62fa2da79a339 - own_v3 sha256:38a6d2925e3eceec33ad7b34cbff4e0086caa0daf28f31e51f5bd94b4a7af86b - - base_v3 sha1:39d890139ee5356c7ef572216cebcd27aa41f9df - base_v3 sha256:c9baeadf905112bf6c17aefbd7d02267afd70ded613c30cafed2d40cb506e1ed - - own_v4 sha1:432ef4b63f32193984f339431fd50ca796493569 - own_v4 sha256:6738ac6319c25b694afa7bcc313deb182d1a59b68bf7a47b4296de83478c0420 - - base_v4 sha1:508851a7f0dfa8691e9f69c7f055865389012491 - base_v4 sha256:3177d4adfdd4b6904f7e921d91d715a471c0dde7cf6a4bba574927f02b699508 - EOF - -ok 1 - setup - -expecting success of 1700.2 'enable split index': - git config splitIndex.maxPercentChange 100 && - git update-index --split-index && - test-tool dump-split-index .git/index >actual && - indexversion=$(test-tool index-version <.git/index) && - - # NEEDSWORK: Stop hard-coding checksums. - if test "$indexversion" = "4" - then - own=$(test_oid own_v4) - base=$(test_oid base_v4) - else - own=$(test_oid own_v3) - base=$(test_oid base_v3) - fi && - - cat >expect <<-EOF && - own $own - base $base - replacements: - deletions: - EOF - test_cmp expect actual - -ok 2 - enable split index - -expecting success of 1700.3 'add one file': - create_non_racy_file one && - git update-index --add one && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - base $base - 100644 $EMPTY_BLOB 0 one - replacements: - deletions: - EOF - test_cmp expect actual - -ok 3 - add one file - -expecting success of 1700.4 'disable split index': - git update-index --no-split-index && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - EOF - test_cmp ls-files.expect ls-files.actual && - - BASE=$(test-tool dump-split-index .git/index | sed -n "s/^own/base/p") && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - not a split index - EOF - test_cmp expect actual - -ok 4 - disable split index - -expecting success of 1700.5 'enable split index again, "one" now belongs to base index"': - git update-index --split-index && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: - EOF - test_cmp expect actual - -ok 5 - enable split index again, "one" now belongs to base index" - -expecting success of 1700.6 'modify original file, base index untouched': - echo modified | create_non_racy_file one && - file1_blob=$(git hash-object one) && - git update-index one && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $file1_blob 0 one - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - q_to_tab >expect <<-EOF && - $BASE - 100644 $file1_blob 0Q - replacements: 0 - deletions: - EOF - test_cmp expect actual - -ok 6 - modify original file, base index untouched - -expecting success of 1700.7 'add another file, which stays index': - create_non_racy_file two && - git update-index --add two && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $file1_blob 0 one - 100644 $EMPTY_BLOB 0 two - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - q_to_tab >expect <<-EOF && - $BASE - 100644 $file1_blob 0Q - 100644 $EMPTY_BLOB 0 two - replacements: 0 - deletions: - EOF - test_cmp expect actual - -ok 7 - add another file, which stays index - -expecting success of 1700.8 'remove file not in base index': - git update-index --force-remove two && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $file1_blob 0 one - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - q_to_tab >expect <<-EOF && - $BASE - 100644 $file1_blob 0Q - replacements: 0 - deletions: - EOF - test_cmp expect actual - -ok 8 - remove file not in base index - -expecting success of 1700.9 'remove file in base index': - git update-index --force-remove one && - git ls-files --stage >ls-files.actual && - test_must_be_empty ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: 0 - EOF - test_cmp expect actual - -ok 9 - remove file in base index - -expecting success of 1700.10 'add original file back': - create_non_racy_file one && - git update-index --add one && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - 100644 $EMPTY_BLOB 0 one - replacements: - deletions: 0 - EOF - test_cmp expect actual - -ok 10 - add original file back - -expecting success of 1700.11 'add new file': - create_non_racy_file two && - git update-index --add two && - git ls-files --stage >actual && - cat >expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - 100644 $EMPTY_BLOB 0 two - EOF - test_cmp expect actual - -ok 11 - add new file - -expecting success of 1700.12 'unify index, two files remain': - git update-index --no-split-index && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - 100644 $EMPTY_BLOB 0 two - EOF - test_cmp ls-files.expect ls-files.actual && - - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - not a split index - EOF - test_cmp expect actual - -ok 12 - unify index, two files remain - -expecting success of 1700.13 'rev-parse --shared-index-path': - test_create_repo split-index && - ( - cd split-index && - git update-index --split-index && - echo .git/sharedindex* >expect && - git rev-parse --shared-index-path >actual && - test_cmp expect actual && - mkdir subdirectory && - cd subdirectory && - echo ../.git/sharedindex* >expect && - git rev-parse --shared-index-path >actual && - test_cmp expect actual - ) - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/split-index/.git/ -ok 13 - rev-parse --shared-index-path - -expecting success of 1700.14 'set core.splitIndex config variable to true': - git config core.splitIndex true && - create_non_racy_file three && - git update-index --add three && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - 100644 $EMPTY_BLOB 0 three - 100644 $EMPTY_BLOB 0 two - EOF - test_cmp ls-files.expect ls-files.actual && - BASE=$(test-tool dump-split-index .git/index | grep "^base") && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: - EOF - test_cmp expect actual - -ok 14 - set core.splitIndex config variable to true - -expecting success of 1700.15 'set core.splitIndex config variable to false': - git config core.splitIndex false && - git update-index --force-remove three && - git ls-files --stage >ls-files.actual && - cat >ls-files.expect <<-EOF && - 100644 $EMPTY_BLOB 0 one - 100644 $EMPTY_BLOB 0 two - EOF - test_cmp ls-files.expect ls-files.actual && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - not a split index - EOF - test_cmp expect actual - -ok 15 - set core.splitIndex config variable to false - -expecting success of 1700.16 'set core.splitIndex config variable back to true': - git config core.splitIndex true && - create_non_racy_file three && - git update-index --add three && - BASE=$(test-tool dump-split-index .git/index | grep "^base") && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: - EOF - test_cmp expect actual && - create_non_racy_file four && - git update-index --add four && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - 100644 $EMPTY_BLOB 0 four - replacements: - deletions: - EOF - test_cmp expect actual - -ok 16 - set core.splitIndex config variable back to true - -expecting success of 1700.17 'check behavior with splitIndex.maxPercentChange unset': - git config --unset splitIndex.maxPercentChange && - create_non_racy_file five && - git update-index --add five && - BASE=$(test-tool dump-split-index .git/index | grep "^base") && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: - EOF - test_cmp expect actual && - create_non_racy_file six && - git update-index --add six && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - 100644 $EMPTY_BLOB 0 six - replacements: - deletions: - EOF - test_cmp expect actual - -ok 17 - check behavior with splitIndex.maxPercentChange unset - -expecting success of 1700.18 'check splitIndex.maxPercentChange set to 0': - git config splitIndex.maxPercentChange 0 && - create_non_racy_file seven && - git update-index --add seven && - BASE=$(test-tool dump-split-index .git/index | grep "^base") && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: - EOF - test_cmp expect actual && - create_non_racy_file eight && - git update-index --add eight && - BASE=$(test-tool dump-split-index .git/index | grep "^base") && - test-tool dump-split-index .git/index | sed "/^own/d" >actual && - cat >expect <<-EOF && - $BASE - replacements: - deletions: - EOF - test_cmp expect actual - -ok 18 - check splitIndex.maxPercentChange set to 0 - -expecting success of 1700.19 'shared index files expire after 2 weeks by default': - create_non_racy_file ten && - git update-index --add ten && - test $(ls .git/sharedindex.* | wc -l) -gt 2 && - just_under_2_weeks_ago=$((5-14*86400)) && - test-tool chmtime =$just_under_2_weeks_ago .git/sharedindex.* && - create_non_racy_file eleven && - git update-index --add eleven && - test $(ls .git/sharedindex.* | wc -l) -gt 2 && - just_over_2_weeks_ago=$((-1-14*86400)) && - test-tool chmtime =$just_over_2_weeks_ago .git/sharedindex.* && - create_non_racy_file twelve && - git update-index --add twelve && - test $(ls .git/sharedindex.* | wc -l) -le 2 - -ok 19 - shared index files expire after 2 weeks by default - -expecting success of 1700.20 'check splitIndex.sharedIndexExpire set to 16 days': - git config splitIndex.sharedIndexExpire "16.days.ago" && - test-tool chmtime =$just_over_2_weeks_ago .git/sharedindex.* && - create_non_racy_file thirteen && - git update-index --add thirteen && - test $(ls .git/sharedindex.* | wc -l) -gt 2 && - just_over_16_days_ago=$((-1-16*86400)) && - test-tool chmtime =$just_over_16_days_ago .git/sharedindex.* && - create_non_racy_file fourteen && - git update-index --add fourteen && - test $(ls .git/sharedindex.* | wc -l) -le 2 - -ok 20 - check splitIndex.sharedIndexExpire set to 16 days - -expecting success of 1700.21 'check splitIndex.sharedIndexExpire set to "never" and "now"': - git config splitIndex.sharedIndexExpire never && - just_10_years_ago=$((-365*10*86400)) && - test-tool chmtime =$just_10_years_ago .git/sharedindex.* && - create_non_racy_file fifteen && - git update-index --add fifteen && - test $(ls .git/sharedindex.* | wc -l) -gt 2 && - git config splitIndex.sharedIndexExpire now && - just_1_second_ago=-1 && - test-tool chmtime =$just_1_second_ago .git/sharedindex.* && - create_non_racy_file sixteen && - git update-index --add sixteen && - test $(ls .git/sharedindex.* | wc -l) -le 2 - -ok 21 - check splitIndex.sharedIndexExpire set to "never" and "now" - -expecting success of 1700.22 'same mode for index & split index': - git init same-mode && - ( - cd same-mode && - test_commit A && - test_modebits .git/index >index_mode && - test_must_fail git config core.sharedRepository && - git -c core.splitIndex=true status && - shared=$(ls .git/sharedindex.*) && - case "$shared" in - *" "*) - # we have more than one??? - false ;; - *) - test_modebits "$shared" >split_index_mode && - test_cmp index_mode split_index_mode ;; - esac - ) - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/same-mode/.git/ -[master (root-commit) 0ddfaf1] A - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 A.t -On branch master -Untracked files: - (use "git add ..." to include in what will be committed) - index_mode - -nothing added to commit but untracked files present (use "git add" to track) -ok 22 - same mode for index & split index - -expecting success of 1700.23 'split index respects core.sharedrepository 0666': - # Remove existing shared index files - git config core.splitIndex false && - git update-index --force-remove one && - rm -f .git/sharedindex.* && - # Create one new shared index file - git config core.sharedrepository "$mode" && - git config core.splitIndex true && - create_non_racy_file one && - git update-index --add one && - echo "$modebits" >expect && - test_modebits .git/index >actual && - test_cmp expect actual && - shared=$(ls .git/sharedindex.*) && - case "$shared" in - *" "*) - # we have more than one??? - false ;; - *) - test_modebits "$shared" >actual && - test_cmp expect actual ;; - esac - -ok 23 - split index respects core.sharedrepository 0666 - -expecting success of 1700.24 'split index respects core.sharedrepository 0642': - # Remove existing shared index files - git config core.splitIndex false && - git update-index --force-remove one && - rm -f .git/sharedindex.* && - # Create one new shared index file - git config core.sharedrepository "$mode" && - git config core.splitIndex true && - create_non_racy_file one && - git update-index --add one && - echo "$modebits" >expect && - test_modebits .git/index >actual && - test_cmp expect actual && - shared=$(ls .git/sharedindex.*) && - case "$shared" in - *" "*) - # we have more than one??? - false ;; - *) - test_modebits "$shared" >actual && - test_cmp expect actual ;; - esac - -ok 24 - split index respects core.sharedrepository 0642 - -checking prerequisite: SANITY - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SANITY" && - mkdir SANETESTD.1 SANETESTD.2 && - - chmod +w SANETESTD.1 SANETESTD.2 && - >SANETESTD.1/x 2>SANETESTD.2/x && - chmod -w SANETESTD.1 && - chmod -r SANETESTD.1/x && - chmod -rx SANETESTD.2 || - BUG "cannot prepare SANETESTD" - - ! test -r SANETESTD.1/x && - ! rm SANETESTD.1/x && ! test -f SANETESTD.2/x - status=$? - - chmod +rwx SANETESTD.1 SANETESTD.2 && - rm -rf SANETESTD.1 SANETESTD.2 || - BUG "cannot clean SANETESTD" - return $status - -) -rm: cannot remove 'SANETESTD.1/x': Permission denied -prerequisite SANITY ok -expecting success of 1700.25 'graceful handling when splitting index is not allowed': - test_create_repo ro && - ( - cd ro && - test_commit initial && - git update-index --split-index && - test -f .git/sharedindex.* - ) && - cp ro/.git/index new-index && - test_when_finished "chmod u+w ro/.git" && - chmod u-w ro/.git && - GIT_INDEX_FILE="$(pwd)/new-index" git -C ro update-index --split-index && - chmod u+w ro/.git && - rm ro/.git/sharedindex.* && - GIT_INDEX_FILE=new-index git ls-files >actual && - echo initial.t >expected && - test_cmp expected actual - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/ro/.git/ -[master (root-commit) 24b24cf] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 initial.t -ok 25 - graceful handling when splitting index is not allowed - -expecting success of 1700.26 'writing split index with null sha1 does not write cache tree': - git config core.splitIndex true && - git config splitIndex.maxPercentChange 0 && - git commit -m "commit" && - { - git ls-tree HEAD && - printf "160000 commit $ZERO_OID\\tbroken\\n" - } >broken-tree && - echo "add broken entry" >msg && - - tree=$(git mktree cache-tree.out && - test_line_count = 0 cache-tree.out - -[master (root-commit) 57c62fa] commit - Author: A U Thor - 15 files changed, 0 insertions(+), 0 deletions(-) - create mode 100644 eight - create mode 100644 eleven - create mode 100644 fifteen - create mode 100644 five - create mode 100644 four - create mode 100644 fourteen - create mode 100644 one - create mode 100644 seven - create mode 100644 six - create mode 100644 sixteen - create mode 100644 ten - create mode 100644 thirteen - create mode 100644 three - create mode 100644 twelve - create mode 100644 two -error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' -warning: cache entry has null sha1: broken -HEAD is now at 57cc685 add broken entry -error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' -ok 26 - writing split index with null sha1 does not write cache tree - -expecting success of 1700.27 'do not refresh null base index': - test_create_repo merge && - ( - cd merge && - test_commit initial && - git checkout -b side-branch && - test_commit extra && - git checkout master && - git update-index --split-index && - test_commit more && - # must not write a new shareindex, or we wont catch the problem - git -c splitIndex.maxPercentChange=100 merge --no-edit side-branch 2>err && - # i.e. do not expect warnings like - # could not freshen shared index .../shareindex.00000... - test_must_be_empty err - ) - -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/merge/.git/ -[master (root-commit) 5e30013] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 initial.t -Switched to a new branch 'side-branch' -[side-branch 678a87c] extra - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 extra.t -Switched to branch 'master' -[master 34c8267] more - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 more.t -Merging: -34c8267 more -virtual side-branch -found 1 common ancestor: -5e30013 initial -Merge made by the 'recursive' strategy. - extra.t | 1 + - 1 file changed, 1 insertion(+) - create mode 100644 extra.t -ok 27 - do not refresh null base index - -# passed all 27 test(s) -1..27 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2017-checkout-orphan.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2017-checkout-orphan/.git/ -expecting success of 2017.1 'Setup': - echo "Initial" >"$TEST_FILE" && - git add "$TEST_FILE" && - git commit -m "First Commit" && - test_tick && - echo "State 1" >>"$TEST_FILE" && - git add "$TEST_FILE" && - test_tick && - git commit -m "Second Commit" - -[master (root-commit) df316c6] First Commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo -[master 8c3f362] Second Commit - Author: A U Thor - 1 file changed, 1 insertion(+) -ok 1 - Setup - -expecting success of 2017.2 '--orphan creates a new orphan branch from HEAD': - git checkout --orphan alpha && - test_must_fail git rev-parse --verify HEAD && - test "refs/heads/alpha" = "$(git symbolic-ref HEAD)" && - test_tick && - git commit -m "Third Commit" && - test_must_fail git rev-parse --verify HEAD^ && - git diff-tree --quiet master alpha - -Switched to a new branch 'alpha' -fatal: Needed a single revision -[alpha (root-commit) 6f20c32] Third Commit - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 foo -fatal: Needed a single revision -ok 2 - --orphan creates a new orphan branch from HEAD - -expecting success of 2017.3 '--orphan creates a new orphan branch from ': - git checkout master && - git checkout --orphan beta master^ && - test_must_fail git rev-parse --verify HEAD && - test "refs/heads/beta" = "$(git symbolic-ref HEAD)" && - test_tick && - git commit -m "Fourth Commit" && - test_must_fail git rev-parse --verify HEAD^ && - git diff-tree --quiet master^ beta - -Switched to branch 'master' -Switched to a new branch 'beta' -fatal: Needed a single revision -[beta (root-commit) 530edda] Fourth Commit - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo -fatal: Needed a single revision -ok 3 - --orphan creates a new orphan branch from - -expecting success of 2017.4 '--orphan must be rejected with -b': - git checkout master && - test_must_fail git checkout --orphan new -b newer && - test refs/heads/master = "$(git symbolic-ref HEAD)" - -Switched to branch 'master' -fatal: -b, -B and --orphan are mutually exclusive -ok 4 - --orphan must be rejected with -b - -expecting success of 2017.5 '--orphan must be rejected with -t': - git checkout master && - test_must_fail git checkout --orphan new -t master && - test refs/heads/master = "$(git symbolic-ref HEAD)" - -Already on 'master' -fatal: '--orphan' cannot be used with '-t' -ok 5 - --orphan must be rejected with -t - -expecting success of 2017.6 '--orphan ignores branch.autosetupmerge': - git checkout master && - git config branch.autosetupmerge always && - git checkout --orphan gamma && - test -z "$(git config branch.gamma.merge)" && - test refs/heads/gamma = "$(git symbolic-ref HEAD)" && - test_must_fail git rev-parse --verify HEAD^ - -Already on 'master' -Switched to a new branch 'gamma' -fatal: Needed a single revision -ok 6 - --orphan ignores branch.autosetupmerge - -expecting success of 2017.7 '--orphan makes reflog by default': - git checkout master && - git config --unset core.logAllRefUpdates && - git checkout --orphan delta && - test_must_fail git rev-parse --verify delta@{0} && - git commit -m Delta && - git rev-parse --verify delta@{0} - -Switched to branch 'master' -Switched to a new branch 'delta' -fatal: Needed a single revision -[delta (root-commit) 9beee35] Delta - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 foo -9beee35744aee191f8186ef0a6ab78f710cdd57c -ok 7 - --orphan makes reflog by default - -expecting success of 2017.8 '--orphan does not make reflog when core.logAllRefUpdates = false': - git checkout master && - git config core.logAllRefUpdates false && - git checkout --orphan epsilon && - test_must_fail git rev-parse --verify epsilon@{0} && - git commit -m Epsilon && - test_must_fail git rev-parse --verify epsilon@{0} - -Switched to branch 'master' -Switched to a new branch 'epsilon' -fatal: Needed a single revision -[epsilon (root-commit) c5e7701] Epsilon - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 foo -fatal: Needed a single revision -ok 8 - --orphan does not make reflog when core.logAllRefUpdates = false - -expecting success of 2017.9 '--orphan with -l makes reflog when core.logAllRefUpdates = false': - git checkout master && - git checkout -l --orphan zeta && - test_must_fail git rev-parse --verify zeta@{0} && - git commit -m Zeta && - git rev-parse --verify zeta@{0} - -Switched to branch 'master' -Switched to a new branch 'zeta' -fatal: Needed a single revision -[zeta (root-commit) 1b23595] Zeta - Author: A U Thor - 1 file changed, 2 insertions(+) - create mode 100644 foo -1b235958474dccc5c8f228713c620d22e7d1825d -ok 9 - --orphan with -l makes reflog when core.logAllRefUpdates = false - -expecting success of 2017.10 'giving up --orphan not committed when -l and core.logAllRefUpdates = false deletes reflog': - git checkout master && - git checkout -l --orphan eta && - test_must_fail git rev-parse --verify eta@{0} && - git checkout master && - test_must_fail git rev-parse --verify eta@{0} - -Switched to branch 'master' -Switched to a new branch 'eta' -fatal: Needed a single revision -Switched to branch 'master' -fatal: Needed a single revision -ok 10 - giving up --orphan not committed when -l and core.logAllRefUpdates = false deletes reflog - -expecting success of 2017.11 '--orphan is rejected with an existing name': - git checkout master && - test_must_fail git checkout --orphan master && - test refs/heads/master = "$(git symbolic-ref HEAD)" - -Already on 'master' -fatal: A branch named 'master' already exists. -ok 11 - --orphan is rejected with an existing name - -expecting success of 2017.12 '--orphan refuses to switch if a merge is needed': - git checkout master && - git reset --hard && - echo local >>"$TEST_FILE" && - cat "$TEST_FILE" >"$TEST_FILE.saved" && - test_must_fail git checkout --orphan new master^ && - test refs/heads/master = "$(git symbolic-ref HEAD)" && - test_cmp "$TEST_FILE" "$TEST_FILE.saved" && - git diff-index --quiet --cached HEAD && - git reset --hard - -Already on 'master' -HEAD is now at 8c3f362 Second Commit -error: Your local changes to the following files would be overwritten by checkout: - foo -Please commit your changes or stash them before you switch branches. -Aborting -HEAD is now at 8c3f362 Second Commit -ok 12 - --orphan refuses to switch if a merge is needed - -expecting success of 2017.13 'cannot --detach on an unborn branch': - git checkout master && - git checkout --orphan new && - test_must_fail git checkout --detach - -Already on 'master' -Switched to a new branch 'new' -fatal: You are on a branch yet to be born -ok 13 - cannot --detach on an unborn branch - -# passed all 13 test(s) -1..13 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2022-checkout-paths.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2022-checkout-paths/.git/ -expecting success of 2022.1 'setup': - mkdir dir && - >dir/master && - echo common >dir/common && - git add dir/master dir/common && - test_tick && git commit -m "master has dir/master" && - git checkout -b next && - git mv dir/master dir/next0 && - echo next >dir/next1 && - git add dir && - test_tick && git commit -m "next has dir/next but not dir/master" - -[master (root-commit) de06282] master has dir/master - Author: A U Thor - 2 files changed, 1 insertion(+) - create mode 100644 dir/common - create mode 100644 dir/master -Switched to a new branch 'next' -[next 65d8465] next has dir/next but not dir/master - Author: A U Thor - 2 files changed, 1 insertion(+) - rename dir/{master => next0} (100%) - create mode 100644 dir/next1 -ok 1 - setup - -expecting success of 2022.2 'checking out paths out of a tree does not clobber unrelated paths': - git checkout next && - git reset --hard && - rm dir/next0 && - cat dir/common >expect.common && - echo modified >expect.next1 && - cat expect.next1 >dir/next1 && - echo untracked >expect.next2 && - cat expect.next2 >dir/next2 && - - git checkout master dir && - - test_cmp expect.common dir/common && - test_path_is_file dir/master && - git diff --exit-code master dir/master && - - test_path_is_missing dir/next0 && - test_cmp expect.next1 dir/next1 && - test_path_is_file dir/next2 && - test_must_fail git ls-files --error-unmatch dir/next2 && - test_cmp expect.next2 dir/next2 - -Already on 'next' -HEAD is now at 65d8465 next has dir/next but not dir/master -Updated 1 path from 848cb0d -error: pathspec 'dir/next2' did not match any file(s) known to git -Did you forget to 'git add'? -ok 2 - checking out paths out of a tree does not clobber unrelated paths - -expecting success of 2022.3 'do not touch unmerged entries matching $path but not in $tree': - git checkout next && - git reset --hard && - - cat dir/common >expect.common && - EMPTY_SHA1=$(git hash-object -w --stdin expect.next0 <<-EOF && - 100644 $EMPTY_SHA1 1 dir/next0 - 100644 $EMPTY_SHA1 2 dir/next0 - EOF - git update-index --index-info actual.next0 && - test_cmp expect.next0 actual.next0 - -Already on 'next' -A dir/master -D dir/next0 -M dir/next1 -HEAD is now at 65d8465 next has dir/next but not dir/master -rm 'dir/next0' -Updated 1 path from 848cb0d -ok 3 - do not touch unmerged entries matching $path but not in $tree - -expecting success of 2022.4 'do not touch files that are already up-to-date': - git reset --hard && - echo one >file1 && - echo two >file2 && - git add file1 file2 && - git commit -m base && - echo modified >file1 && - test-tool chmtime =1000000000 file2 && - git update-index -q --refresh && - git checkout HEAD -- file1 file2 && - echo one >expect && - test_cmp expect file1 && - echo "1000000000" >expect && - test-tool chmtime --get file2 >actual && - test_cmp expect actual - -HEAD is now at 65d8465 next has dir/next but not dir/master -[next 709a6c8] base - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 file1 - create mode 100644 file2 -ok 4 - do not touch files that are already up-to-date - -expecting success of 2022.5 'checkout HEAD adds deleted intent-to-add file back to index': - echo "nonempty" >nonempty && - >empty && - git add nonempty empty && - git commit -m "create files to be deleted" && - git rm --cached nonempty empty && - git add -N nonempty empty && - git checkout HEAD nonempty empty && - git diff --cached --exit-code - -[next 5786e75] create files to be deleted - Author: A U Thor - 2 files changed, 1 insertion(+) - create mode 100644 empty - create mode 100644 nonempty -rm 'empty' -rm 'nonempty' -Updated 2 paths from cb321d9 -ok 5 - checkout HEAD adds deleted intent-to-add file back to index - -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2025-checkout-no-overlay.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2025-checkout-no-overlay/.git/ -expecting success of 2025.1 'setup': - git commit --allow-empty -m "initial" - -[master (root-commit) 8b2b4f6] initial - Author: A U Thor -ok 1 - setup - -expecting success of 2025.2 'checkout --no-overlay deletes files not in ': - >file && - mkdir dir && - >dir/file1 && - git add file dir/file1 && - git checkout --no-overlay HEAD -- file && - test_path_is_missing file && - test_path_is_file dir/file1 - -ok 2 - checkout --no-overlay deletes files not in - -expecting success of 2025.3 'checkout --no-overlay removing last file from directory': - git checkout --no-overlay HEAD -- dir/file1 && - test_path_is_missing dir - -ok 3 - checkout --no-overlay removing last file from directory - -expecting success of 2025.4 'checkout -p --overlay is disallowed': - test_must_fail git checkout -p --overlay HEAD 2>actual && - test_i18ngrep "fatal: -p and --overlay are mutually exclusive" actual - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -fatal: -p and --overlay are mutually exclusive -ok 4 - checkout -p --overlay is disallowed - -expecting success of 2025.5 '--no-overlay --theirs with D/F conflict deletes file': - test_commit file1 file1 && - test_commit file2 file2 && - git rm --cached file1 && - echo 1234 >file1 && - F1=$(git rev-parse HEAD:file1) && - F2=$(git rev-parse HEAD:file2) && - { - echo "100644 $F1 1 file1" && - echo "100644 $F2 2 file1" - } | git update-index --index-info && - test_path_is_file file1 && - git checkout --theirs --no-overlay -- file1 && - test_path_is_missing file1 - -[master a11d2b7] file1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file1 -[master 1c03fe1] file2 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file2 -rm 'file1' -ok 5 - --no-overlay --theirs with D/F conflict deletes file - -expecting success of 2025.6 'wildcard pathspec matches file in subdirectory': - git reset --hard && - mkdir subdir && - test_commit file3-1 subdir/file3 && - test_commit file3-2 subdir/file3 && - - git checkout --no-overlay file3-1 "*file3" && - echo file3-1 >expect && - test_path_is_file subdir/file3 && - test_cmp expect subdir/file3 - -HEAD is now at 1c03fe1 file2 -[master 78da8bb] file3-1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 subdir/file3 -[master cac8ac6] file3-2 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Updated 1 path from e1fb72e -ok 6 - wildcard pathspec matches file in subdirectory - -# passed all 6 test(s) -1..6 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2023-checkout-m.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2023-checkout-m/.git/ -expecting success of 2023.1 'setup': - test_tick && - test_commit both.txt both.txt initial && - git branch topic && - test_commit modified_in_master both.txt in_master && - test_commit added_in_master each.txt in_master && - git checkout topic && - test_commit modified_in_topic both.txt in_topic && - test_commit added_in_topic each.txt in_topic - -[master (root-commit) 7a8c5bf] both.txt - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 both.txt -[master dc44449] modified_in_master - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -[master 642a0cb] added_in_master - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 each.txt -Switched to branch 'topic' -[topic 33542d7] modified_in_topic - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -[topic d46615c] added_in_topic - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 each.txt -ok 1 - setup - -expecting success of 2023.2 'git merge master': - test_must_fail git merge master - -Merging: -d46615c added_in_topic -virtual master -found 1 common ancestor: -7a8c5bf both.txt -CONFLICT (add/add): Merge conflict in each.txt -Auto-merging each.txt -Auto-merging both.txt -CONFLICT (content): Merge conflict in both.txt -Automatic merge failed; fix conflicts and then commit the result. -ok 2 - git merge master - -expecting success of 2023.3 '-m restores 2-way conflicted+resolved file': - cp each.txt each.txt.conflicted && - echo resolved >each.txt && - git add each.txt && - git checkout -m -- each.txt && - clean_branchnames each.txt.cleaned && - clean_branchnames each.txt.conflicted.cleaned && - test_cmp each.txt.conflicted.cleaned each.txt.cleaned - -ok 3 - -m restores 2-way conflicted+resolved file - -expecting success of 2023.4 '-m restores 3-way conflicted+resolved file': - cp both.txt both.txt.conflicted && - echo resolved >both.txt && - git add both.txt && - git checkout -m -- both.txt && - clean_branchnames both.txt.cleaned && - clean_branchnames both.txt.conflicted.cleaned && - test_cmp both.txt.conflicted.cleaned both.txt.cleaned - -ok 4 - -m restores 3-way conflicted+resolved file - -expecting success of 2023.5 'force checkout a conflict file creates stage zero entry': - git init co-force && - ( - cd co-force && - echo a >a && - git add a && - git commit -ama && - A_OBJ=$(git rev-parse :a) && - git branch topic && - echo b >a && - git commit -amb && - B_OBJ=$(git rev-parse :a) && - git checkout topic && - echo c >a && - C_OBJ=$(git hash-object a) && - git checkout -m master && - test_cmp_rev :1:a $A_OBJ && - test_cmp_rev :2:a $B_OBJ && - test_cmp_rev :3:a $C_OBJ && - git checkout -f topic && - test_cmp_rev :0:a $A_OBJ - ) - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2023-checkout-m/co-force/.git/ -[master (root-commit) b7442a0] a - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a -[master 7529dfa] b - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Switched to branch 'topic' -Switched to branch 'master' -M a -Switched to branch 'topic' -ok 5 - force checkout a conflict file creates stage zero entry - -# passed all 5 test(s) -1..5 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2018-checkout-branch.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2018-checkout-branch/.git/ -expecting success of 2018.1 'setup': - test_commit initial file1 && - HEAD1=$(git rev-parse --verify HEAD) && - - test_commit change1 file1 && - HEAD2=$(git rev-parse --verify HEAD) && - - git branch -m branch1 - -[master (root-commit) ee02a18] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file1 -[master 5be17a9] change1 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 1 - setup - -expecting success of 2018.2 'checkout -b to a new branch, set to HEAD': - test_when_finished " - git checkout branch1 && - test_might_fail git branch -D branch2" && - do_checkout branch2 - -Switched to a new branch 'branch2' -Switched to branch 'branch1' -Deleted branch branch2 (was 5be17a9). -ok 2 - checkout -b to a new branch, set to HEAD - -expecting success of 2018.3 'checkout -b to a merge base': - test_when_finished " - git checkout branch1 && - test_might_fail git branch -D branch2" && - git checkout -b branch2 branch1... - -Switched to a new branch 'branch2' -Switched to branch 'branch1' -Deleted branch branch2 (was 5be17a9). -ok 3 - checkout -b to a merge base - -expecting success of 2018.4 'checkout -b to a new branch, set to an explicit ref': - test_when_finished " - git checkout branch1 && - test_might_fail git branch -D branch2" && - do_checkout branch2 $HEAD1 - -Switched to a new branch 'branch2' -Switched to branch 'branch1' -Deleted branch branch2 (was ee02a18). -ok 4 - checkout -b to a new branch, set to an explicit ref - -expecting success of 2018.5 'checkout -b to a new branch with unmergeable changes fails': - setup_dirty_unmergeable && - do_checkout ! branch2 $HEAD1 && - test_dirty_unmergeable - -error: Your local changes to the following files would be overwritten by checkout: - file1 -Please commit your changes or stash them before you switch branches. -Aborting -diff --git a/file1 b/file1 -index 5be4a41..1725fe9 100644 ---- a/file1 -+++ b/file1 -@@ -1 +1,2 @@ - change1 -+change2 -ok 5 - checkout -b to a new branch with unmergeable changes fails - -expecting success of 2018.6 'checkout -f -b to a new branch with unmergeable changes discards changes': - test_when_finished " - git checkout branch1 && - test_might_fail git branch -D branch2" && - - # still dirty and on branch1 - do_checkout branch2 $HEAD1 "-f -b" && - test_dirty_unmergeable_discards_changes - -Switched to a new branch 'branch2' -Switched to branch 'branch1' -Deleted branch branch2 (was ee02a18). -ok 6 - checkout -f -b to a new branch with unmergeable changes discards changes - -expecting success of 2018.7 'checkout -b to a new branch preserves mergeable changes': - test_when_finished " - git reset --hard && - git checkout branch1 && - test_might_fail git branch -D branch2" && - - setup_dirty_mergeable && - do_checkout branch2 $HEAD1 && - test_dirty_mergeable - -Switched to a new branch 'branch2' -A file2 -diff --git a/file2 b/file2 -new file mode 100644 -index 0000000..6c493ff ---- /dev/null -+++ b/file2 -@@ -0,0 +1 @@ -+file2 -HEAD is now at ee02a18 initial -Switched to branch 'branch1' -Deleted branch branch2 (was ee02a18). -ok 7 - checkout -b to a new branch preserves mergeable changes - -expecting success of 2018.8 'checkout -f -b to a new branch with mergeable changes discards changes': - test_when_finished git reset --hard HEAD && - setup_dirty_mergeable && - do_checkout branch2 $HEAD1 "-f -b" && - test_dirty_mergeable_discards_changes - -Switched to a new branch 'branch2' -HEAD is now at ee02a18 initial -ok 8 - checkout -f -b to a new branch with mergeable changes discards changes - -expecting success of 2018.9 'checkout -b to an existing branch fails': - test_when_finished git reset --hard HEAD && - do_checkout ! branch2 $HEAD2 - -fatal: A branch named 'branch2' already exists. -HEAD is now at ee02a18 initial -ok 9 - checkout -b to an existing branch fails - -expecting success of 2018.10 'checkout -b to @{-1} fails with the right branch name': - git checkout branch1 && - git checkout branch2 && - echo >expect "fatal: A branch named 'branch1' already exists." && - test_must_fail git checkout -b @{-1} 2>actual && - test_i18ncmp expect actual - -Switched to branch 'branch1' -Switched to branch 'branch2' -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -ok 10 - checkout -b to @{-1} fails with the right branch name - -expecting success of 2018.11 'checkout -B to an existing branch resets branch to HEAD': - git checkout branch1 && - - do_checkout branch2 "" -B - -Switched to branch 'branch1' -Switched to and reset branch 'branch2' -ok 11 - checkout -B to an existing branch resets branch to HEAD - -expecting success of 2018.12 'checkout -B to a merge base': - git checkout branch1 && - - git checkout -B branch2 branch1... - -Switched to branch 'branch1' -Switched to and reset branch 'branch2' -ok 12 - checkout -B to a merge base - -expecting success of 2018.13 'checkout -B to an existing branch from detached HEAD resets branch to HEAD': - head=$(git rev-parse --verify HEAD) && - git checkout "$head" && - - do_checkout branch2 "" -B - -Note: switching to '5be17a9503605cbff49376bccdc74acb1ebd9160'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false - -HEAD is now at 5be17a9 change1 -Switched to and reset branch 'branch2' -ok 13 - checkout -B to an existing branch from detached HEAD resets branch to HEAD - -expecting success of 2018.14 'checkout -B to an existing branch with an explicit ref resets branch to that ref': - git checkout branch1 && - - do_checkout branch2 $HEAD1 -B - -Switched to branch 'branch1' -Switched to and reset branch 'branch2' -ok 14 - checkout -B to an existing branch with an explicit ref resets branch to that ref - -expecting success of 2018.15 'checkout -B to an existing branch with unmergeable changes fails': - git checkout branch1 && - - setup_dirty_unmergeable && - do_checkout ! branch2 $HEAD1 -B && - test_dirty_unmergeable - -Switched to branch 'branch1' -error: Your local changes to the following files would be overwritten by checkout: - file1 -Please commit your changes or stash them before you switch branches. -Aborting -diff --git a/file1 b/file1 -index 5be4a41..1725fe9 100644 ---- a/file1 -+++ b/file1 -@@ -1 +1,2 @@ - change1 -+change2 -ok 15 - checkout -B to an existing branch with unmergeable changes fails - -expecting success of 2018.16 'checkout -f -B to an existing branch with unmergeable changes discards changes': - # still dirty and on branch1 - do_checkout branch2 $HEAD1 "-f -B" && - test_dirty_unmergeable_discards_changes - -Switched to and reset branch 'branch2' -ok 16 - checkout -f -B to an existing branch with unmergeable changes discards changes - -expecting success of 2018.17 'checkout -B to an existing branch preserves mergeable changes': - test_when_finished git reset --hard && - git checkout branch1 && - - setup_dirty_mergeable && - do_checkout branch2 $HEAD1 -B && - test_dirty_mergeable - -Switched to branch 'branch1' -Switched to and reset branch 'branch2' -A file2 -diff --git a/file2 b/file2 -new file mode 100644 -index 0000000..6c493ff ---- /dev/null -+++ b/file2 -@@ -0,0 +1 @@ -+file2 -HEAD is now at ee02a18 initial -ok 17 - checkout -B to an existing branch preserves mergeable changes - -expecting success of 2018.18 'checkout -f -B to an existing branch with mergeable changes discards changes': - git checkout branch1 && - - setup_dirty_mergeable && - do_checkout branch2 $HEAD1 "-f -B" && - test_dirty_mergeable_discards_changes - -Switched to branch 'branch1' -Switched to and reset branch 'branch2' -ok 18 - checkout -f -B to an existing branch with mergeable changes discards changes - -expecting success of 2018.19 'checkout -b ': - git tag -f -m "First commit" initial initial && - git checkout -f change1 && - name=$(git describe) && - git checkout -b $name && - git diff --exit-code change1 && - echo "refs/heads/$name" >expect && - git symbolic-ref HEAD >actual && - test_cmp expect actual - -Updated tag 'initial' (was ee02a18) -Note: switching to 'change1'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false - -HEAD is now at 5be17a9 change1 -Switched to a new branch 'initial-1-g5be17a9' -ok 19 - checkout -b - -expecting success of 2018.20 'checkout -B to the current branch works': - git checkout branch1 && - git checkout -B branch1-scratch && - - setup_dirty_mergeable && - git checkout -B branch1-scratch initial && - test_dirty_mergeable - -Switched to branch 'branch1' -Switched to a new branch 'branch1-scratch' -Reset branch 'branch1-scratch' -A file2 -diff --git a/file2 b/file2 -new file mode 100644 -index 0000000..6c493ff ---- /dev/null -+++ b/file2 -@@ -0,0 +1 @@ -+file2 -ok 20 - checkout -B to the current branch works - -expecting success of 2018.21 'checkout -b after clone --no-checkout does a checkout of HEAD': - git init src && - test_commit -C src a && - rev="$(git -C src rev-parse HEAD)" && - git clone --no-checkout src dest && - git -C dest checkout "$rev" -b branch && - test_path_is_file dest/a.t - -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2018-checkout-branch/src/.git/ -[master (root-commit) 7f0b538] a - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a.t -Cloning into 'dest'... -done. -Switched to a new branch 'branch' -ok 21 - checkout -b after clone --no-checkout does a checkout of HEAD - -expecting success of 2018.22 'checkout -b to a new branch preserves mergeable changes despite sparse-checkout': - test_when_finished " - git reset --hard && - git checkout branch1-scratch && - test_might_fail git branch -D branch3 && - git config core.sparseCheckout false && - rm .git/info/sparse-checkout" && - - test_commit file2 && - - echo stuff >>file1 && - echo file2 >.git/info/sparse-checkout && - git config core.sparseCheckout true && - - CURHEAD=$(git rev-parse HEAD) && - do_checkout branch3 $CURHEAD && - - echo file1 >expect && - git diff --name-only >actual && - test_cmp expect actual - -[branch1-scratch b9d73e8] file2 - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 file2 - create mode 100644 file2.t -warning: The following paths are not up to date and were left despite sparse patterns: - file1 - -After fixing the above paths, you may want to run `git sparse-checkout reapply`. -Switched to a new branch 'branch3' -M file1 -HEAD is now at b9d73e8 file2 -Switched to branch 'branch1-scratch' -Deleted branch branch3 (was b9d73e8). -ok 22 - checkout -b to a new branch preserves mergeable changes despite sparse-checkout - -expecting success of 2018.23 'checkout -b rejects an invalid start point': - test_must_fail git checkout -b branch4 file1 2>err && - test_i18ngrep "is not a commit" err - -fatal: 'file1' is not a commit and a branch 'branch4' cannot be created from it -ok 23 - checkout -b rejects an invalid start point - -expecting success of 2018.24 'checkout -b rejects an extra path argument': - test_must_fail git checkout -b branch5 branch1 file1 2>err && - test_i18ngrep "Cannot update paths and switch to branch" err - -fatal: Cannot update paths and switch to branch 'branch5' at the same time. -ok 24 - checkout -b rejects an extra path argument - -# passed all 24 test(s) -1..24 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1400-update-ref.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1400-update-ref/.git/ -expecting success of 1400.1 'setup': - git checkout --orphan main && - create_test_commits "" && - mkdir $bare && - cd $bare && - git init --bare -b main && - create_test_commits "bare" && - cd - - -Switched to a new branch 'main' -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1400-update-ref/bare-repo/ -/build/git-2.30.2/t/trash directory.t1400-update-ref -ok 1 - setup - -expecting success of 1400.2 'create refs/heads/main': - git update-ref $m $A && - test $A = $(git show-ref -s --verify $m) - -ok 2 - create refs/heads/main - -expecting success of 1400.3 'create refs/heads/main with oldvalue verification': - git update-ref $m $B $A && - test $B = $(git show-ref -s --verify $m) - -ok 3 - create refs/heads/main with oldvalue verification - -expecting success of 1400.4 'fail to delete refs/heads/main with stale ref': - test_must_fail git update-ref -d $m $A && - test $B = "$(git show-ref -s --verify $m)" - -error: cannot lock ref 'refs/heads/main': is at 56d5c1374e8028a1e122ab046ab7b98165342dc4 but expected 102939797ab91a4f201d131418d2c9d919dcdd2c -ok 4 - fail to delete refs/heads/main with stale ref - -expecting success of 1400.5 'delete refs/heads/main': - test_when_finished "git update-ref -d $m" && - git update-ref -d $m $B && - test_must_fail git show-ref --verify -q $m - -ok 5 - delete refs/heads/main - -expecting success of 1400.6 'delete refs/heads/main without oldvalue verification': - test_when_finished "git update-ref -d $m" && - git update-ref $m $A && - test $A = $(git show-ref -s --verify $m) && - git update-ref -d $m && - test_must_fail git show-ref --verify -q $m - -ok 6 - delete refs/heads/main without oldvalue verification - -expecting success of 1400.7 'fail to create refs/heads/gu/fixes': - test_when_finished "rm -f .git/$n_dir" && - touch .git/$n_dir && - test_must_fail git update-ref $n $A - -fatal: update_ref failed for ref 'refs/heads/gu/fixes': cannot lock ref 'refs/heads/gu/fixes': unable to create lock file .git/refs/heads/gu/fixes.lock; non-directory in the way -ok 7 - fail to create refs/heads/gu/fixes - -expecting success of 1400.8 'create refs/heads/main (by HEAD)': - git update-ref HEAD $A && - test $A = $(git show-ref -s --verify $m) - -ok 8 - create refs/heads/main (by HEAD) - -expecting success of 1400.9 'create refs/heads/main (by HEAD) with oldvalue verification': - git update-ref HEAD $B $A && - test $B = $(git show-ref -s --verify $m) - -ok 9 - create refs/heads/main (by HEAD) with oldvalue verification - -expecting success of 1400.10 'fail to delete refs/heads/main (by HEAD) with stale ref': - test_must_fail git update-ref -d HEAD $A && - test $B = $(git show-ref -s --verify $m) - -error: cannot lock ref 'HEAD': is at 56d5c1374e8028a1e122ab046ab7b98165342dc4 but expected 102939797ab91a4f201d131418d2c9d919dcdd2c -ok 10 - fail to delete refs/heads/main (by HEAD) with stale ref - -expecting success of 1400.11 'delete refs/heads/main (by HEAD)': - test_when_finished "git update-ref -d $m" && - git update-ref -d HEAD $B && - test_must_fail git show-ref --verify -q $m - -ok 11 - delete refs/heads/main (by HEAD) - -expecting success of 1400.12 'deleting current branch adds message to HEAD's log': - test_when_finished "git update-ref -d $m" && - git update-ref $m $A && - git symbolic-ref HEAD $m && - git update-ref -m delete-$m -d $m && - test_must_fail git show-ref --verify -q $m && - grep "delete-$m$" .git/logs/HEAD - -102939797ab91a4f201d131418d2c9d919dcdd2c 0000000000000000000000000000000000000000 C O Mitter 1112912653 -0700 delete-refs/heads/main -ok 12 - deleting current branch adds message to HEAD's log - -expecting success of 1400.13 'deleting by HEAD adds message to HEAD's log': - test_when_finished "git update-ref -d $m" && - git update-ref $m $A && - git symbolic-ref HEAD $m && - git update-ref -m delete-by-head -d HEAD && - test_must_fail git show-ref --verify -q $m && - grep "delete-by-head$" .git/logs/HEAD - -102939797ab91a4f201d131418d2c9d919dcdd2c 0000000000000000000000000000000000000000 C O Mitter 1112912653 -0700 delete-by-head -ok 13 - deleting by HEAD adds message to HEAD's log - -expecting success of 1400.14 'update-ref does not create reflogs by default': - test_when_finished "git update-ref -d $outside" && - git update-ref $outside $A && - git rev-parse $A >expect && - git rev-parse $outside >actual && - test_cmp expect actual && - test_must_fail git reflog exists $outside - -ok 14 - update-ref does not create reflogs by default - -expecting success of 1400.15 'update-ref creates reflogs with --create-reflog': - test_when_finished "git update-ref -d $outside" && - git update-ref --create-reflog $outside $A && - git rev-parse $A >expect && - git rev-parse $outside >actual && - test_cmp expect actual && - git reflog exists $outside - -ok 15 - update-ref creates reflogs with --create-reflog - -expecting success of 1400.16 'creates no reflog in bare repository': - git -C $bare update-ref $m $bareA && - git -C $bare rev-parse $bareA >expect && - git -C $bare rev-parse $m >actual && - test_cmp expect actual && - test_must_fail git -C $bare reflog exists $m - -ok 16 - creates no reflog in bare repository - -expecting success of 1400.17 'core.logAllRefUpdates=true creates reflog in bare repository': - test_when_finished "git -C $bare config --unset core.logAllRefUpdates && \ - rm $bare/logs/$m" && - git -C $bare config core.logAllRefUpdates true && - git -C $bare update-ref $m $bareB && - git -C $bare rev-parse $bareB >expect && - git -C $bare rev-parse $m >actual && - test_cmp expect actual && - git -C $bare reflog exists $m - -ok 17 - core.logAllRefUpdates=true creates reflog in bare repository - -expecting success of 1400.18 'core.logAllRefUpdates=true does not create reflog by default': - test_config core.logAllRefUpdates true && - test_when_finished "git update-ref -d $outside" && - git update-ref $outside $A && - git rev-parse $A >expect && - git rev-parse $outside >actual && - test_cmp expect actual && - test_must_fail git reflog exists $outside - -ok 18 - core.logAllRefUpdates=true does not create reflog by default - -expecting success of 1400.19 'core.logAllRefUpdates=always creates reflog by default': - test_config core.logAllRefUpdates always && - test_when_finished "git update-ref -d $outside" && - git update-ref $outside $A && - git rev-parse $A >expect && - git rev-parse $outside >actual && - test_cmp expect actual && - git reflog exists $outside - -ok 19 - core.logAllRefUpdates=always creates reflog by default - -expecting success of 1400.20 'core.logAllRefUpdates=always creates reflog for ORIG_HEAD': - test_config core.logAllRefUpdates always && - git update-ref ORIG_HEAD $A && - git reflog exists ORIG_HEAD - -ok 20 - core.logAllRefUpdates=always creates reflog for ORIG_HEAD - -expecting success of 1400.21 '--no-create-reflog overrides core.logAllRefUpdates=always': - test_config core.logAllRefUpdates true && - test_when_finished "git update-ref -d $outside" && - git update-ref --no-create-reflog $outside $A && - git rev-parse $A >expect && - git rev-parse $outside >actual && - test_cmp expect actual && - test_must_fail git reflog exists $outside - -ok 21 - --no-create-reflog overrides core.logAllRefUpdates=always - -expecting success of 1400.22 'create refs/heads/main (by HEAD)': - git update-ref HEAD $A && - test $A = $(git show-ref -s --verify $m) - -ok 22 - create refs/heads/main (by HEAD) - -expecting success of 1400.23 'pack refs': - git pack-refs --all - -ok 23 - pack refs - -expecting success of 1400.24 'move refs/heads/main (by HEAD)': - git update-ref HEAD $B $A && - test $B = $(git show-ref -s --verify $m) - -ok 24 - move refs/heads/main (by HEAD) - -expecting success of 1400.25 'delete refs/heads/main (by HEAD) should remove both packed and loose refs/heads/main': - test_when_finished "git update-ref -d $m" && - git update-ref -d HEAD $B && - ! grep "$m" .git/packed-refs && - test_must_fail git show-ref --verify -q $m - -ok 25 - delete refs/heads/main (by HEAD) should remove both packed and loose refs/heads/main - -expecting success of 1400.26 'delete symref without dereference': - test_when_finished "git update-ref -d $m" && - echo foo >foo.c && - git add foo.c && - git commit -m foo && - git symbolic-ref SYMREF $m && - git update-ref --no-deref -d SYMREF && - git show-ref --verify -q $m && - test_must_fail git show-ref --verify -q SYMREF && - test_must_fail git symbolic-ref SYMREF - -[main (root-commit) fc83d41] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.c -fatal: ref SYMREF is not a symbolic ref -ok 26 - delete symref without dereference - -expecting success of 1400.27 'delete symref without dereference when the referred ref is packed': - test_when_finished "git update-ref -d $m" && - echo foo >foo.c && - git add foo.c && - git commit -m foo && - git symbolic-ref SYMREF $m && - git pack-refs --all && - git update-ref --no-deref -d SYMREF && - git show-ref --verify -q $m && - test_must_fail git show-ref --verify -q SYMREF && - test_must_fail git symbolic-ref SYMREF - -[main (root-commit) fc83d41] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.c -fatal: ref SYMREF is not a symbolic ref -ok 27 - delete symref without dereference when the referred ref is packed - -expecting success of 1400.28 'update-ref -d is not confused by self-reference': - git symbolic-ref refs/heads/self refs/heads/self && - test_when_finished "rm -f .git/refs/heads/self" && - test_path_is_file .git/refs/heads/self && - test_must_fail git update-ref -d refs/heads/self && - test_path_is_file .git/refs/heads/self - -error: multiple updates for 'refs/heads/self' (including one via symref 'refs/heads/self') are not allowed -ok 28 - update-ref -d is not confused by self-reference - -expecting success of 1400.29 'update-ref --no-deref -d can delete self-reference': - git symbolic-ref refs/heads/self refs/heads/self && - test_when_finished "rm -f .git/refs/heads/self" && - test_path_is_file .git/refs/heads/self && - git update-ref --no-deref -d refs/heads/self && - test_must_fail git show-ref --verify -q refs/heads/self - -ok 29 - update-ref --no-deref -d can delete self-reference - -expecting success of 1400.30 'update-ref --no-deref -d can delete reference to bad ref': - >.git/refs/heads/bad && - test_when_finished "rm -f .git/refs/heads/bad" && - git symbolic-ref refs/heads/ref-to-bad refs/heads/bad && - test_when_finished "git update-ref -d refs/heads/ref-to-bad" && - test_path_is_file .git/refs/heads/ref-to-bad && - git update-ref --no-deref -d refs/heads/ref-to-bad && - test_must_fail git show-ref --verify -q refs/heads/ref-to-bad - -ok 30 - update-ref --no-deref -d can delete reference to bad ref - -expecting success of 1400.31 '(not) create HEAD with old sha1': - test_must_fail git update-ref HEAD $A $B - -fatal: update_ref failed for ref 'HEAD': cannot lock ref 'HEAD': unable to resolve reference 'refs/heads/main' -ok 31 - (not) create HEAD with old sha1 - -expecting success of 1400.32 '(not) prior created .git/refs/heads/main': - test_when_finished "git update-ref -d $m" && - test_must_fail git show-ref --verify -q $m - -ok 32 - (not) prior created .git/refs/heads/main - -expecting success of 1400.33 'create HEAD': - git update-ref HEAD $A - -ok 33 - create HEAD - -expecting success of 1400.34 '(not) change HEAD with wrong SHA1': - test_must_fail git update-ref HEAD $B $Z - -fatal: update_ref failed for ref 'HEAD': cannot lock ref 'HEAD': reference already exists -ok 34 - (not) change HEAD with wrong SHA1 - -expecting success of 1400.35 '(not) changed .git/refs/heads/main': - test_when_finished "git update-ref -d $m" && - ! test $B = $(git show-ref -s --verify $m) - -ok 35 - (not) changed .git/refs/heads/main - -expecting success of 1400.36 'create refs/heads/main (logged by touch)': - test_config core.logAllRefUpdates false && - GIT_COMMITTER_DATE="2005-05-26 23:30" \ - git update-ref --create-reflog HEAD $A -m "Initial Creation" && - test $A = $(git show-ref -s --verify $m) - -ok 36 - create refs/heads/main (logged by touch) - -expecting success of 1400.37 'update refs/heads/main (logged by touch)': - test_config core.logAllRefUpdates false && - GIT_COMMITTER_DATE="2005-05-26 23:31" \ - git update-ref HEAD $B $A -m "Switch" && - test $B = $(git show-ref -s --verify $m) - -ok 37 - update refs/heads/main (logged by touch) - -expecting success of 1400.38 'set refs/heads/main (logged by touch)': - test_config core.logAllRefUpdates false && - GIT_COMMITTER_DATE="2005-05-26 23:41" \ - git update-ref HEAD $A && - test $A = $(git show-ref -s --verify $m) - -ok 38 - set refs/heads/main (logged by touch) - -expecting success of 1400.39 'empty directory removal': - git branch d1/d2/r1 HEAD && - git branch d1/r2 HEAD && - test_path_is_file .git/refs/heads/d1/d2/r1 && - test_path_is_file .git/logs/refs/heads/d1/d2/r1 && - git branch -d d1/d2/r1 && - test_must_fail git show-ref --verify -q refs/heads/d1/d2 && - test_must_fail git show-ref --verify -q logs/refs/heads/d1/d2 && - test_path_is_file .git/refs/heads/d1/r2 && - test_path_is_file .git/logs/refs/heads/d1/r2 - -Deleted branch d1/d2/r1 (was 1029397). -ok 39 - empty directory removal - -expecting success of 1400.40 'symref empty directory removal': - git branch e1/e2/r1 HEAD && - git branch e1/r2 HEAD && - git checkout e1/e2/r1 && - test_when_finished "git checkout main" && - test_path_is_file .git/refs/heads/e1/e2/r1 && - test_path_is_file .git/logs/refs/heads/e1/e2/r1 && - git update-ref -d HEAD && - test_must_fail git show-ref --verify -q refs/heads/e1/e2 && - test_must_fail git show-ref --verify -q logs/refs/heads/e1/e2 && - test_path_is_file .git/refs/heads/e1/r2 && - test_path_is_file .git/logs/refs/heads/e1/r2 && - test_path_is_file .git/logs/HEAD - -Switched to branch 'e1/e2/r1' -A foo.c -Switched to branch 'main' -A foo.c -ok 40 - symref empty directory removal - -expecting success of 1400.41 'verifying refs/heads/main's log (logged by touch)': - test_when_finished "rm -rf .git/$m .git/logs expect" && - test_cmp expect .git/logs/$m - -ok 41 - verifying refs/heads/main's log (logged by touch) - -expecting success of 1400.42 'create refs/heads/main (logged by config)': - test_config core.logAllRefUpdates true && - GIT_COMMITTER_DATE="2005-05-26 23:32" \ - git update-ref HEAD $A -m "Initial Creation" && - test $A = $(git show-ref -s --verify $m) - -ok 42 - create refs/heads/main (logged by config) - -expecting success of 1400.43 'update refs/heads/main (logged by config)': - test_config core.logAllRefUpdates true && - GIT_COMMITTER_DATE="2005-05-26 23:33" \ - git update-ref HEAD $B $A -m "Switch" && - test $B = $(git show-ref -s --verify $m) - -ok 43 - update refs/heads/main (logged by config) - -expecting success of 1400.44 'set refs/heads/main (logged by config)': - test_config core.logAllRefUpdates true && - GIT_COMMITTER_DATE="2005-05-26 23:43" \ - git update-ref HEAD $A && - test $A = $(git show-ref -s --verify $m) - -ok 44 - set refs/heads/main (logged by config) - -expecting success of 1400.45 'verifying refs/heads/main's log (logged by config)': - test_when_finished "rm -f .git/$m .git/logs/$m expect" && - test_cmp expect .git/logs/$m - -ok 45 - verifying refs/heads/main's log (logged by config) - -expecting success of 1400.46 'set up for querying the reflog': - git update-ref $m $D && - cat >.git/logs/$m <<-EOF - $Z $C $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150320 -0500 - $C $A $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150350 -0500 - $A $B $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150380 -0500 - $F $Z $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150680 -0500 - $Z $E $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> 1117150980 -0500 - EOF - -ok 46 - set up for querying the reflog - -expecting success of 1400.47 'Query "main@{May 25 2005}" (before history)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{May 25 2005}" >o 2>e && - echo "$C" >expect && - test_cmp expect o && - echo "warning: log for 'main' only goes back to $ed" >expect && - test_i18ncmp expect e - -checking prerequisite: C_LOCALE_OUTPUT - -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false - -) -prerequisite C_LOCALE_OUTPUT ok -ok 47 - Query "main@{May 25 2005}" (before history) - -expecting success of 1400.48 'Query main@{2005-05-25} (before history)': - test_when_finished "rm -f o e" && - git rev-parse --verify main@{2005-05-25} >o 2>e && - echo "$C" >expect && - test_cmp expect o && - echo "warning: log for 'main' only goes back to $ed" >expect && - test_i18ncmp expect e - -ok 48 - Query main@{2005-05-25} (before history) - -expecting success of 1400.49 'Query "main@{May 26 2005 23:31:59}" (1 second before history)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{May 26 2005 23:31:59}" >o 2>e && - echo "$C" >expect && - test_cmp expect o && - echo "warning: log for 'main' only goes back to $ed" >expect && - test_i18ncmp expect e - -ok 49 - Query "main@{May 26 2005 23:31:59}" (1 second before history) - -expecting success of 1400.50 'Query "main@{May 26 2005 23:32:00}" (exactly history start)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{May 26 2005 23:32:00}" >o 2>e && - echo "$C" >expect && - test_cmp expect o && - test_must_be_empty e - -ok 50 - Query "main@{May 26 2005 23:32:00}" (exactly history start) - -expecting success of 1400.51 'Query "main@{May 26 2005 23:32:30}" (first non-creation change)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{May 26 2005 23:32:30}" >o 2>e && - echo "$A" >expect && - test_cmp expect o && - test_must_be_empty e - -ok 51 - Query "main@{May 26 2005 23:32:30}" (first non-creation change) - -expecting success of 1400.52 'Query "main@{2005-05-26 23:33:01}" (middle of history with gap)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{2005-05-26 23:33:01}" >o 2>e && - echo "$B" >expect && - test_cmp expect o && - test_i18ngrep -F "warning: log for ref $m has gap after $gd" e - -warning: log for ref refs/heads/main has gap after Thu, 26 May 2005 18:33:00 -0500 -ok 52 - Query "main@{2005-05-26 23:33:01}" (middle of history with gap) - -expecting success of 1400.53 'Query "main@{2005-05-26 23:38:00}" (middle of history)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{2005-05-26 23:38:00}" >o 2>e && - echo "$Z" >expect && - test_cmp expect o && - test_must_be_empty e - -ok 53 - Query "main@{2005-05-26 23:38:00}" (middle of history) - -expecting success of 1400.54 'Query "main@{2005-05-26 23:43:00}" (exact end of history)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{2005-05-26 23:43:00}" >o 2>e && - echo "$E" >expect && - test_cmp expect o && - test_must_be_empty e - -ok 54 - Query "main@{2005-05-26 23:43:00}" (exact end of history) - -expecting success of 1400.55 'Query "main@{2005-05-28}" (past end of history)': - test_when_finished "rm -f o e" && - git rev-parse --verify "main@{2005-05-28}" >o 2>e && - echo "$D" >expect && - test_cmp expect o && - test_i18ngrep -F "warning: log for ref $m unexpectedly ended on $ld" e - -warning: log for ref refs/heads/main unexpectedly ended on Thu, 26 May 2005 18:43:00 -0500 -ok 55 - Query "main@{2005-05-28}" (past end of history) - -expecting success of 1400.56 'creating initial files': - test_when_finished rm -f M && - echo TEST >F && - git add F && - GIT_AUTHOR_DATE="2005-05-26 23:30" \ - GIT_COMMITTER_DATE="2005-05-26 23:30" git commit -m add -a && - h_TEST=$(git rev-parse --verify HEAD) && - echo The other day this did not work. >M && - echo And then Bob told me how to fix it. >>M && - echo OTHER >F && - GIT_AUTHOR_DATE="2005-05-26 23:41" \ - GIT_COMMITTER_DATE="2005-05-26 23:41" git commit -F M -a && - h_OTHER=$(git rev-parse --verify HEAD) && - GIT_AUTHOR_DATE="2005-05-26 23:44" \ - GIT_COMMITTER_DATE="2005-05-26 23:44" git commit --amend && - h_FIXED=$(git rev-parse --verify HEAD) && - echo Merged initial commit and a later commit. >M && - echo $h_TEST >.git/MERGE_HEAD && - GIT_AUTHOR_DATE="2005-05-26 23:45" \ - GIT_COMMITTER_DATE="2005-05-26 23:45" git commit -F M && - h_MERGED=$(git rev-parse --verify HEAD) - -[main (root-commit) 0c23f5f] add - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 F - create mode 100644 foo.c -[main d3968db] The other day this did not work. And then Bob told me how to fix it. - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -[main e66de33] The other day this did not work. And then Bob told me how to fix it. - Author: A U Thor - Date: Thu May 26 23:41:00 2005 +0000 - 1 file changed, 1 insertion(+), 1 deletion(-) -[main 29d1ccd] Merged initial commit and a later commit. - Author: A U Thor -ok 56 - creating initial files - -expecting success of 1400.57 'git commit logged updates': - test_cmp expect .git/logs/$m - -ok 57 - git commit logged updates - -expecting success of 1400.58 'git cat-file blob main:F (expect OTHER)': - test OTHER = $(git cat-file blob main:F) - -ok 58 - git cat-file blob main:F (expect OTHER) - -expecting success of 1400.59 'git cat-file blob main@{2005-05-26 23:30}:F (expect TEST)': - test TEST = $(git cat-file blob "main@{2005-05-26 23:30}:F") - -ok 59 - git cat-file blob main@{2005-05-26 23:30}:F (expect TEST) - -expecting success of 1400.60 'git cat-file blob main@{2005-05-26 23:42}:F (expect OTHER)': - test OTHER = $(git cat-file blob "main@{2005-05-26 23:42}:F") - -ok 60 - git cat-file blob main@{2005-05-26 23:42}:F (expect OTHER) - -expecting success of 1400.61 'given old value for missing pseudoref, do not create': - test_must_fail git update-ref PSEUDOREF $A $B 2>err && - test_must_fail git rev-parse PSEUDOREF && - test_i18ngrep "unable to resolve reference" err - -fatal: ambiguous argument 'PSEUDOREF': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -PSEUDOREF -fatal: update_ref failed for ref 'PSEUDOREF': cannot lock ref 'PSEUDOREF': unable to resolve reference 'PSEUDOREF' -ok 61 - given old value for missing pseudoref, do not create - -expecting success of 1400.62 'create pseudoref': - git update-ref PSEUDOREF $A && - test $A = $(git rev-parse PSEUDOREF) - -ok 62 - create pseudoref - -expecting success of 1400.63 'overwrite pseudoref with no old value given': - git update-ref PSEUDOREF $B && - test $B = $(git rev-parse PSEUDOREF) - -ok 63 - overwrite pseudoref with no old value given - -expecting success of 1400.64 'overwrite pseudoref with correct old value': - git update-ref PSEUDOREF $C $B && - test $C = $(git rev-parse PSEUDOREF) - -ok 64 - overwrite pseudoref with correct old value - -expecting success of 1400.65 'do not overwrite pseudoref with wrong old value': - test_must_fail git update-ref PSEUDOREF $D $E 2>err && - test $C = $(git rev-parse PSEUDOREF) && - test_i18ngrep "cannot lock ref.*expected" err - -fatal: update_ref failed for ref 'PSEUDOREF': cannot lock ref 'PSEUDOREF': is at 3cceb89b690679aecbe1db39079f99221f1aaaa6 but expected a6166d2809963b1da1148e6922729c21214390c8 -ok 65 - do not overwrite pseudoref with wrong old value - -expecting success of 1400.66 'delete pseudoref': - git update-ref -d PSEUDOREF && - test_must_fail git rev-parse PSEUDOREF - -fatal: ambiguous argument 'PSEUDOREF': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -PSEUDOREF -ok 66 - delete pseudoref - -expecting success of 1400.67 'do not delete pseudoref with wrong old value': - git update-ref PSEUDOREF $A && - test_must_fail git update-ref -d PSEUDOREF $B 2>err && - test $A = $(git rev-parse PSEUDOREF) && - test_i18ngrep "cannot lock ref.*expected" err - -error: cannot lock ref 'PSEUDOREF': is at 102939797ab91a4f201d131418d2c9d919dcdd2c but expected 56d5c1374e8028a1e122ab046ab7b98165342dc4 -ok 67 - do not delete pseudoref with wrong old value - -expecting success of 1400.68 'delete pseudoref with correct old value': - git update-ref -d PSEUDOREF $A && - test_must_fail git rev-parse PSEUDOREF - -fatal: ambiguous argument 'PSEUDOREF': unknown revision or path not in the working tree. -Use '--' to separate paths from revisions, like this: -'git [...] -- [...]' -PSEUDOREF -ok 68 - delete pseudoref with correct old value - -expecting success of 1400.69 'create pseudoref with old OID zero': - git update-ref PSEUDOREF $A $Z && - test $A = $(git rev-parse PSEUDOREF) - -ok 69 - create pseudoref with old OID zero - -expecting success of 1400.70 'do not overwrite pseudoref with old OID zero': - test_when_finished git update-ref -d PSEUDOREF && - test_must_fail git update-ref PSEUDOREF $B $Z 2>err && - test $A = $(git rev-parse PSEUDOREF) && - test_i18ngrep "already exists" err - -fatal: update_ref failed for ref 'PSEUDOREF': cannot lock ref 'PSEUDOREF': reference already exists -ok 70 - do not overwrite pseudoref with old OID zero - -expecting success of 1400.71 'stdin test setup': - echo "$pws" >"$pws" && - git add -- "$pws" && - git commit -m "$pws" - -[main 536da9b] path with space - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 path with space -ok 71 - stdin test setup - -expecting success of 1400.72 '-z fails without --stdin': - test_must_fail git update-ref -z $m $m $m 2>err && - test_i18ngrep "usage: git update-ref" err - -usage: git update-ref [] -d [] -ok 72 - -z fails without --stdin +usage: git update-ref [] -d [] +ok 72 - -z fails without --stdin expecting success of 1400.73 'stdin works with no input': >stdin && @@ -54382,8 +45441,8 @@ Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' refs/bisect/something ---- main-head 2024-05-31 22:30:23.557382576 +0000 -+++ worktree-head 2024-05-31 22:30:23.537382576 +0000 +--- main-head 2023-04-29 16:17:06.478124294 +0000 ++++ worktree-head 2023-04-29 16:17:06.386127434 +0000 @@ -1 +1 @@ -58a052250c09f010b95ad9bfe32f35d704eda1a0 +b62e0cb4990da3244885da90fe7d493334cca9f5 @@ -54606,9 +45665,9 @@ 1..189 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2027-checkout-track.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2027-checkout-track/.git/ -expecting success of 2027.1 'setup': +*** t1430-bad-ref-name.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1430-bad-ref-name/.git/ +expecting success of 1430.1 'setup': test_commit one && test_commit two @@ -54622,19 +45681,48 @@ create mode 100644 two.t ok 1 - setup -expecting success of 2027.2 'checkout --track -b creates a new tracking branch': - git checkout --track -b branch1 master && - test $(git rev-parse --abbrev-ref HEAD) = branch1 && - test $(git config --get branch.branch1.remote) = . && - test $(git config --get branch.branch1.merge) = refs/heads/master +expecting success of 1430.2 'fast-import: fail on invalid branch name ".badbranchname"': + test_when_finished "rm -f .git/objects/pack_* .git/objects/index_*" && + cat >input <<-INPUT_END && + commit .badbranchname + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <err && - test_i18ngrep "cannot be used with updating paths" err + INPUT_END + test_must_fail git fast-import input <<-INPUT_END && + commit bad[branch]name + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE + data <output 2>error && + test_i18ngrep -e "ignoring ref with broken name refs/heads/broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output checking prerequisite: C_LOCALE_OUTPUT @@ -54645,1226 +45733,1525 @@ ) prerequisite C_LOCALE_OUTPUT ok -fatal: '--track' cannot be used with updating paths -ok 3 - checkout --track -b rejects an extra path argument - -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2012-checkout-last.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2012-checkout-last/.git/ -expecting success of 2012.1 'setup': - echo hello >world && - git add world && - git commit -m initial && - git branch other && - echo "hello again" >>world && - git add world && - git commit -m second - -[master (root-commit) b8cd0f7] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 world -[master 261306f] second - Author: A U Thor - 1 file changed, 1 insertion(+) -ok 1 - setup +warning: ignoring ref with broken name refs/heads/broken...ref +ok 4 - git branch shows badly named ref as warning -expecting success of 2012.2 '"checkout -" does not work initially': - test_must_fail git checkout - +expecting success of 1430.5 'branch -d can delete badly named ref': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git branch -d broken...ref && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -error: pathspec '-' did not match any file(s) known to git -ok 2 - "checkout -" does not work initially +Deleted branch broken...ref (was broken). +ok 5 - branch -d can delete badly named ref -expecting success of 2012.3 'first branch switch': - git checkout other +expecting success of 1430.6 'branch -D can delete badly named ref': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git branch -D broken...ref && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -Switched to branch 'other' -ok 3 - first branch switch +Deleted branch broken...ref (was broken). +ok 6 - branch -D can delete badly named ref -expecting success of 2012.4 '"checkout -" switches back': - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master" +expecting success of 1430.7 'branch -D cannot delete non-ref in .git dir': + echo precious >.git/my-private-file && + echo precious >expect && + test_must_fail git branch -D ../../my-private-file && + test_cmp expect .git/my-private-file -Switched to branch 'master' -ok 4 - "checkout -" switches back +error: branch '../../my-private-file' not found. +ok 7 - branch -D cannot delete non-ref in .git dir -expecting success of 2012.5 '"checkout -" switches forth': - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/other" +expecting success of 1430.8 'branch -D cannot delete ref in .git dir': + git rev-parse HEAD >.git/my-private-file && + git rev-parse HEAD >expect && + git branch foo/legit && + test_must_fail git branch -D foo////./././../../../my-private-file && + test_cmp expect .git/my-private-file -Switched to branch 'other' -ok 5 - "checkout -" switches forth +error: branch 'foo////./././../../../my-private-file' not found. +ok 8 - branch -D cannot delete ref in .git dir -expecting success of 2012.6 'detach HEAD': - git checkout $(git rev-parse HEAD) +expecting success of 1430.9 'branch -D cannot delete absolute path': + git branch -f extra && + test_must_fail git branch -D "$(pwd)/.git/refs/heads/extra" && + test_cmp_rev HEAD extra -Note: switching to 'b8cd0f7432d68cb7ccc99e41ef8985d197bfd99b'. +error: branch '/build/git-2.30.2/t/trash directory.t1430-bad-ref-name/.git/refs/heads/extra' not found. +ok 9 - branch -D cannot delete absolute path -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 1430.10 'git branch cannot create a badly named ref': + test_when_finished "rm -f .git/refs/heads/broken...ref" && + test_must_fail git branch broken...ref && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +fatal: 'broken...ref' is not a valid branch name. +ok 10 - git branch cannot create a badly named ref - git switch -c +expecting success of 1430.11 'branch -m cannot rename to a bad ref name': + test_when_finished "rm -f .git/refs/heads/broken...ref" && + test_might_fail git branch -D goodref && + git branch goodref && + test_must_fail git branch -m goodref broken...ref && + test_cmp_rev master goodref && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -Or undo this operation with: +error: branch 'goodref' not found. +fatal: 'broken...ref' is not a valid branch name. +ok 11 - branch -m cannot rename to a bad ref name - git switch - +checking known breakage of 1430.12 'branch -m can rename from a bad ref name': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git branch -m broken...ref renamed && + test_cmp_rev master renamed && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -Turn off this advice by setting config variable advice.detachedHead to false +fatal: Invalid branch name: 'broken...ref' +not ok 12 - branch -m can rename from a bad ref name # TODO known breakage -HEAD is now at b8cd0f7 initial -ok 6 - detach HEAD +expecting success of 1430.13 'push cannot create a badly named ref': + test_when_finished "rm -f .git/refs/heads/broken...ref" && + test_must_fail git push "file://$(pwd)" HEAD:refs/heads/broken...ref && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -expecting success of 2012.7 '"checkout -" attaches again': - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/other" +fatal: invalid refspec 'HEAD:refs/heads/broken...ref' +ok 13 - push cannot create a badly named ref -Switched to branch 'other' -ok 7 - "checkout -" attaches again +checking known breakage of 1430.14 'push --mirror can delete badly named ref': + top=$(pwd) && + git init src && + git init dest && -expecting success of 2012.8 '"checkout -" detaches again': - git checkout - && - test "z$(git rev-parse HEAD)" = "z$(git rev-parse other)" && - test_must_fail git symbolic-ref HEAD + ( + cd src && + test_commit one + ) && + ( + cd dest && + test_commit two && + git checkout --detach && + cp .git/refs/heads/master .git/refs/heads/broken...ref + ) && + git -C src push --mirror "file://$top/dest" && + git -C dest branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -Note: switching to 'b8cd0f7432d68cb7ccc99e41ef8985d197bfd99b'. +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1430-bad-ref-name/src/.git/ +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1430-bad-ref-name/dest/.git/ +[master (root-commit) 4331c28] one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 one.t +[master (root-commit) 9db02ea] two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 two.t +HEAD is now at 9db02ea two +remote: warning: ignoring ref with broken name refs/heads/broken...ref +To file:///build/git-2.30.2/t/trash directory.t1430-bad-ref-name/dest + + 9db02ea...4331c28 master -> master (forced update) + - [deleted] two + * [new tag] one -> one +warning: ignoring ref with broken name refs/heads/broken...ref +not ok 14 - push --mirror can delete badly named ref # TODO known breakage -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 1430.15 'rev-parse skips symref pointing to broken name': + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git branch shadow one && + cp .git/refs/heads/master .git/refs/heads/broken...ref && + printf "ref: refs/heads/broken...ref\n" >.git/refs/tags/shadow && + test_when_finished "rm -f .git/refs/tags/shadow" && + git rev-parse --verify one >expect && + git rev-parse --verify shadow >actual 2>err && + test_cmp expect actual && + test_i18ngrep "ignoring dangling symref refs/tags/shadow" err -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +warning: ignoring dangling symref refs/tags/shadow +ok 15 - rev-parse skips symref pointing to broken name - git switch -c +expecting success of 1430.16 'for-each-ref emits warnings for broken names': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git for-each-ref >output 2>error && + ! grep -e "broken\.\.\.ref" output && + ! grep -e "badname" output && + ! grep -e "broken\.\.\.symref" output && + test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.ref" error && + test_i18ngrep "ignoring broken ref refs/heads/badname" error && + test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.symref" error -Or undo this operation with: +warning: ignoring ref with broken name refs/heads/broken...ref +warning: ignoring broken ref refs/heads/badname +warning: ignoring ref with broken name refs/heads/broken...symref +ok 16 - for-each-ref emits warnings for broken names - git switch - +expecting success of 1430.17 'update-ref -d can delete broken name': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git update-ref -d refs/heads/broken...ref >output 2>error && + test_must_be_empty output && + test_must_be_empty error && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -Turn off this advice by setting config variable advice.detachedHead to false +ok 17 - update-ref -d can delete broken name -HEAD is now at b8cd0f7 initial -fatal: ref HEAD is not a symbolic ref -ok 8 - "checkout -" detaches again +expecting success of 1430.18 'branch -d can delete broken name': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git branch -d broken...ref >output 2>error && + test_i18ngrep "Deleted branch broken...ref (was broken)" output && + test_must_be_empty error && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output -expecting success of 2012.9 'more switches': - for i in 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 - do - git checkout -b branch$i - done +Deleted branch broken...ref (was broken). +ok 18 - branch -d can delete broken name -Switched to a new branch 'branch16' -Switched to a new branch 'branch15' -Switched to a new branch 'branch14' -Switched to a new branch 'branch13' -Switched to a new branch 'branch12' -Switched to a new branch 'branch11' -Switched to a new branch 'branch10' -Switched to a new branch 'branch9' -Switched to a new branch 'branch8' -Switched to a new branch 'branch7' -Switched to a new branch 'branch6' -Switched to a new branch 'branch5' -Switched to a new branch 'branch4' -Switched to a new branch 'branch3' -Switched to a new branch 'branch2' -Switched to a new branch 'branch1' -ok 9 - more switches +expecting success of 1430.19 'update-ref --no-deref -d can delete symref to broken name': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git update-ref --no-deref -d refs/heads/badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_must_be_empty output && + test_must_be_empty error -expecting success of 2012.10 'switch to the last': - more_switches && - git checkout @{-1} && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch2" +ok 19 - update-ref --no-deref -d can delete symref to broken name -Switched to branch 'branch16' -Switched to branch 'branch15' -Switched to branch 'branch14' -Switched to branch 'branch13' -Switched to branch 'branch12' -Switched to branch 'branch11' -Switched to branch 'branch10' -Switched to branch 'branch9' -Switched to branch 'branch8' -Switched to branch 'branch7' -Switched to branch 'branch6' -Switched to branch 'branch5' -Switched to branch 'branch4' -Switched to branch 'branch3' -Switched to branch 'branch2' -Switched to branch 'branch1' -Switched to branch 'branch2' -ok 10 - switch to the last +expecting success of 1430.20 'branch -d can delete symref to broken name': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git branch -d badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output && + test_must_be_empty error -expecting success of 2012.11 'switch to second from the last': - more_switches && - git checkout @{-2} && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch3" +Deleted branch badname (was refs/heads/broken...ref). +ok 20 - branch -d can delete symref to broken name -Switched to branch 'branch16' -Switched to branch 'branch15' -Switched to branch 'branch14' -Switched to branch 'branch13' -Switched to branch 'branch12' -Switched to branch 'branch11' -Switched to branch 'branch10' -Switched to branch 'branch9' -Switched to branch 'branch8' -Switched to branch 'branch7' -Switched to branch 'branch6' -Switched to branch 'branch5' -Switched to branch 'branch4' -Switched to branch 'branch3' -Switched to branch 'branch2' -Switched to branch 'branch1' -Switched to branch 'branch3' -ok 11 - switch to second from the last +expecting success of 1430.21 'update-ref --no-deref -d can delete dangling symref to broken name': + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git update-ref --no-deref -d refs/heads/badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_must_be_empty output && + test_must_be_empty error -expecting success of 2012.12 'switch to third from the last': - more_switches && - git checkout @{-3} && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch4" +ok 21 - update-ref --no-deref -d can delete dangling symref to broken name -Switched to branch 'branch16' -Switched to branch 'branch15' -Switched to branch 'branch14' -Switched to branch 'branch13' -Switched to branch 'branch12' -Switched to branch 'branch11' -Switched to branch 'branch10' -Switched to branch 'branch9' -Switched to branch 'branch8' -Switched to branch 'branch7' -Switched to branch 'branch6' -Switched to branch 'branch5' -Switched to branch 'branch4' -Switched to branch 'branch3' -Switched to branch 'branch2' -Switched to branch 'branch1' -Switched to branch 'branch4' -ok 12 - switch to third from the last +expecting success of 1430.22 'branch -d can delete dangling symref to broken name': + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git branch -d badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output && + test_must_be_empty error -expecting success of 2012.13 'switch to fourth from the last': - more_switches && - git checkout @{-4} && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch5" +Deleted branch badname (was refs/heads/broken...ref). +ok 22 - branch -d can delete dangling symref to broken name -Switched to branch 'branch16' -Switched to branch 'branch15' -Switched to branch 'branch14' -Switched to branch 'branch13' -Switched to branch 'branch12' -Switched to branch 'branch11' -Switched to branch 'branch10' -Switched to branch 'branch9' -Switched to branch 'branch8' -Switched to branch 'branch7' -Switched to branch 'branch6' -Switched to branch 'branch5' -Switched to branch 'branch4' -Switched to branch 'branch3' -Switched to branch 'branch2' -Switched to branch 'branch1' -Switched to branch 'branch5' -ok 13 - switch to fourth from the last +expecting success of 1430.23 'update-ref -d can delete broken name through symref': + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git update-ref -d refs/heads/badname >output 2>error && + test_path_is_missing .git/refs/heads/broken...ref && + test_must_be_empty output && + test_must_be_empty error -expecting success of 2012.14 'switch to twelfth from the last': - more_switches && - git checkout @{-12} && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/branch13" +ok 23 - update-ref -d can delete broken name through symref -Switched to branch 'branch16' -Switched to branch 'branch15' -Switched to branch 'branch14' -Switched to branch 'branch13' -Switched to branch 'branch12' -Switched to branch 'branch11' -Switched to branch 'branch10' -Switched to branch 'branch9' -Switched to branch 'branch8' -Switched to branch 'branch7' -Switched to branch 'branch6' -Switched to branch 'branch5' -Switched to branch 'branch4' -Switched to branch 'branch3' -Switched to branch 'branch2' -Switched to branch 'branch1' -Switched to branch 'branch13' -ok 14 - switch to twelfth from the last +expecting success of 1430.24 'update-ref --no-deref -d can delete symref with broken name': + printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git update-ref --no-deref -d refs/heads/broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_must_be_empty output && + test_must_be_empty error -expecting success of 2012.15 'merge base test setup': - git checkout -b another other && - echo "hello again" >>world && - git add world && - git commit -m third +ok 24 - update-ref --no-deref -d can delete symref with broken name -Switched to a new branch 'another' -[another 7bc4f0b] third - Author: A U Thor - 1 file changed, 1 insertion(+) -ok 15 - merge base test setup +expecting success of 1430.25 'branch -d can delete symref with broken name': + printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git branch -d broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_i18ngrep "Deleted branch broken...symref (was refs/heads/master)" output && + test_must_be_empty error -expecting success of 2012.16 'another...master': - git checkout another && - git checkout another...master && - test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)" +Deleted branch broken...symref (was refs/heads/master). +ok 25 - branch -d can delete symref with broken name -Already on 'another' -Note: switching to 'another...master'. +expecting success of 1430.26 'update-ref --no-deref -d can delete dangling symref with broken name': + printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git update-ref --no-deref -d refs/heads/broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_must_be_empty output && + test_must_be_empty error -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +ok 26 - update-ref --no-deref -d can delete dangling symref with broken name -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 1430.27 'branch -d can delete dangling symref with broken name': + printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git branch -d broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_i18ngrep "Deleted branch broken...symref (was refs/heads/idonotexist)" output && + test_must_be_empty error - git switch -c +Deleted branch broken...symref (was refs/heads/idonotexist). +ok 27 - branch -d can delete dangling symref with broken name -Or undo this operation with: +expecting success of 1430.28 'update-ref -d cannot delete non-ref in .git dir': + echo precious >.git/my-private-file && + echo precious >expect && + test_must_fail git update-ref -d my-private-file >output 2>error && + test_must_be_empty output && + test_i18ngrep -e "refusing to update ref with bad name" error && + test_cmp expect .git/my-private-file - git switch - +error: refusing to update ref with bad name 'my-private-file' +ok 28 - update-ref -d cannot delete non-ref in .git dir -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 1430.29 'update-ref -d cannot delete absolute path': + git branch -f extra && + test_must_fail git update-ref -d "$(pwd)/.git/refs/heads/extra" && + test_cmp_rev HEAD extra -HEAD is now at b8cd0f7 initial -ok 16 - another...master +error: refusing to update ref with bad name '/build/git-2.30.2/t/trash directory.t1430-bad-ref-name/.git/refs/heads/extra' +ok 29 - update-ref -d cannot delete absolute path -expecting success of 2012.17 '...master': - git checkout another && - git checkout ...master && - test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)" +expecting success of 1430.30 'update-ref --stdin fails create with bad ref name': + echo "create ~a refs/heads/master" >stdin && + test_must_fail git update-ref --stdin err && + grep "fatal: invalid ref format: ~a" err -Previous HEAD position was b8cd0f7 initial -Switched to branch 'another' -Note: switching to '...master'. +fatal: invalid ref format: ~a +ok 30 - update-ref --stdin fails create with bad ref name -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 1430.31 'update-ref --stdin fails update with bad ref name': + echo "update ~a refs/heads/master" >stdin && + test_must_fail git update-ref --stdin err && + grep "fatal: invalid ref format: ~a" err -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +fatal: invalid ref format: ~a +ok 31 - update-ref --stdin fails update with bad ref name - git switch -c +expecting success of 1430.32 'update-ref --stdin fails delete with bad ref name': + echo "delete ~a refs/heads/master" >stdin && + test_must_fail git update-ref --stdin err && + grep "fatal: invalid ref format: ~a" err -Or undo this operation with: +fatal: invalid ref format: ~a +ok 32 - update-ref --stdin fails delete with bad ref name - git switch - +expecting success of 1430.33 'update-ref --stdin -z fails create with bad ref name': + printf "%s\0" "create ~a " refs/heads/master >stdin && + test_must_fail git update-ref -z --stdin err && + grep "fatal: invalid ref format: ~a " err -Turn off this advice by setting config variable advice.detachedHead to false +fatal: invalid ref format: ~a +ok 33 - update-ref --stdin -z fails create with bad ref name -HEAD is now at b8cd0f7 initial -ok 17 - ...master +expecting success of 1430.34 'update-ref --stdin -z fails update with bad ref name': + printf "%s\0" "update ~a" refs/heads/master "" >stdin && + test_must_fail git update-ref -z --stdin err && + grep "fatal: invalid ref format: ~a" err -expecting success of 2012.18 'master...': - git checkout another && - git checkout master... && - test "z$(git rev-parse --verify HEAD)" = "z$(git rev-parse --verify master^)" +fatal: invalid ref format: ~a +ok 34 - update-ref --stdin -z fails update with bad ref name -Previous HEAD position was b8cd0f7 initial -Switched to branch 'another' -Note: switching to 'master...'. +expecting success of 1430.35 'update-ref --stdin -z fails delete with bad ref name': + printf "%s\0" "delete ~a" refs/heads/master >stdin && + test_must_fail git update-ref -z --stdin err && + grep "fatal: invalid ref format: ~a" err -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +fatal: invalid ref format: ~a +ok 35 - update-ref --stdin -z fails delete with bad ref name -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 1430.36 'branch rejects HEAD as a branch name': + test_must_fail git branch HEAD HEAD^ && + test_must_fail git show-ref refs/heads/HEAD - git switch -c +fatal: 'HEAD' is not a valid branch name. +ok 36 - branch rejects HEAD as a branch name -Or undo this operation with: +expecting success of 1430.37 'checkout -b rejects HEAD as a branch name': + test_must_fail git checkout -B HEAD HEAD^ && + test_must_fail git show-ref refs/heads/HEAD - git switch - +fatal: 'HEAD' is not a valid branch name. +ok 37 - checkout -b rejects HEAD as a branch name -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 1430.38 'update-ref can operate on refs/heads/HEAD': + git update-ref refs/heads/HEAD HEAD^ && + git show-ref refs/heads/HEAD && + git update-ref -d refs/heads/HEAD && + test_must_fail git show-ref refs/heads/HEAD -HEAD is now at b8cd0f7 initial -ok 18 - master... +d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 refs/heads/HEAD +ok 38 - update-ref can operate on refs/heads/HEAD -expecting success of 2012.19 '"checkout -" works after a rebase A': - git checkout master && - git checkout other && - git rebase master && - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master" +expecting success of 1430.39 'branch -d can remove refs/heads/HEAD': + git update-ref refs/heads/HEAD HEAD^ && + git branch -d HEAD && + test_must_fail git show-ref refs/heads/HEAD -Previous HEAD position was b8cd0f7 initial -Switched to branch 'master' -Switched to branch 'other' - Successfully rebased and updated refs/heads/other. -Switched to branch 'master' -ok 19 - "checkout -" works after a rebase A +Deleted branch HEAD (was d79ce16). +ok 39 - branch -d can remove refs/heads/HEAD -expecting success of 2012.20 '"checkout -" works after a rebase A B': - git branch moodle master~1 && - git checkout master && - git checkout other && - git rebase master moodle && - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master" +expecting success of 1430.40 'branch -m can rename refs/heads/HEAD': + git update-ref refs/heads/HEAD HEAD^ && + git branch -m HEAD tail && + test_must_fail git show-ref refs/heads/HEAD && + git show-ref refs/heads/tail -Already on 'master' -Switched to branch 'other' - Successfully rebased and updated refs/heads/moodle. -Switched to branch 'master' -ok 20 - "checkout -" works after a rebase A B +warning: Renamed a misnamed branch 'HEAD' away +d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 refs/heads/tail +ok 40 - branch -m can rename refs/heads/HEAD -expecting success of 2012.21 '"checkout -" works after a rebase -i A': - git checkout master && - git checkout other && - git rebase -i master && - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master" +expecting success of 1430.41 'branch -d can remove refs/heads/-dash': + git update-ref refs/heads/-dash HEAD^ && + git branch -d -- -dash && + test_must_fail git show-ref refs/heads/-dash -Already on 'master' -Switched to branch 'other' - Successfully rebased and updated refs/heads/other. -Switched to branch 'master' -ok 21 - "checkout -" works after a rebase -i A +Deleted branch -dash (was d79ce16). +ok 41 - branch -d can remove refs/heads/-dash -expecting success of 2012.22 '"checkout -" works after a rebase -i A B': - git branch foodle master~1 && - git checkout master && - git checkout other && - git rebase master foodle && - git checkout - && - test "z$(git symbolic-ref HEAD)" = "zrefs/heads/master" +expecting success of 1430.42 'branch -m can rename refs/heads/-dash': + git update-ref refs/heads/-dash HEAD^ && + git branch -m -- -dash dash && + test_must_fail git show-ref refs/heads/-dash && + git show-ref refs/heads/dash -Already on 'master' -Switched to branch 'other' - Successfully rebased and updated refs/heads/foodle. -Switched to branch 'master' -ok 22 - "checkout -" works after a rebase -i A B +warning: Renamed a misnamed branch '-dash' away +d79ce1670bdcb76e6d1da2ae095e890ccb326ae9 refs/heads/dash +ok 42 - branch -m can rename refs/heads/-dash -# passed all 22 test(s) -1..22 +# still have 2 known breakage(s) +# passed all remaining 40 test(s) +1..42 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2026-checkout-pathspec-file.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2026-checkout-pathspec-file/.git/ -expecting success of 2026.1 'setup': - test_commit file0 && +*** t1502-rev-parse-parseopt.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1502-rev-parse-parseopt/.git/ +expecting success of 1502.1 'setup optionspec': + sed -e "s/^|//" >optionspec <<\EOF +|some-command [options] ... +| +|some-command does foo and bar! +|-- +|h,help show the help +| +|foo some nifty option --foo +|bar= some cool option --bar with an argument +|b,baz a short and long option +| +| An option group Header +|C? option C with an optional argument +|d,data? short and long option with an optional argument +| +| Argument hints +|B=arg short option required argument +|bar2=arg long option required argument +|e,fuz=with-space short and long option required argument +|s?some short option optional argument +|long?data long option optional argument +|g,fluf?path short and long option optional argument +|longest=very-long-argument-hint a very long argument hint +|pair=key=value with an equals sign in the hint +|aswitch help te=t contains? fl*g characters!` +|bswitch=hint hint has trailing tab character +|cswitch switch has trailing tab character +|short-hint=a with a one symbol hint +| +|Extras +|extra1 line above used to cause a segfault but no longer does +EOF - echo 1 >fileA.t && - echo 1 >fileB.t && - echo 1 >fileC.t && - echo 1 >fileD.t && - git add fileA.t fileB.t fileC.t fileD.t && - git commit -m "files 1" && +ok 1 - setup optionspec - echo 2 >fileA.t && - echo 2 >fileB.t && - echo 2 >fileC.t && - echo 2 >fileD.t && - git add fileA.t fileB.t fileC.t fileD.t && - git commit -m "files 2" && - - git tag checkpoint +expecting success of 1502.2 'setup optionspec-no-switches': + sed -e "s/^|//" >optionspec_no_switches <<\EOF +|some-command [options] ... +| +|some-command does foo and bar! +|-- +EOF -[master (root-commit) ad2e047] file0 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file0.t -[master 46ee160] files 1 - Author: A U Thor - 4 files changed, 4 insertions(+) - create mode 100644 fileA.t - create mode 100644 fileB.t - create mode 100644 fileC.t - create mode 100644 fileD.t -[master 774eb8e] files 2 - Author: A U Thor - 4 files changed, 4 insertions(+), 4 deletions(-) -ok 1 - setup +ok 2 - setup optionspec-no-switches -expecting success of 2026.2 '--pathspec-from-file from stdin': - restore_checkpoint && +expecting success of 1502.3 'setup optionspec-only-hidden-switches': + sed -e "s/^|//" >optionspec_only_hidden_switches <<\EOF +|some-command [options] ... +| +|some-command does foo and bar! +|-- +|hidden1* A hidden switch +EOF - echo fileA.t | git checkout --pathspec-from-file=- HEAD^1 && +ok 3 - setup optionspec-only-hidden-switches - cat >expect <<-\EOF && - M fileA.t - EOF - verify_expect +expecting success of 1502.4 'test --parseopt help output': + sed -e "s/^|//" >expect <<\END_EXPECT && +|cat <<\EOF +|usage: some-command [options] ... +| +| some-command does foo and bar! +| +| -h, --help show the help +| --foo some nifty option --foo +| --bar ... some cool option --bar with an argument +| -b, --baz a short and long option +| +|An option group Header +| -C[...] option C with an optional argument +| -d, --data[=...] short and long option with an optional argument +| +|Argument hints +| -B short option required argument +| --bar2 long option required argument +| -e, --fuz +| short and long option required argument +| -s[] short option optional argument +| --long[=] long option optional argument +| -g, --fluf[=] short and long option optional argument +| --longest +| a very long argument hint +| --pair with an equals sign in the hint +| --aswitch help te=t contains? fl*g characters!` +| --bswitch hint has trailing tab character +| --cswitch switch has trailing tab character +| --short-hint with a one symbol hint +| +|Extras +| --extra1 line above used to cause a segfault but no longer does +| +|EOF +END_EXPECT + test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec && + test_i18ncmp expect output -HEAD is now at 774eb8e files 2 -Updated 1 path from 0465292 -ok 2 - --pathspec-from-file from stdin +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 2026.3 '--pathspec-from-file from file': - restore_checkpoint && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false - echo fileA.t >list && - git checkout --pathspec-from-file=list HEAD^1 && +) +prerequisite C_LOCALE_OUTPUT ok +ok 4 - test --parseopt help output - cat >expect <<-\EOF && - M fileA.t - EOF - verify_expect +expecting success of 1502.5 'test --parseopt help output no switches': + sed -e "s/^|//" >expect <<\END_EXPECT && +|cat <<\EOF +|usage: some-command [options] ... +| +| some-command does foo and bar! +| +|EOF +END_EXPECT + test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec_no_switches && + test_i18ncmp expect output -HEAD is now at 774eb8e files 2 -Updated 1 path from 0465292 -ok 3 - --pathspec-from-file from file +ok 5 - test --parseopt help output no switches -expecting success of 2026.4 'NUL delimiters': - restore_checkpoint && +expecting success of 1502.6 'test --parseopt help output hidden switches': + sed -e "s/^|//" >expect <<\END_EXPECT && +|cat <<\EOF +|usage: some-command [options] ... +| +| some-command does foo and bar! +| +|EOF +END_EXPECT + test_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec_only_hidden_switches && + test_i18ncmp expect output - printf "fileA.t\0fileB.t\0" | git checkout --pathspec-from-file=- --pathspec-file-nul HEAD^1 && +ok 6 - test --parseopt help output hidden switches - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect +expecting success of 1502.7 'test --parseopt help-all output hidden switches': + sed -e "s/^|//" >expect <<\END_EXPECT && +|cat <<\EOF +|usage: some-command [options] ... +| +| some-command does foo and bar! +| +| --hidden1 A hidden switch +| +|EOF +END_EXPECT + test_expect_code 129 git rev-parse --parseopt -- --help-all > output < optionspec_only_hidden_switches && + test_i18ncmp expect output -HEAD is now at 774eb8e files 2 -Updated 2 paths from 0465292 -ok 4 - NUL delimiters +ok 7 - test --parseopt help-all output hidden switches -expecting success of 2026.5 'LF delimiters': - restore_checkpoint && +expecting success of 1502.8 'test --parseopt invalid switch help output': + sed -e "s/^|//" >expect <<\END_EXPECT && +|error: unknown option `does-not-exist' +|usage: some-command [options] ... +| +| some-command does foo and bar! +| +| -h, --help show the help +| --foo some nifty option --foo +| --bar ... some cool option --bar with an argument +| -b, --baz a short and long option +| +|An option group Header +| -C[...] option C with an optional argument +| -d, --data[=...] short and long option with an optional argument +| +|Argument hints +| -B short option required argument +| --bar2 long option required argument +| -e, --fuz +| short and long option required argument +| -s[] short option optional argument +| --long[=] long option optional argument +| -g, --fluf[=] short and long option optional argument +| --longest +| a very long argument hint +| --pair with an equals sign in the hint +| --aswitch help te=t contains? fl*g characters!` +| --bswitch hint has trailing tab character +| --cswitch switch has trailing tab character +| --short-hint with a one symbol hint +| +|Extras +| --extra1 line above used to cause a segfault but no longer does +| +END_EXPECT + test_expect_code 129 git rev-parse --parseopt -- --does-not-exist 1>/dev/null 2>output < optionspec && + test_i18ncmp expect output - printf "fileA.t\nfileB.t\n" | git checkout --pathspec-from-file=- HEAD^1 && +ok 8 - test --parseopt invalid switch help output - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect +expecting success of 1502.9 'setup expect.1': + cat > expect < output && + test_cmp expect output - printf "fileA.t\nfileB.t" | git checkout --pathspec-from-file=- HEAD^1 && +ok 10 - test --parseopt - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect +expecting success of 1502.11 'test --parseopt with mixed options and arguments': + git rev-parse --parseopt -- --foo arg --bar=ham --baz --aswitch < optionspec > output && + test_cmp expect output -HEAD is now at 774eb8e files 2 -Updated 2 paths from 0465292 -ok 6 - no trailing delimiter +ok 11 - test --parseopt with mixed options and arguments -expecting success of 2026.7 'CRLF delimiters': - restore_checkpoint && +expecting success of 1502.12 'setup expect.2': + cat > expect <expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect +expecting success of 1502.13 'test --parseopt with --': + git rev-parse --parseopt -- --foo -- arg --bar=ham < optionspec > output && + test_cmp expect output -HEAD is now at 774eb8e files 2 -Updated 2 paths from 0465292 -ok 7 - CRLF delimiters +ok 13 - test --parseopt with -- -expecting success of 2026.8 'quotes': - restore_checkpoint && +expecting success of 1502.14 'test --parseopt --stop-at-non-option': + git rev-parse --parseopt --stop-at-non-option -- --foo arg --bar=ham < optionspec > output && + test_cmp expect output - cat >list <<-\EOF && - "file\101.t" - EOF +ok 14 - test --parseopt --stop-at-non-option - git checkout --pathspec-from-file=list HEAD^1 && +expecting success of 1502.15 'setup expect.3': + cat > expect <expect <<-\EOF && - M fileA.t - EOF - verify_expect +ok 15 - setup expect.3 -HEAD is now at 774eb8e files 2 -Updated 1 path from 0465292 -ok 8 - quotes +expecting success of 1502.16 'test --parseopt --keep-dashdash': + git rev-parse --parseopt --keep-dashdash -- --foo -- arg --bar=ham < optionspec > output && + test_cmp expect output -expecting success of 2026.9 'quotes not compatible with --pathspec-file-nul': - restore_checkpoint && +ok 16 - test --parseopt --keep-dashdash - cat >list <<-\EOF && - "file\101.t" - EOF +expecting success of 1502.17 'setup expect.4': + cat >expect <output && + test_cmp expect output -expecting success of 2026.10 'only touches what was listed': - restore_checkpoint && +ok 18 - test --parseopt --keep-dashdash --stop-at-non-option with -- - printf "fileB.t\nfileC.t\n" | git checkout --pathspec-from-file=- HEAD^1 && +expecting success of 1502.19 'setup expect.5': + cat > expect <expect <<-\EOF && - M fileB.t - M fileC.t - EOF - verify_expect +ok 19 - setup expect.5 -HEAD is now at 774eb8e files 2 -Updated 2 paths from 0465292 -ok 10 - only touches what was listed +expecting success of 1502.20 'test --parseopt --keep-dashdash --stop-at-non-option without --': + git rev-parse --parseopt --keep-dashdash --stop-at-non-option -- --foo arg --spam=ham output && + test_cmp expect output -expecting success of 2026.11 'error conditions': - restore_checkpoint && - echo fileA.t >list && +ok 20 - test --parseopt --keep-dashdash --stop-at-non-option without -- - test_must_fail git checkout --pathspec-from-file=list --detach 2>err && - test_i18ngrep -e "--pathspec-from-file is incompatible with --detach" err && +expecting success of 1502.21 'setup expect.6': + cat > expect <err && - test_i18ngrep -e "--pathspec-from-file is incompatible with --patch" err && +ok 21 - setup expect.6 - test_must_fail git checkout --pathspec-from-file=list -- fileA.t 2>err && - test_i18ngrep -e "--pathspec-from-file is incompatible with pathspec arguments" err && +expecting success of 1502.22 'test --parseopt --stuck-long': + git rev-parse --parseopt --stuck-long -- --foo --bar=z -b arg -CZ -dA output && + test_cmp expect output - test_must_fail git checkout --pathspec-file-nul 2>err && - test_i18ngrep -e "--pathspec-file-nul requires --pathspec-from-file" err +ok 22 - test --parseopt --stuck-long -HEAD is now at 774eb8e files 2 -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1502.23 'setup expect.7': + cat > expect <output && + test_cmp expect output -# passed all 11 test(s) -1..11 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2050-git-dir-relative.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2050-git-dir-relative/.git/ -expecting success of 2050.1 'Setting up post-commit hook': -mkdir -p .git/hooks && -echo >.git/hooks/post-commit "#!/bin/sh -touch \"\${COMMIT_FILE}\" -echo Post commit hook was called." && -chmod +x .git/hooks/post-commit -ok 1 - Setting up post-commit hook +ok 24 - test --parseopt --stuck-long and empty optional argument -expecting success of 2050.2 'post-commit hook used ordinarily': -echo initial >top && -git add top && -git commit -m initial && -test -r "${COMMIT_FILE}" +expecting success of 1502.25 'setup expect.8': + cat > expect < - 1 file changed, 1 insertion(+) - create mode 100644 top -ok 2 - post-commit hook used ordinarily +ok 25 - setup expect.8 -expecting success of 2050.3 'post-commit-hook created and used from top dir': -echo changed >top && -git --git-dir subdir/.git add top && -git --git-dir subdir/.git commit -m topcommit && -test -r "${COMMIT_FILE}" +expecting success of 1502.26 'test --parseopt --stuck-long and long option with unset optional argument': + git rev-parse --parseopt --stuck-long -- --data arg -b output && + test_cmp expect output -Post commit hook was called. -[master fc38a58] topcommit - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 3 - post-commit-hook created and used from top dir +ok 26 - test --parseopt --stuck-long and long option with unset optional argument -expecting success of 2050.4 'post-commit-hook from sub dir': -echo changed again >top && -cd subdir && -git --git-dir .git --work-tree .. add ../top && -git --git-dir .git --work-tree .. commit -m subcommit && -test -r "${COMMIT_FILE}" +expecting success of 1502.27 'test --parseopt --stuck-long and short option with unset optional argument': + git rev-parse --parseopt --stuck-long -- -d arg -b output && + test_cmp expect output -Post commit hook was called. -[master ca7703f] subcommit - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 4 - post-commit-hook from sub dir +ok 27 - test --parseopt --stuck-long and short option with unset optional argument -# passed all 4 test(s) -1..4 +# passed all 27 test(s) +1..27 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2020-checkout-detach.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2020-checkout-detach/.git/ -expecting success of 2020.1 'setup': - test_commit one && - test_commit two && - test_commit three && git tag -d three && - test_commit four && git tag -d four && - git branch branch && - git tag tag - -[master (root-commit) d79ce16] one - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 one.t -[master 139b20d] two - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 two.t -[master 7c7cd71] three - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 three.t -Deleted tag 'three' (was 7c7cd71) -[master fd8d77e] four - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 four.t -Deleted tag 'four' (was fd8d77e) -ok 1 - setup - -expecting success of 2020.2 'checkout branch does not detach': - reset && - git checkout branch && - check_not_detached - -Already on 'master' -Switched to branch 'branch' -ok 2 - checkout branch does not detach - -expecting success of 2020.3 'checkout tag detaches': - reset && - git checkout tag && - check_detached - -Switched to branch 'master' -Note: switching to 'tag'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c - -Or undo this operation with: - - git switch - - -Turn off this advice by setting config variable advice.detachedHead to false - -HEAD is now at fd8d77e four -ok 3 - checkout tag detaches - -expecting success of 2020.4 'checkout branch by full name detaches': - reset && - git checkout refs/heads/branch && - check_detached - -Switched to branch 'master' -Note: switching to 'refs/heads/branch'. - -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. - -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: - - git switch -c +*** t1501-work-tree.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1501-work-tree/.git/ +expecting success of 1501.1 'setup': + EMPTY_TREE=$(git write-tree) && + EMPTY_BLOB=$(git hash-object -t blob --stdin expected.bare && + echo $2 >expected.inside-git && + echo $3 >expected.inside-worktree && + if test $# -ge 4 + then + echo $4 >expected.prefix + fi && -HEAD is now at fd8d77e four -ok 4 - checkout branch by full name detaches + git rev-parse --is-bare-repository >actual.bare && + git rev-parse --is-inside-git-dir >actual.inside-git && + git rev-parse --is-inside-work-tree >actual.inside-worktree && + if test $# -ge 4 + then + git rev-parse --show-prefix >actual.prefix + fi && -expecting success of 2020.5 'checkout non-ref detaches': - reset && - git checkout branch^ && - check_detached + test_cmp expected.bare actual.bare && + test_cmp expected.inside-git actual.inside-git && + test_cmp expected.inside-worktree actual.inside-worktree && + if test $# -ge 4 + then + # rev-parse --show-prefix should output + # a single newline when at the top of the work tree, + # but we test for that separately. + test -z "$4" && test_must_be_empty actual.prefix || + test_cmp expected.prefix actual.prefix + fi + } -Switched to branch 'master' -Note: switching to 'branch^'. +ok 2 - setup: helper for testing rev-parse -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 1501.3 'setup: core.worktree = relative path': + sane_unset GIT_WORK_TREE && + GIT_DIR=repo.git && + GIT_CONFIG="$(pwd)"/$GIT_DIR/config && + export GIT_DIR GIT_CONFIG && + git config core.worktree ../work -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +ok 3 - setup: core.worktree = relative path - git switch -c +expecting success of 1501.4 'outside': + test_rev_parse false false false -Or undo this operation with: +ok 4 - outside - git switch - +expecting success of 1501.5 'inside work tree': + ( + cd work && + GIT_DIR=../repo.git && + GIT_CONFIG="$(pwd)"/$GIT_DIR/config && + test_rev_parse false false true "" + ) -Turn off this advice by setting config variable advice.detachedHead to false +'actual.prefix' is not empty, it contains: -HEAD is now at 7c7cd71 three -ok 5 - checkout non-ref detaches +ok 5 - inside work tree -expecting success of 2020.6 'checkout ref^0 detaches': - reset && - git checkout branch^0 && - check_detached +expecting success of 1501.6 'empty prefix is actually written out': + echo >expected && + ( + cd work && + GIT_DIR=../repo.git && + GIT_CONFIG="$(pwd)"/$GIT_DIR/config && + git rev-parse --show-prefix >../actual + ) && + test_cmp expected actual -Previous HEAD position was 7c7cd71 three -Switched to branch 'master' -Note: switching to 'branch^0'. +ok 6 - empty prefix is actually written out -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 1501.7 'subdir of work tree': + ( + cd work/sub/dir && + GIT_DIR=../../../repo.git && + GIT_CONFIG="$(pwd)"/$GIT_DIR/config && + test_rev_parse false false true sub/dir/ + ) -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +ok 7 - subdir of work tree - git switch -c +expecting success of 1501.8 'setup: core.worktree = absolute path': + sane_unset GIT_WORK_TREE && + GIT_DIR=$(pwd)/repo.git && + GIT_CONFIG=$GIT_DIR/config && + export GIT_DIR GIT_CONFIG && + git config core.worktree "$(pwd)/work" -Or undo this operation with: +ok 8 - setup: core.worktree = absolute path - git switch - +expecting success of 1501.9 'outside': + test_rev_parse false false false && + ( + cd work2 && + test_rev_parse false false false + ) -Turn off this advice by setting config variable advice.detachedHead to false +ok 9 - outside -HEAD is now at fd8d77e four -ok 6 - checkout ref^0 detaches +expecting success of 1501.10 'inside work tree': + ( + cd work && + test_rev_parse false false true "" + ) -expecting success of 2020.7 'checkout --detach detaches': - reset && - git checkout --detach branch && - check_detached +'actual.prefix' is not empty, it contains: -Switched to branch 'master' -HEAD is now at fd8d77e four -ok 7 - checkout --detach detaches +ok 10 - inside work tree -expecting success of 2020.8 'checkout --detach without branch name': - reset && - git checkout --detach && - check_detached +expecting success of 1501.11 'subdir of work tree': + ( + cd work/sub/dir && + test_rev_parse false false true sub/dir/ + ) -Switched to branch 'master' -HEAD is now at fd8d77e four -ok 8 - checkout --detach without branch name +ok 11 - subdir of work tree -expecting success of 2020.9 'checkout --detach errors out for non-commit': - reset && - test_must_fail git checkout --detach one^{tree} && - check_not_detached +expecting success of 1501.12 'setup: GIT_WORK_TREE=relative (override core.worktree)': + GIT_DIR=$(pwd)/repo.git && + GIT_CONFIG=$GIT_DIR/config && + git config core.worktree non-existent && + GIT_WORK_TREE=work && + export GIT_DIR GIT_CONFIG GIT_WORK_TREE -Switched to branch 'master' -fatal: Cannot switch branch to a non-commit 'one^{tree}' -ok 9 - checkout --detach errors out for non-commit +ok 12 - setup: GIT_WORK_TREE=relative (override core.worktree) -expecting success of 2020.10 'checkout --detach errors out for extra argument': - reset && - git checkout master && - test_must_fail git checkout --detach tag one.t && - check_not_detached +expecting success of 1501.13 'outside': + test_rev_parse false false false && + ( + cd work2 && + test_rev_parse false false false + ) -Already on 'master' -Already on 'master' -fatal: git checkout: --detach does not take a path argument 'one.t' -ok 10 - checkout --detach errors out for extra argument +ok 13 - outside -expecting success of 2020.11 'checkout --detached and -b are incompatible': - reset && - test_must_fail git checkout --detach -b newbranch tag && - check_not_detached +expecting success of 1501.14 'inside work tree': + ( + cd work && + GIT_WORK_TREE=. && + test_rev_parse false false true "" + ) -Already on 'master' -fatal: '--detach' cannot be used with '-b/-B/--orphan' -ok 11 - checkout --detached and -b are incompatible +'actual.prefix' is not empty, it contains: -expecting success of 2020.12 'checkout --detach moves HEAD': - reset && - git checkout one && - git checkout --detach two && - git diff --exit-code HEAD && - git diff --exit-code two +ok 14 - inside work tree -Already on 'master' -Note: switching to 'one'. +expecting success of 1501.15 'subdir of work tree': + ( + cd work/sub/dir && + GIT_WORK_TREE=../.. && + test_rev_parse false false true sub/dir/ + ) -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +ok 15 - subdir of work tree -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 1501.16 'setup: GIT_WORK_TREE=absolute, below git dir': + mv work repo.git/work && + mv work2 repo.git/work2 && + GIT_DIR=$(pwd)/repo.git && + GIT_CONFIG=$GIT_DIR/config && + GIT_WORK_TREE=$(pwd)/repo.git/work && + export GIT_DIR GIT_CONFIG GIT_WORK_TREE - git switch -c +ok 16 - setup: GIT_WORK_TREE=absolute, below git dir -Or undo this operation with: +expecting success of 1501.17 'outside': + echo outside && + test_rev_parse false false false - git switch - +outside +ok 17 - outside -Turn off this advice by setting config variable advice.detachedHead to false +expecting success of 1501.18 'in repo.git': + ( + cd repo.git && + test_rev_parse false true false + ) && + ( + cd repo.git/objects && + test_rev_parse false true false + ) && + ( + cd repo.git/work2 && + test_rev_parse false true false + ) -HEAD is now at d79ce16 one -Previous HEAD position was d79ce16 one -HEAD is now at 139b20d two -ok 12 - checkout --detach moves HEAD +ok 18 - in repo.git -expecting success of 2020.13 'checkout warns on orphan commits': - reset && - git checkout --detach two && - echo content >orphan && - git add orphan && - git commit -a -m orphan1 && - echo new content >orphan && - git commit -a -m orphan2 && - orphan2=$(git rev-parse HEAD) && - git checkout master 2>stderr +expecting success of 1501.19 'inside work tree': + ( + cd repo.git/work && + test_rev_parse false true true "" + ) -Previous HEAD position was 139b20d two -Switched to branch 'master' -HEAD is now at 139b20d two -[detached HEAD 61e8031] orphan1 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 orphan -[detached HEAD bfea71d] orphan2 - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -ok 13 - checkout warns on orphan commits +'actual.prefix' is not empty, it contains: -expecting success of 2020.14 'checkout warns on orphan commits: output': - check_orphan_warning stderr "2 commits" +ok 19 - inside work tree -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 1501.20 'subdir of work tree': + ( + cd repo.git/work/sub/dir && + test_rev_parse false true true sub/dir/ + ) -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +ok 20 - subdir of work tree -) -prerequisite C_LOCALE_OUTPUT ok -Warning: you are leaving 2 commits behind, not connected to -ok 14 - checkout warns on orphan commits: output +expecting success of 1501.21 'find work tree from repo': + echo sub/dir/untracked >expected && + cat <<-\EOF >repo.git/work/.gitignore && + expected.* + actual.* + .gitignore + EOF + >repo.git/work/sub/dir/untracked && + ( + cd repo.git && + git ls-files --others --exclude-standard >../actual + ) && + test_cmp expected actual -expecting success of 2020.15 'checkout warns orphaning 1 of 2 commits': - git checkout "$orphan2" && - git checkout HEAD^ 2>stderr +ok 21 - find work tree from repo -Note: switching to 'bfea71df3731158d55fcf7b9d1ae214132b90e2b'. +expecting success of 1501.22 'find work tree from work tree': + echo sub/dir/tracked >expected && + >repo.git/work/sub/dir/tracked && + ( + cd repo.git/work/sub/dir && + git --git-dir=../../.. add tracked + ) && + ( + cd repo.git && + git ls-files >../actual + ) && + test_cmp expected actual -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +ok 22 - find work tree from work tree -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +expecting success of 1501.23 '_gently() groks relative GIT_DIR & GIT_WORK_TREE': + ( + cd repo.git/work/sub/dir && + GIT_DIR=../../.. && + GIT_WORK_TREE=../.. && + GIT_PAGER= && + export GIT_DIR GIT_WORK_TREE GIT_PAGER && - git switch -c + git diff --exit-code tracked && + echo changed >tracked && + test_must_fail git diff --exit-code tracked + ) -Or undo this operation with: +diff --git a/sub/dir/tracked b/sub/dir/tracked +index e69de29..5ea2ed4 100644 +--- a/sub/dir/tracked ++++ b/sub/dir/tracked +@@ -0,0 +1 @@ ++changed +ok 23 - _gently() groks relative GIT_DIR & GIT_WORK_TREE - git switch - +expecting success of 1501.24 'diff-index respects work tree under .git dir': + cat >diff-index-cached.expected <<-EOF && + :000000 100644 $ZERO_OID $EMPTY_BLOB A sub/dir/tracked + EOF + cat >diff-index.expected <<-EOF && + :000000 100644 $ZERO_OID $ZERO_OID A sub/dir/tracked + EOF -Turn off this advice by setting config variable advice.detachedHead to false + ( + GIT_DIR=repo.git && + GIT_WORK_TREE=repo.git/work && + export GIT_DIR GIT_WORK_TREE && + git diff-index $EMPTY_TREE >diff-index.actual && + git diff-index --cached $EMPTY_TREE >diff-index-cached.actual + ) && + test_cmp diff-index.expected diff-index.actual && + test_cmp diff-index-cached.expected diff-index-cached.actual -HEAD is now at bfea71d orphan2 -ok 15 - checkout warns orphaning 1 of 2 commits +ok 24 - diff-index respects work tree under .git dir -expecting success of 2020.16 'checkout warns orphaning 1 of 2 commits: output': - check_orphan_warning stderr "1 commit" +expecting success of 1501.25 'diff-files respects work tree under .git dir': + cat >diff-files.expected <<-EOF && + :100644 100644 $EMPTY_BLOB $ZERO_OID M sub/dir/tracked + EOF -Warning: you are leaving 1 commit behind, not connected to -ok 16 - checkout warns orphaning 1 of 2 commits: output + ( + GIT_DIR=repo.git && + GIT_WORK_TREE=repo.git/work && + export GIT_DIR GIT_WORK_TREE && + git diff-files >diff-files.actual + ) && + test_cmp diff-files.expected diff-files.actual -expecting success of 2020.17 'checkout does not warn leaving ref tip': - reset && - git checkout --detach two && - git checkout master 2>stderr +ok 25 - diff-files respects work tree under .git dir -Warning: you are leaving 1 commit behind, not connected to -any of your branches: +expecting success of 1501.26 'git diff respects work tree under .git dir': + cat >diff-TREE.expected <<-EOF && + diff --git a/sub/dir/tracked b/sub/dir/tracked + new file mode 100644 + index 0000000..$CHANGED_BLOB7 + --- /dev/null + +++ b/sub/dir/tracked + @@ -0,0 +1 @@ + +changed + EOF + cat >diff-TREE-cached.expected <<-EOF && + diff --git a/sub/dir/tracked b/sub/dir/tracked + new file mode 100644 + index 0000000..$EMPTY_BLOB7 + EOF + cat >diff-FILES.expected <<-EOF && + diff --git a/sub/dir/tracked b/sub/dir/tracked + index $EMPTY_BLOB7..$CHANGED_BLOB7 100644 + --- a/sub/dir/tracked + +++ b/sub/dir/tracked + @@ -0,0 +1 @@ + +changed + EOF - 61e8031 orphan1 + ( + GIT_DIR=repo.git && + GIT_WORK_TREE=repo.git/work && + export GIT_DIR GIT_WORK_TREE && + git diff $EMPTY_TREE >diff-TREE.actual && + git diff --cached $EMPTY_TREE >diff-TREE-cached.actual && + git diff >diff-FILES.actual + ) && + test_cmp diff-TREE.expected diff-TREE.actual && + test_cmp diff-TREE-cached.expected diff-TREE-cached.actual && + test_cmp diff-FILES.expected diff-FILES.actual -If you want to keep it by creating a new branch, this may be a good time -to do so with: +ok 26 - git diff respects work tree under .git dir - git branch 61e8031 +expecting success of 1501.27 'git grep': + echo dir/tracked >expected.grep && + ( + cd repo.git/work/sub && + GIT_DIR=../.. && + GIT_WORK_TREE=.. && + export GIT_DIR GIT_WORK_TREE && + git grep -l changed >../../../actual.grep + ) && + test_cmp expected.grep actual.grep -Switched to branch 'master' -HEAD is now at 139b20d two -ok 17 - checkout does not warn leaving ref tip +ok 27 - git grep -expecting success of 2020.18 'checkout does not warn leaving ref tip': - check_no_orphan_warning stderr +expecting success of 1501.28 'git commit': + ( + cd repo.git && + GIT_DIR=. GIT_WORK_TREE=work git commit -a -m done + ) -Previous HEAD position was 139b20d two -ok 18 - checkout does not warn leaving ref tip +[master (root-commit) 271ed29] done + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 sub/dir/tracked +ok 28 - git commit -expecting success of 2020.19 'checkout does not warn leaving reachable commit': - reset && - git checkout --detach HEAD^ && - git checkout master 2>stderr +expecting success of 1501.29 'absolute pathspec should fail gracefully': + ( + cd repo.git && + test_might_fail git config --unset core.worktree && + test_must_fail git log HEAD -- /home + ) -Already on 'master' -HEAD is now at 7c7cd71 three -ok 19 - checkout does not warn leaving reachable commit +fatal: /home: '/home' is outside repository at '/build/git-2.30.2/t/trash directory.t1501-work-tree/repo.git/work' +ok 29 - absolute pathspec should fail gracefully -expecting success of 2020.20 'checkout does not warn leaving reachable commit': - check_no_orphan_warning stderr +expecting success of 1501.30 'make_relative_path handles double slashes in GIT_DIR': + >dummy_file && + echo git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file && + git --git-dir="$(pwd)//repo.git" --work-tree="$(pwd)" add dummy_file -Previous HEAD position was 7c7cd71 three -ok 20 - checkout does not warn leaving reachable commit +git --git-dir=/build/git-2.30.2/t/trash directory.t1501-work-tree//repo.git --work-tree=/build/git-2.30.2/t/trash directory.t1501-work-tree add dummy_file +ok 30 - make_relative_path handles double slashes in GIT_DIR -expecting success of 2020.21 'tracking count is accurate after orphan check': - reset && - git branch child master^ && - git config branch.child.remote . && - git config branch.child.merge refs/heads/master && - git checkout child^ && - git checkout child >stdout && - test_i18ncmp expect stdout +expecting success of 1501.31 'relative $GIT_WORK_TREE and git subprocesses': + GIT_DIR=repo.git GIT_WORK_TREE=repo.git/work \ + test-tool subprocess --setup-work-tree rev-parse --show-toplevel >actual && + echo "$(pwd)/repo.git/work" >expected && + test_cmp expected actual -Already on 'master' -Note: switching to 'child^'. +ok 31 - relative $GIT_WORK_TREE and git subprocesses -You are in 'detached HEAD' state. You can look around, make experimental -changes and commit them, and you can discard any commits you make in this -state without impacting any branches by switching back to a branch. +expecting success of 1501.32 'Multi-worktree setup': + mkdir work && + mkdir -p repo.git/repos/foo && + cp repo.git/HEAD repo.git/index repo.git/repos/foo && + { cp repo.git/sharedindex.* repo.git/repos/foo || :; } && + sane_unset GIT_DIR GIT_CONFIG GIT_WORK_TREE -If you want to create a new branch to retain commits you create, you may -do so (now or later) by using -c with the switch command. Example: +cp: cannot stat 'repo.git/sharedindex.*': No such file or directory +ok 32 - Multi-worktree setup - git switch -c +expecting success of 1501.33 'GIT_DIR set (1)': + echo "gitdir: repo.git/repos/foo" >gitfile && + echo ../.. >repo.git/repos/foo/commondir && + ( + cd work && + GIT_DIR=../gitfile git rev-parse --git-common-dir >actual && + test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && + test_cmp expect actual + ) -Or undo this operation with: +ok 33 - GIT_DIR set (1) - git switch - +expecting success of 1501.34 'GIT_DIR set (2)': + echo "gitdir: repo.git/repos/foo" >gitfile && + echo "$(pwd)/repo.git" >repo.git/repos/foo/commondir && + ( + cd work && + GIT_DIR=../gitfile git rev-parse --git-common-dir >actual && + test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && + test_cmp expect actual + ) -Turn off this advice by setting config variable advice.detachedHead to false +ok 34 - GIT_DIR set (2) -HEAD is now at 139b20d two -Previous HEAD position was 139b20d two -Switched to branch 'child' -ok 21 - tracking count is accurate after orphan check +expecting success of 1501.35 'Auto discovery': + echo "gitdir: repo.git/repos/foo" >.git && + echo ../.. >repo.git/repos/foo/commondir && + ( + cd work && + git rev-parse --git-common-dir >actual && + test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && + test_cmp expect actual && + echo haha >data1 && + git add data1 && + git ls-files --full-name :/ | grep data1 >actual && + echo work/data1 >expect && + test_cmp expect actual + ) -expecting success of 2020.22 'no advice given for explicit detached head state': - # baseline - test_config advice.detachedHead true && - git checkout child && git checkout HEAD^0 >expect.advice 2>&1 && - test_config advice.detachedHead false && - git checkout child && git checkout HEAD^0 >expect.no-advice 2>&1 && - test_unconfig advice.detachedHead && - # without configuration, the advice.* variables default to true - git checkout child && git checkout HEAD^0 >actual 2>&1 && - test_cmp expect.advice actual && +ok 35 - Auto discovery - # with explicit --detach - # no configuration - test_unconfig advice.detachedHead && - git checkout child && git checkout --detach HEAD^0 >actual 2>&1 && - test_cmp expect.no-advice actual && +expecting success of 1501.36 '$GIT_DIR/common overrides core.worktree': + mkdir elsewhere && + git --git-dir=repo.git config core.worktree "$TRASH_DIRECTORY/elsewhere" && + echo "gitdir: repo.git/repos/foo" >.git && + echo ../.. >repo.git/repos/foo/commondir && + ( + cd work && + git rev-parse --git-common-dir >actual && + test-tool path-utils real_path "$TRASH_DIRECTORY/repo.git" >expect && + test_cmp expect actual && + echo haha >data2 && + git add data2 && + git ls-files --full-name :/ | grep data2 >actual && + echo work/data2 >expect && + test_cmp expect actual + ) - # explicitly decline advice - test_config advice.detachedHead false && - git checkout child && git checkout --detach HEAD^0 >actual 2>&1 && - test_cmp expect.no-advice actual +ok 36 - $GIT_DIR/common overrides core.worktree -Already on 'child' -Your branch is behind 'master' by 1 commit, and can be fast-forwarded. - (use "git pull" to update your local branch) -Switched to branch 'child' -Your branch is behind 'master' by 1 commit, and can be fast-forwarded. - (use "git pull" to update your local branch) -Switched to branch 'child' -Your branch is behind 'master' by 1 commit, and can be fast-forwarded. - (use "git pull" to update your local branch) -Switched to branch 'child' -Your branch is behind 'master' by 1 commit, and can be fast-forwarded. - (use "git pull" to update your local branch) -Switched to branch 'child' -Your branch is behind 'master' by 1 commit, and can be fast-forwarded. - (use "git pull" to update your local branch) -ok 22 - no advice given for explicit detached head state +expecting success of 1501.37 '$GIT_WORK_TREE overrides $GIT_DIR/common': + echo "gitdir: repo.git/repos/foo" >.git && + echo ../.. >repo.git/repos/foo/commondir && + ( + cd work && + echo haha >data3 && + git --git-dir=../.git --work-tree=. add data3 && + git ls-files --full-name -- :/ | grep data3 >actual && + echo data3 >expect && + test_cmp expect actual + ) -expecting success of 2020.23 'describe_detached_head prints no SHA-1 ellipsis when not asked to': +ok 37 - $GIT_WORK_TREE overrides $GIT_DIR/common - commit=7c7cd714e262 && - commit2=139b20d8e6c5 && - commit3=d79ce1670bdc && +expecting success of 1501.38 'error out gracefully on invalid $GIT_WORK_TREE': + ( + GIT_WORK_TREE=/.invalid/work/tree && + export GIT_WORK_TREE && + test_expect_code 128 git rev-parse + ) - # The first detach operation is more chatty than the following ones. - cat >1st_detach <<-EOF && - Note: switching to 'HEAD^'. +fatal: Invalid path '/.invalid': No such file or directory +ok 38 - error out gracefully on invalid $GIT_WORK_TREE - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. +expecting success of 1501.39 'refs work with relative gitdir and work tree': + git init relative && + git -C relative commit --allow-empty -m one && + git -C relative commit --allow-empty -m two && - If you want to create a new branch to retain commits you create, you may - do so (now or later) by using -c with the switch command. Example: + GIT_DIR=relative/.git GIT_WORK_TREE=relative git reset HEAD^ && - git switch -c + git -C relative log -1 --format=%s >actual && + echo one >expect && + test_cmp expect actual - Or undo this operation with: +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: +hint: +hint: git config --global init.defaultBranch +hint: +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: +hint: +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1501-work-tree/relative/.git/ +[master (root-commit) 61ba98b] one + Author: A U Thor +[master 2b4e70d] two + Author: A U Thor +ok 39 - refs work with relative gitdir and work tree - git switch - +# passed all 39 test(s) +1..39 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1505-rev-parse-last.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1505-rev-parse-last/.git/ +expecting success of 1505.1 'setup': - Turn off this advice by setting config variable advice.detachedHead to false + make_commit 1 && + git branch side && + make_commit 2 && + make_commit 3 && + git checkout side && + make_commit 4 && + git merge master && + git checkout master - HEAD is now at $commit three - EOF - # The remaining ones just show info about previous and current HEADs. - cat >2nd_detach <<-EOF && - Previous HEAD position was $commit three - HEAD is now at $commit2 two - EOF +[master (root-commit) c11cd10] 1 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 1 +[master ba98451] 2 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 2 +[master aefd701] 3 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 3 +Switched to branch 'side' +[side 1d4df77] 4 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 4 +Merging: +1d4df77 4 +virtual master +found 1 common ancestor: +c11cd10 1 +Merge made by the 'recursive' strategy. + 2 | 1 + + 3 | 1 + + 2 files changed, 2 insertions(+) + create mode 100644 2 + create mode 100644 3 +Switched to branch 'master' +ok 1 - setup - cat >3rd_detach <<-EOF && - Previous HEAD position was $commit2 two - HEAD is now at $commit3 one - EOF +expecting success of 1505.2 '@{-1} works': + test_cmp_rev side @{-1} - reset && - check_not_detached && +ok 2 - @{-1} works - # Various ways of *not* asking for ellipses +expecting success of 1505.3 '@{-1}~2 works': + test_cmp_rev side~2 @{-1}~2 - sane_unset GIT_PRINT_SHA1_ELLIPSIS && - git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 1st_detach actual && +ok 3 - @{-1}~2 works - GIT_PRINT_SHA1_ELLIPSIS=no git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 2nd_detach actual && +expecting success of 1505.4 '@{-1}^2 works': + test_cmp_rev side^2 @{-1}^2 - GIT_PRINT_SHA1_ELLIPSIS= git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 3rd_detach actual && +ok 4 - @{-1}^2 works - sane_unset GIT_PRINT_SHA1_ELLIPSIS && +expecting success of 1505.5 '@{-1}@{1} works': + test_cmp_rev side@{1} @{-1}@{1} - # We only have four commits, but we can re-use them - reset && - check_not_detached && +ok 5 - @{-1}@{1} works - # Make no mention of the env var at all - git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 1st_detach actual && +expecting success of 1505.6 '@{-2} works': + test_cmp_rev master @{-2} - GIT_PRINT_SHA1_ELLIPSIS='nope' && - git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 2nd_detach actual && +ok 6 - @{-2} works - GIT_PRINT_SHA1_ELLIPSIS=nein && - git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 3rd_detach actual && +expecting success of 1505.7 '@{-3} fails': + test_must_fail git rev-parse @{-3} - true +fatal: ambiguous argument '@{-3}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +@{-3} +ok 7 - @{-3} fails -Previous HEAD position was 7c7cd71 three -Switched to branch 'master' -Previous HEAD position was d79ce16 one -Switched to branch 'master' -ok 23 - describe_detached_head prints no SHA-1 ellipsis when not asked to +# passed all 7 test(s) +1..7 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1503-rev-parse-verify.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1503-rev-parse-verify/.git/ +expecting success of 1503.1 'set up basic repo with 1 file (hello) and 4 commits': + add_line_into_file "1: Hello World" hello && + HASH1=$(git rev-parse --verify HEAD) && + add_line_into_file "2: A new day for git" hello && + HASH2=$(git rev-parse --verify HEAD) && + add_line_into_file "3: Another new day for git" hello && + HASH3=$(git rev-parse --verify HEAD) && + add_line_into_file "4: Ciao for now" hello && + HASH4=$(git rev-parse --verify HEAD) -expecting success of 2020.24 'describe_detached_head does print SHA-1 ellipsis when asked to': +ok 1 - set up basic repo with 1 file (hello) and 4 commits - commit=7c7cd714e262 && - commit2=139b20d8e6c5 && - commit3=d79ce1670bdc && +expecting success of 1503.2 'works with one good rev': + rev_hash1=$(git rev-parse --verify $HASH1) && + test "$rev_hash1" = "$HASH1" && + rev_hash2=$(git rev-parse --verify $HASH2) && + test "$rev_hash2" = "$HASH2" && + rev_hash3=$(git rev-parse --verify $HASH3) && + test "$rev_hash3" = "$HASH3" && + rev_hash4=$(git rev-parse --verify $HASH4) && + test "$rev_hash4" = "$HASH4" && + rev_master=$(git rev-parse --verify master) && + test "$rev_master" = "$HASH4" && + rev_head=$(git rev-parse --verify HEAD) && + test "$rev_head" = "$HASH4" - # The first detach operation is more chatty than the following ones. - cat >1st_detach <<-EOF && - Note: switching to 'HEAD^'. +ok 2 - works with one good rev - You are in 'detached HEAD' state. You can look around, make experimental - changes and commit them, and you can discard any commits you make in this - state without impacting any branches by switching back to a branch. +expecting success of 1503.3 'fails with any bad rev or many good revs': + test_must_fail git rev-parse --verify 2>error && + grep "single revision" error && + test_must_fail git rev-parse --verify foo 2>error && + grep "single revision" error && + test_must_fail git rev-parse --verify HEAD bar 2>error && + grep "single revision" error && + test_must_fail git rev-parse --verify baz HEAD 2>error && + grep "single revision" error && + test_must_fail git rev-parse --verify $HASH2 HEAD 2>error && + grep "single revision" error - If you want to create a new branch to retain commits you create, you may - do so (now or later) by using -c with the switch command. Example: +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +ok 3 - fails with any bad rev or many good revs - git switch -c +expecting success of 1503.4 'fails silently when using -q': + test_must_fail git rev-parse --verify --quiet 2>error && + test_must_be_empty error && + test_must_fail git rev-parse -q --verify foo 2>error && + test_must_be_empty error && + test_must_fail git rev-parse --verify -q HEAD bar 2>error && + test_must_be_empty error && + test_must_fail git rev-parse --quiet --verify baz HEAD 2>error && + test_must_be_empty error && + test_must_fail git rev-parse -q --verify $HASH2 HEAD 2>error && + test_must_be_empty error - Or undo this operation with: +ok 4 - fails silently when using -q - git switch - +expecting success of 1503.5 'fails silently when using -q with deleted reflogs': + ref=$(git rev-parse HEAD) && + git update-ref --create-reflog -m "message for refs/test" refs/test "$ref" && + git reflog delete --updateref --rewrite refs/test@{0} && + test_must_fail git rev-parse -q --verify refs/test@{0} >error 2>&1 && + test_must_be_empty error - Turn off this advice by setting config variable advice.detachedHead to false +ok 5 - fails silently when using -q with deleted reflogs - HEAD is now at $commit... three - EOF +expecting success of 1503.6 'fails silently when using -q with not enough reflogs': + ref=$(git rev-parse HEAD) && + git update-ref --create-reflog -m "message for refs/test2" refs/test2 "$ref" && + test_must_fail git rev-parse -q --verify refs/test2@{999} >error 2>&1 && + test_must_be_empty error - # The remaining ones just show info about previous and current HEADs. - cat >2nd_detach <<-EOF && - Previous HEAD position was $commit... three - HEAD is now at $commit2... two - EOF +ok 6 - fails silently when using -q with not enough reflogs - cat >3rd_detach <<-EOF && - Previous HEAD position was $commit2... two - HEAD is now at $commit3... one - EOF +expecting success of 1503.7 'succeeds silently with -q and reflogs that do not go far back enough in time': + ref=$(git rev-parse HEAD) && + git update-ref --create-reflog -m "message for refs/test3" refs/test3 "$ref" && + git rev-parse -q --verify refs/test3@{1.year.ago} >actual 2>error && + test_must_be_empty error && + echo "$ref" >expect && + test_cmp expect actual - reset && - check_not_detached && +ok 7 - succeeds silently with -q and reflogs that do not go far back enough in time - # Various ways of asking for ellipses... - # The user can just use any kind of quoting (including none). +expecting success of 1503.8 'no stdout output on error': + test -z "$(git rev-parse --verify)" && + test -z "$(git rev-parse --verify foo)" && + test -z "$(git rev-parse --verify baz HEAD)" && + test -z "$(git rev-parse --verify HEAD bar)" && + test -z "$(git rev-parse --verify $HASH2 HEAD)" - GIT_PRINT_SHA1_ELLIPSIS=yes git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 1st_detach actual && +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +ok 8 - no stdout output on error - GIT_PRINT_SHA1_ELLIPSIS=Yes git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 2nd_detach actual && +expecting success of 1503.9 'use --default': + git rev-parse --verify --default master && + git rev-parse --verify --default master HEAD && + git rev-parse --default master --verify && + git rev-parse --default master --verify HEAD && + git rev-parse --verify HEAD --default master && + test_must_fail git rev-parse --verify foo --default master && + test_must_fail git rev-parse --default HEAD --verify bar && + test_must_fail git rev-parse --verify --default HEAD baz && + test_must_fail git rev-parse --default foo --verify && + test_must_fail git rev-parse --verify --default bar - GIT_PRINT_SHA1_ELLIPSIS=YES git -c 'core.abbrev=12' checkout HEAD^ >actual 2>&1 && - check_detached && - test_i18ncmp 3rd_detach actual && +32a594a3fdac2d57cf6d02987e30eec68511498c +32a594a3fdac2d57cf6d02987e30eec68511498c +32a594a3fdac2d57cf6d02987e30eec68511498c +32a594a3fdac2d57cf6d02987e30eec68511498c +32a594a3fdac2d57cf6d02987e30eec68511498c +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +fatal: Needed a single revision +ok 9 - use --default - true +expecting success of 1503.10 'master@{n} for various n': + N=$(git reflog | wc -l) && + Nm1=$(($N-1)) && + Np1=$(($N+1)) && + git rev-parse --verify master@{0} && + git rev-parse --verify master@{1} && + git rev-parse --verify master@{$Nm1} && + test_must_fail git rev-parse --verify master@{$N} && + test_must_fail git rev-parse --verify master@{$Np1} -Previous HEAD position was d79ce16 one -Switched to branch 'master' -ok 24 - describe_detached_head does print SHA-1 ellipsis when asked to +32a594a3fdac2d57cf6d02987e30eec68511498c +3de952f2416b6084f557ec417709eac740c6818c +88bcdc1839f0ad191ffdd65cae2a2a862d682151 +fatal: log for 'master' only has 4 entries +fatal: log for 'master' only has 4 entries +ok 10 - master@{n} for various n -# passed all 24 test(s) -1..24 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2100-update-cache-badpath.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2100-update-cache-badpath/.git/ checking prerequisite: SYMLINKS mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && @@ -55875,1507 +47262,1670 @@ ) prerequisite SYMLINKS ok -expecting success of 2100.1 'git update-index --add to add various paths.': git update-index --add -- path0 path1 path2/file2 path3/file3 -ok 1 - git update-index --add to add various paths. +expecting success of 1503.11 'ref resolution not confused by broken symlinks': + ln -s does-not-exist .git/refs/heads/broken && + test_must_fail git rev-parse --verify broken -expecting success of 2100.2 'git update-index to add conflicting path path0/file0 should fail.': test_must_fail git update-index --add -- path0/file0 -error: 'path0/file0' appears as both a file and as a directory -error: path0/file0: cannot add to the index - missing --add option? -fatal: Unable to process path path0/file0 -ok 2 - git update-index to add conflicting path path0/file0 should fail. +fatal: Needed a single revision +ok 11 - ref resolution not confused by broken symlinks -expecting success of 2100.3 'git update-index to add conflicting path path1/file1 should fail.': test_must_fail git update-index --add -- path1/file1 -error: 'path1/file1' appears as both a file and as a directory -error: path1/file1: cannot add to the index - missing --add option? -fatal: Unable to process path path1/file1 -ok 3 - git update-index to add conflicting path path1/file1 should fail. +expecting success of 1503.12 'options can appear after --verify': + git rev-parse --verify HEAD >expect && + git rev-parse --verify -q HEAD >actual && + test_cmp expect actual -expecting success of 2100.4 'git update-index to add conflicting path path2 should fail.': test_must_fail git update-index --add -- path2 -error: 'path2' appears as both a file and as a directory -error: path2: cannot add to the index - missing --add option? -fatal: Unable to process path path2 -ok 4 - git update-index to add conflicting path path2 should fail. +ok 12 - options can appear after --verify -expecting success of 2100.5 'git update-index to add conflicting path path3 should fail.': test_must_fail git update-index --add -- path3 -error: 'path3' appears as both a file and as a directory -error: path3: cannot add to the index - missing --add option? -fatal: Unable to process path path3 -ok 5 - git update-index to add conflicting path path3 should fail. +expecting success of 1503.13 'verify respects --end-of-options': + git update-ref refs/heads/-tricky HEAD && + git rev-parse --verify HEAD >expect && + git rev-parse --verify --end-of-options -tricky >actual && + test_cmp expect actual -# passed all 5 test(s) -1..5 +ok 13 - verify respects --end-of-options + +# passed all 13 test(s) +1..13 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2101-update-index-reupdate.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2101-update-index-reupdate/.git/ -expecting success of 2101.1 'update-index --add': - echo hello world >file1 && - echo goodbye people >file2 && - git update-index --add file1 file2 && - git ls-files -s >current && - cat >expected <<-EOF && - 100644 $(git hash-object file1) 0 file1 - 100644 $(git hash-object file2) 0 file2 - EOF - cmp current expected - -ok 1 - update-index --add - -expecting success of 2101.2 'update-index --again': - rm -f file1 && - echo hello everybody >file2 && - if git update-index --again - then - echo should have refused to remove file1 - exit 1 - else - echo happy - failed as expected - fi && - git ls-files -s >current && - cmp current expected - -error: file1: does not exist and --remove not passed -fatal: Unable to process path file1 -happy - failed as expected -ok 2 - update-index --again - -expecting success of 2101.3 'update-index --remove --again': - git update-index --remove --again && - git ls-files -s >current && - cat >expected <<-EOF && - 100644 $(git hash-object file2) 0 file2 - EOF - cmp current expected - -ok 3 - update-index --remove --again - -expecting success of 2101.4 'first commit': git commit -m initial -[master (root-commit) 823d2a7] initial - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file2 -ok 4 - first commit - -expecting success of 2101.5 'update-index again': - mkdir -p dir1 && - echo hello world >dir1/file3 && - echo goodbye people >file2 && - git update-index --add file2 dir1/file3 && - echo hello everybody >file2 && - echo happy >dir1/file3 && - git update-index --again && - git ls-files -s >current && - cat >expected <<-EOF && - 100644 $(git hash-object dir1/file3) 0 dir1/file3 - 100644 $(git hash-object file2) 0 file2 - EOF - cmp current expected +*** t1500-rev-parse.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1500-rev-parse/.git/ +expecting success of 1500.1 'setup': + mkdir -p sub/dir work && + cp -R .git repo.git -ok 5 - update-index again +ok 1 - setup -expecting success of 2101.6 'update-index --update from subdir': - echo not so happy >file2 && - (cd dir1 && - cat ../file2 >file3 && - git update-index --again - ) && - git ls-files -s >current && - cat >expected <<-EOF && - 100644 $(git hash-object dir1/file3) 0 dir1/file3 - 100644 $file2 0 file2 - EOF - test_cmp expected current +expecting success of 1500.2 'toplevel: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -ok 6 - update-index --update from subdir + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2101.7 'update-index --update with pathspec': - echo very happy >file2 && - cat file2 >dir1/file3 && - git update-index --again dir1/ && - git ls-files -s >current && - cat >expected <<-EOF && - 100644 $(git hash-object dir1/file3) 0 dir1/file3 - 100644 $file2 0 file2 - EOF - cmp current expected + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 2 - toplevel: --is-bare-repository -ok 7 - update-index --update with pathspec +expecting success of 1500.3 'toplevel: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2102-update-index-symlinks.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2102-update-index-symlinks/.git/ -expecting success of 2102.1 'preparation': -git config core.symlinks false && -l=$(printf file | git hash-object -t blob -w --stdin) && -echo "120000 $l symlink" | git update-index --index-info -ok 1 - preparation + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2102.2 'modify the symbolic link': -printf new-file > symlink && -git update-index symlink -ok 2 - modify the symbolic link + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 3 - toplevel: --is-inside-git-dir -expecting success of 2102.3 'the index entry must still be a symbolic link': -case "$(git ls-files --stage --cached symlink)" in -120000" "*symlink) echo pass;; -*) echo fail; git ls-files --stage --cached symlink; (exit 1);; -esac -pass -ok 3 - the index entry must still be a symbolic link +expecting success of 1500.4 'toplevel: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -# passed all 3 test(s) -1..3 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2060-switch.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2060-switch/.git/ -expecting success of 2060.1 'setup': - test_commit first && - git branch first-branch && - test_commit second && - test_commit third && - git remote add origin nohost:/nopath && - git update-ref refs/remotes/origin/foo first-branch + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -[master (root-commit) 50e526b] first - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 first.t -[master d662100] second - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 second.t -[master cd7036d] third - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 third.t -ok 1 - setup + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 4 - toplevel: --is-inside-work-tree -expecting success of 2060.2 'switch branch no arguments': - test_must_fail git switch +expecting success of 1500.5 'toplevel: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: missing branch or commit argument -ok 2 - switch branch no arguments + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2060.3 'switch branch': - git switch first-branch && - test_path_is_missing second.t + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 5 - toplevel: --show-prefix -Switched to branch 'first-branch' -ok 3 - switch branch +expecting success of 1500.6 'toplevel: --git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2060.4 'switch and detach': - test_when_finished git switch master && - test_must_fail git switch master^{commit} && - git switch --detach master^{commit} && - test_must_fail git symbolic-ref HEAD + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -fatal: a branch is expected, got commit 'master^{commit}' -HEAD is now at cd7036d third -fatal: ref HEAD is not a symbolic ref -Switched to branch 'master' -ok 4 - switch and detach + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 6 - toplevel: --git-dir -expecting success of 2060.5 'switch and detach current branch': - test_when_finished git switch master && - git switch master && - git switch --detach && - test_must_fail git symbolic-ref HEAD +expecting success of 1500.7 'toplevel: --absolute-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -Already on 'master' -HEAD is now at cd7036d third -fatal: ref HEAD is not a symbolic ref -Switched to branch 'master' -ok 5 - switch and detach current branch + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2060.6 'switch and create branch': - test_when_finished git switch master && - git switch -c temp master^ && - test_cmp_rev master^ refs/heads/temp && - echo refs/heads/temp >expected-branch && - git symbolic-ref HEAD >actual-branch && - test_cmp expected-branch actual-branch + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 7 - toplevel: --absolute-git-dir -Switched to a new branch 'temp' -Switched to branch 'master' -ok 6 - switch and create branch +expecting success of 1500.8 '.git/: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2060.7 'force create branch from HEAD': - test_when_finished git switch master && - git switch --detach master && - test_must_fail git switch -c temp && - git switch -C temp && - test_cmp_rev master refs/heads/temp && - echo refs/heads/temp >expected-branch && - git symbolic-ref HEAD >actual-branch && - test_cmp expected-branch actual-branch + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at cd7036d third -fatal: A branch named 'temp' already exists. -Switched to and reset branch 'temp' -Switched to branch 'master' -ok 7 - force create branch from HEAD + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 8 - .git/: --is-bare-repository -expecting success of 2060.8 'new orphan branch from empty': - test_when_finished git switch master && - test_must_fail git switch --orphan new-orphan HEAD && - git switch --orphan new-orphan && - test_commit orphan && - git cat-file commit refs/heads/new-orphan >commit && - ! grep ^parent commit && - git ls-files >tracked-files && - echo orphan.t >expected && - test_cmp expected tracked-files +expecting success of 1500.9 '.git/: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: '--orphan' cannot take -Switched to a new branch 'new-orphan' -[new-orphan (root-commit) 11bb70e] orphan - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 orphan.t -Switched to branch 'master' -ok 8 - new orphan branch from empty + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2060.9 'orphan branch works with --discard-changes': - test_when_finished git switch master && - echo foo >foo.txt && - git switch --discard-changes --orphan new-orphan2 && - git ls-files >tracked-files && - test_must_be_empty tracked-files + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 9 - .git/: --is-inside-git-dir -Switched to a new branch 'new-orphan2' -Switched to branch 'master' -ok 9 - orphan branch works with --discard-changes +expecting success of 1500.10 '.git/: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2060.10 'switching ignores file of same branch name': - test_when_finished git switch master && - : >first-branch && - git switch first-branch && - echo refs/heads/first-branch >expected && - git symbolic-ref HEAD >actual && - test_cmp expected actual + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -Switched to branch 'first-branch' -Switched to branch 'master' -ok 10 - switching ignores file of same branch name + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 10 - .git/: --is-inside-work-tree -expecting success of 2060.11 'guess and create branch': - test_when_finished git switch master && - test_must_fail git switch --no-guess foo && - test_config checkout.guess false && - test_must_fail git switch foo && - test_config checkout.guess true && - git switch foo && - echo refs/heads/foo >expected && - git symbolic-ref HEAD >actual && - test_cmp expected actual +expecting success of 1500.11 '.git/: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: invalid reference: foo -fatal: invalid reference: foo -Switched to a new branch 'foo' -Branch 'foo' set up to track remote branch 'foo' from 'origin'. -Switched to branch 'master' -ok 11 - guess and create branch + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2060.12 'not switching when something is in progress': - test_when_finished rm -f .git/MERGE_HEAD && - # fake a merge-in-progress - cp .git/HEAD .git/MERGE_HEAD && - test_must_fail git switch -d @^ + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 11 - .git/: --show-prefix -fatal: cannot switch branch while merging -Consider "git merge --quit" or "git worktree add". -ok 12 - not switching when something is in progress +expecting success of 1500.12 '.git/: --git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -# passed all 12 test(s) -1..12 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2070-restore.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2070-restore/.git/ -expecting success of 2070.1 'setup': - test_commit first && - echo first-and-a-half >>first.t && - git add first.t && - test_commit second && - echo one >one && - echo two >two && - echo untracked >untracked && - echo ignored >ignored && - echo /ignored >.gitignore && - git add one two .gitignore && - git update-ref refs/heads/one master + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -[master (root-commit) 50e526b] first - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 first.t -[master a46c920] second - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 second.t -ok 1 - setup + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 12 - .git/: --git-dir -expecting success of 2070.2 'restore without pathspec is not ok': - test_must_fail git restore && - test_must_fail git restore --source=first +expecting success of 1500.13 '.git/: --absolute-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: you must specify path(s) to restore -fatal: you must specify path(s) to restore -ok 2 - restore without pathspec is not ok + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2070.3 'restore a file, ignoring branch of same name': - cat one >expected && - echo dirty >>one && - git restore one && - test_cmp expected one + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 13 - .git/: --absolute-git-dir -ok 3 - restore a file, ignoring branch of same name +expecting success of 1500.14 '.git/objects/: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2070.4 'restore a file on worktree from another ref': - test_when_finished git reset --hard && - git cat-file blob first:./first.t >expected && - git restore --source=first first.t && - test_cmp expected first.t && - git cat-file blob HEAD:./first.t >expected && - git show :first.t >actual && - test_cmp expected actual + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at a46c920 second -ok 4 - restore a file on worktree from another ref + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 14 - .git/objects/: --is-bare-repository -expecting success of 2070.5 'restore a file in the index from another ref': - test_when_finished git reset --hard && - git cat-file blob first:./first.t >expected && - git restore --source=first --staged first.t && - git show :first.t >actual && - test_cmp expected actual && - git cat-file blob HEAD:./first.t >expected && - test_cmp expected first.t +expecting success of 1500.15 '.git/objects/: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -HEAD is now at a46c920 second -ok 5 - restore a file in the index from another ref + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2070.6 'restore a file in both the index and worktree from another ref': - test_when_finished git reset --hard && - git cat-file blob first:./first.t >expected && - git restore --source=first --staged --worktree first.t && - git show :first.t >actual && - test_cmp expected actual && - test_cmp expected first.t + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 15 - .git/objects/: --is-inside-git-dir -HEAD is now at a46c920 second -ok 6 - restore a file in both the index and worktree from another ref +expecting success of 1500.16 '.git/objects/: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2070.7 'restore --staged uses HEAD as source': - test_when_finished git reset --hard && - git cat-file blob :./first.t >expected && - echo index-dirty >>first.t && - git add first.t && - git restore --staged first.t && - git cat-file blob :./first.t >actual && - test_cmp expected actual + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at a46c920 second -ok 7 - restore --staged uses HEAD as source + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 16 - .git/objects/: --is-inside-work-tree -expecting success of 2070.8 'restore --worktree --staged uses HEAD as source': - test_when_finished git reset --hard && - git show HEAD:./first.t >expected && - echo dirty >>first.t && - git add first.t && - git restore --worktree --staged first.t && - git show :./first.t >actual && - test_cmp expected actual && - test_cmp expected first.t +expecting success of 1500.17 '.git/objects/: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -HEAD is now at a46c920 second -ok 8 - restore --worktree --staged uses HEAD as source + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2070.9 'restore --ignore-unmerged ignores unmerged entries': - git init unmerged && - ( - cd unmerged && - echo one >unmerged && - echo one >common && - git add unmerged common && - git commit -m common && - git switch -c first && - echo first >unmerged && - git commit -am first && - git switch -c second master && - echo second >unmerged && - git commit -am second && - test_must_fail git merge first && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 17 - .git/objects/: --show-prefix - echo dirty >>common && - test_must_fail git restore . && +expecting success of 1500.18 '.git/objects/: --git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - git restore --ignore-unmerged --quiet . >output 2>&1 && - git diff common >diff-output && - test_must_be_empty output && - test_must_be_empty diff-output - ) + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2070-restore/unmerged/.git/ -[master (root-commit) b83edd8] common - Author: A U Thor - 2 files changed, 2 insertions(+) - create mode 100644 common - create mode 100644 unmerged -Switched to a new branch 'first' -[first 753ae86] first - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Switched to a new branch 'second' -[second 06de6fa] second - Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Merging: -06de6fa second -virtual first -found 1 common ancestor: -b83edd8 common -Auto-merging unmerged -CONFLICT (content): Merge conflict in unmerged -Automatic merge failed; fix conflicts and then commit the result. -error: path 'unmerged' is unmerged -ok 9 - restore --ignore-unmerged ignores unmerged entries + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 18 - .git/objects/: --git-dir -expecting success of 2070.10 'restore --staged adds deleted intent-to-add file back to index': - echo "nonempty" >nonempty && - >empty && - git add nonempty empty && - git commit -m "create files to be deleted" && - git rm --cached nonempty empty && - git add -N nonempty empty && - git restore --staged nonempty empty && - git diff --cached --exit-code +expecting success of 1500.19 '.git/objects/: --absolute-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -[master 94e3084] create files to be deleted - Author: A U Thor - 2 files changed, 1 insertion(+) - create mode 100644 empty - create mode 100644 nonempty -rm 'empty' -rm 'nonempty' -ok 10 - restore --staged adds deleted intent-to-add file back to index + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2070.11 'restore --staged invalidates cache tree for deletions': - test_when_finished git reset --hard && - >new1 && - >new2 && - git add new1 new2 && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 19 - .git/objects/: --absolute-git-dir - # It is important to commit and then reset here, so that the index - # contains a valid cache-tree for the "both" tree. - git commit -m both && - git reset --soft HEAD^ && +expecting success of 1500.20 'subdirectory: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - git restore --staged new1 && - git commit -m "just new2" && - git rev-parse HEAD:new2 && - test_must_fail git rev-parse HEAD:new1 + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -[master 19f4790] both - Author: A U Thor - 2 files changed, 0 insertions(+), 0 deletions(-) - create mode 100644 new1 - create mode 100644 new2 -[master 2c4724a] just new2 - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 new2 -e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 -fatal: path 'new1' exists on disk, but not in 'HEAD' -HEAD:new1 -HEAD is now at 2c4724a just new2 -ok 11 - restore --staged invalidates cache tree for deletions + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 20 - subdirectory: --is-bare-repository -# passed all 11 test(s) -1..11 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2072-restore-pathspec-file.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2072-restore-pathspec-file/.git/ -expecting success of 2072.1 'setup': - test_commit file0 && +expecting success of 1500.21 'subdirectory: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - mkdir dir1 && - echo 1 >dir1/file && - echo 1 >fileA.t && - echo 1 >fileB.t && - echo 1 >fileC.t && - echo 1 >fileD.t && - git add dir1 fileA.t fileB.t fileC.t fileD.t && - git commit -m "files 1" && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - echo 2 >dir1/file && - echo 2 >fileA.t && - echo 2 >fileB.t && - echo 2 >fileC.t && - echo 2 >fileD.t && - git add dir1 fileA.t fileB.t fileC.t fileD.t && - git commit -m "files 2" && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 21 - subdirectory: --is-inside-git-dir - git tag checkpoint +expecting success of 1500.22 'subdirectory: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -[master (root-commit) ad2e047] file0 - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 file0.t -[master 17aa47d] files 1 - Author: A U Thor - 5 files changed, 5 insertions(+) - create mode 100644 dir1/file - create mode 100644 fileA.t - create mode 100644 fileB.t - create mode 100644 fileC.t - create mode 100644 fileD.t -[master 4c6d82b] files 2 - Author: A U Thor - 5 files changed, 5 insertions(+), 5 deletions(-) -ok 1 - setup + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2072.2 '--pathspec-from-file from stdin': - restore_checkpoint && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 22 - subdirectory: --is-inside-work-tree - echo fileA.t | git restore --pathspec-from-file=- --source=HEAD^1 && +expecting success of 1500.23 'subdirectory: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - cat >expect <<-\EOF && - M fileA.t - EOF - verify_expect + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at 4c6d82b files 2 -ok 2 - --pathspec-from-file from stdin + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 23 - subdirectory: --show-prefix -expecting success of 2072.3 '--pathspec-from-file from file': - restore_checkpoint && +expecting success of 1500.24 'subdirectory: --git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - echo fileA.t >list && - git restore --pathspec-from-file=list --source=HEAD^1 && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - cat >expect <<-\EOF && - M fileA.t - EOF - verify_expect + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 24 - subdirectory: --git-dir -HEAD is now at 4c6d82b files 2 -ok 3 - --pathspec-from-file from file +expecting success of 1500.25 'subdirectory: --absolute-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2072.4 'NUL delimiters': - restore_checkpoint && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - printf "fileA.t\0fileB.t\0" | git restore --pathspec-from-file=- --pathspec-file-nul --source=HEAD^1 && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 25 - subdirectory: --absolute-git-dir - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect +expecting success of 1500.26 'core.bare = true: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -HEAD is now at 4c6d82b files 2 -ok 4 - NUL delimiters + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2072.5 'LF delimiters': - restore_checkpoint && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 26 - core.bare = true: --is-bare-repository - printf "fileA.t\nfileB.t\n" | git restore --pathspec-from-file=- --source=HEAD^1 && +expecting success of 1500.27 'core.bare = true: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at 4c6d82b files 2 -ok 5 - LF delimiters + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 27 - core.bare = true: --is-inside-git-dir -expecting success of 2072.6 'no trailing delimiter': - restore_checkpoint && +expecting success of 1500.28 'core.bare = true: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - printf "fileA.t\nfileB.t" | git restore --pathspec-from-file=- --source=HEAD^1 && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 28 - core.bare = true: --is-inside-work-tree -HEAD is now at 4c6d82b files 2 -ok 6 - no trailing delimiter +expecting success of 1500.29 'core.bare undefined: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2072.7 'CRLF delimiters': - restore_checkpoint && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - printf "fileA.t\r\nfileB.t\r\n" | git restore --pathspec-from-file=- --source=HEAD^1 && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 29 - core.bare undefined: --is-bare-repository - cat >expect <<-\EOF && - M fileA.t - M fileB.t - EOF - verify_expect +expecting success of 1500.30 'core.bare undefined: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -HEAD is now at 4c6d82b files 2 -ok 7 - CRLF delimiters + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2072.8 'quotes': - restore_checkpoint && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 30 - core.bare undefined: --is-inside-git-dir - cat >list <<-\EOF && - "file\101.t" - EOF +expecting success of 1500.31 'core.bare undefined: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - git restore --pathspec-from-file=list --source=HEAD^1 && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - cat >expect <<-\EOF && - M fileA.t - EOF - verify_expect + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 31 - core.bare undefined: --is-inside-work-tree -HEAD is now at 4c6d82b files 2 -ok 8 - quotes +expecting success of 1500.32 'GIT_DIR=../.git, core.bare = false: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2072.9 'quotes not compatible with --pathspec-file-nul': - restore_checkpoint && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - cat >list <<-\EOF && - "file\101.t" - EOF + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 32 - GIT_DIR=../.git, core.bare = false: --is-bare-repository - test_must_fail git restore --pathspec-from-file=list --pathspec-file-nul --source=HEAD^1 +expecting success of 1500.33 'GIT_DIR=../.git, core.bare = false: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -HEAD is now at 4c6d82b files 2 -error: pathspec '"file\101.t" -' did not match any file(s) known to git -ok 9 - quotes not compatible with --pathspec-file-nul + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2072.10 'only touches what was listed': - restore_checkpoint && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 33 - GIT_DIR=../.git, core.bare = false: --is-inside-git-dir - printf "fileB.t\nfileC.t\n" | git restore --pathspec-from-file=- --source=HEAD^1 && +expecting success of 1500.34 'GIT_DIR=../.git, core.bare = false: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - cat >expect <<-\EOF && - M fileB.t - M fileC.t - EOF - verify_expect + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at 4c6d82b files 2 -ok 10 - only touches what was listed + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 34 - GIT_DIR=../.git, core.bare = false: --is-inside-work-tree -expecting success of 2072.11 'error conditions': - restore_checkpoint && - echo fileA.t >list && - >empty_list && +expecting success of 1500.35 'GIT_DIR=../.git, core.bare = false: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - test_must_fail git restore --pathspec-from-file=list --patch --source=HEAD^1 2>err && - test_i18ngrep -e "--pathspec-from-file is incompatible with --patch" err && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - test_must_fail git restore --pathspec-from-file=list --source=HEAD^1 -- fileA.t 2>err && - test_i18ngrep -e "--pathspec-from-file is incompatible with pathspec arguments" err && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 35 - GIT_DIR=../.git, core.bare = false: --show-prefix - test_must_fail git restore --pathspec-file-nul --source=HEAD^1 2>err && - test_i18ngrep -e "--pathspec-file-nul requires --pathspec-from-file" err && +expecting success of 1500.36 'GIT_DIR=../.git, core.bare = false: --git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - test_must_fail git restore --pathspec-from-file=empty_list --source=HEAD^1 2>err && - test_i18ngrep -e "you must specify path(s) to restore" err + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -HEAD is now at 4c6d82b files 2 -checking prerequisite: C_LOCALE_OUTPUT + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 36 - GIT_DIR=../.git, core.bare = false: --git-dir -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 1500.37 'GIT_DIR=../.git, core.bare = false: --absolute-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -) -prerequisite C_LOCALE_OUTPUT ok -fatal: --pathspec-from-file is incompatible with --patch -fatal: --pathspec-from-file is incompatible with pathspec arguments -fatal: --pathspec-file-nul requires --pathspec-from-file -fatal: you must specify path(s) to restore -ok 11 - error conditions + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2072.12 'wildcard pathspec matches file in subdirectory': - restore_checkpoint && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 37 - GIT_DIR=../.git, core.bare = false: --absolute-git-dir - echo "*file" | git restore --pathspec-from-file=- --source=HEAD^1 && - cat >expect <<-\EOF && - M dir1/file - EOF - verify_expect +expecting success of 1500.38 'GIT_DIR=../.git, core.bare = true: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -HEAD is now at 4c6d82b files 2 -ok 12 - wildcard pathspec matches file in subdirectory + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -# passed all 12 test(s) -1..12 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2104-update-index-skip-worktree.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2104-update-index-skip-worktree/.git/ -expecting success of 2104.1 'setup': - mkdir sub && - touch ./1 ./2 sub/1 sub/2 && - git add 1 2 sub/1 sub/2 && - git ls-files -t | test_cmp expect.full - + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 38 - GIT_DIR=../.git, core.bare = true: --is-bare-repository -ok 1 - setup +expecting success of 1500.39 'GIT_DIR=../.git, core.bare = true: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2104.2 'index is at version 2': - test "$(test-tool index-version < .git/index)" = 2 + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -ok 2 - index is at version 2 + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 39 - GIT_DIR=../.git, core.bare = true: --is-inside-git-dir -expecting success of 2104.3 'update-index --skip-worktree': - git update-index --skip-worktree 1 sub/1 && - git ls-files -t | test_cmp expect.skip - +expecting success of 1500.40 'GIT_DIR=../.git, core.bare = true: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -ok 3 - update-index --skip-worktree + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2104.4 'index is at version 3 after having some skip-worktree entries': - test "$(test-tool index-version < .git/index)" = 3 + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 40 - GIT_DIR=../.git, core.bare = true: --is-inside-work-tree -ok 4 - index is at version 3 after having some skip-worktree entries +expecting success of 1500.41 'GIT_DIR=../.git, core.bare = true: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 2104.5 'ls-files -t': - git ls-files -t | test_cmp expect.skip - + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -ok 5 - ls-files -t + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 41 - GIT_DIR=../.git, core.bare = true: --show-prefix -expecting success of 2104.6 'update-index --no-skip-worktree': - git update-index --no-skip-worktree 1 sub/1 && - git ls-files -t | test_cmp expect.full - +expecting success of 1500.42 'GIT_DIR=../.git, core.bare undefined: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -ok 6 - update-index --no-skip-worktree + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 2104.7 'index version is back to 2 when there is no skip-worktree entry': - test "$(test-tool index-version < .git/index)" = 2 + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 42 - GIT_DIR=../.git, core.bare undefined: --is-bare-repository -ok 7 - index version is back to 2 when there is no skip-worktree entry +expecting success of 1500.43 'GIT_DIR=../.git, core.bare undefined: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -# passed all 7 test(s) -1..7 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t1404-update-ref-errors.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1404-update-ref-errors/.git/ -expecting success of 1404.1 'setup': + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - git commit --allow-empty -m Initial && - C=$(git rev-parse HEAD) && - git commit --allow-empty -m Second && - D=$(git rev-parse HEAD) && - git commit --allow-empty -m Third && - E=$(git rev-parse HEAD) + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 43 - GIT_DIR=../.git, core.bare undefined: --is-inside-git-dir -[master (root-commit) d31adcd] Initial - Author: A U Thor -[master e6940ad] Second - Author: A U Thor -[master c2327cb] Third - Author: A U Thor -ok 1 - setup +expecting success of 1500.44 'GIT_DIR=../.git, core.bare undefined: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 1404.2 'existing loose ref is a simple prefix of new': + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - prefix=refs/1l && - test_update_rejected "a c e" false "b c/x d" \ - "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x$SQ" + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 44 - GIT_DIR=../.git, core.bare undefined: --is-inside-work-tree +expecting success of 1500.45 'GIT_DIR=../.git, core.bare undefined: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -checking prerequisite: C_LOCALE_OUTPUT + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 45 - GIT_DIR=../.git, core.bare undefined: --show-prefix -) -prerequisite C_LOCALE_OUTPUT ok -fatal: cannot lock ref 'refs/1l/c/x': 'refs/1l/c' exists; cannot create 'refs/1l/c/x' -ok 2 - existing loose ref is a simple prefix of new +expecting success of 1500.46 'GIT_DIR=../repo.git, core.bare = false: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 1404.3 'existing packed ref is a simple prefix of new': + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - prefix=refs/1p && - test_update_rejected "a c e" true "b c/x d" \ - "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x$SQ" + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 46 - GIT_DIR=../repo.git, core.bare = false: --is-bare-repository +expecting success of 1500.47 'GIT_DIR=../repo.git, core.bare = false: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: cannot lock ref 'refs/1p/c/x': 'refs/1p/c' exists; cannot create 'refs/1p/c/x' -ok 3 - existing packed ref is a simple prefix of new + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 1404.4 'existing loose ref is a deeper prefix of new': + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 47 - GIT_DIR=../repo.git, core.bare = false: --is-inside-git-dir - prefix=refs/2l && - test_update_rejected "a c e" false "b c/x/y d" \ - "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x/y$SQ" +expecting success of 1500.48 'GIT_DIR=../repo.git, core.bare = false: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -fatal: cannot lock ref 'refs/2l/c/x/y': 'refs/2l/c' exists; cannot create 'refs/2l/c/x/y' -ok 4 - existing loose ref is a deeper prefix of new + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 48 - GIT_DIR=../repo.git, core.bare = false: --is-inside-work-tree -expecting success of 1404.5 'existing packed ref is a deeper prefix of new': +expecting success of 1500.49 'GIT_DIR=../repo.git, core.bare = false: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - prefix=refs/2p && - test_update_rejected "a c e" true "b c/x/y d" \ - "$SQ$prefix/c$SQ exists; cannot create $SQ$prefix/c/x/y$SQ" + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 49 - GIT_DIR=../repo.git, core.bare = false: --show-prefix -fatal: cannot lock ref 'refs/2p/c/x/y': 'refs/2p/c' exists; cannot create 'refs/2p/c/x/y' -ok 5 - existing packed ref is a deeper prefix of new +expecting success of 1500.50 'GIT_DIR=../repo.git, core.bare = false: --git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 1404.6 'new ref is a simple prefix of existing loose': + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - prefix=refs/3l && - test_update_rejected "a c/x e" false "b c d" \ - "$SQ$prefix/c/x$SQ exists; cannot create $SQ$prefix/c$SQ" + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 50 - GIT_DIR=../repo.git, core.bare = false: --git-dir +expecting success of 1500.51 'GIT_DIR=../repo.git, core.bare = false: --absolute-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: cannot lock ref 'refs/3l/c': 'refs/3l/c/x' exists; cannot create 'refs/3l/c' -ok 6 - new ref is a simple prefix of existing loose + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 1404.7 'new ref is a simple prefix of existing packed': + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 51 - GIT_DIR=../repo.git, core.bare = false: --absolute-git-dir - prefix=refs/3p && - test_update_rejected "a c/x e" true "b c d" \ - "$SQ$prefix/c/x$SQ exists; cannot create $SQ$prefix/c$SQ" +expecting success of 1500.52 'GIT_DIR=../repo.git, core.bare = true: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -fatal: cannot lock ref 'refs/3p/c': 'refs/3p/c/x' exists; cannot create 'refs/3p/c' -ok 7 - new ref is a simple prefix of existing packed + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 52 - GIT_DIR=../repo.git, core.bare = true: --is-bare-repository -expecting success of 1404.8 'new ref is a deeper prefix of existing loose': +expecting success of 1500.53 'GIT_DIR=../repo.git, core.bare = true: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && - prefix=refs/4l && - test_update_rejected "a c/x/y e" false "b c d" \ - "$SQ$prefix/c/x/y$SQ exists; cannot create $SQ$prefix/c$SQ" + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 53 - GIT_DIR=../repo.git, core.bare = true: --is-inside-git-dir -fatal: cannot lock ref 'refs/4l/c': 'refs/4l/c/x/y' exists; cannot create 'refs/4l/c' -ok 8 - new ref is a deeper prefix of existing loose +expecting success of 1500.54 'GIT_DIR=../repo.git, core.bare = true: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 1404.9 'new ref is a deeper prefix of existing packed': + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && - prefix=refs/4p && - test_update_rejected "a c/x/y e" true "b c d" \ - "$SQ$prefix/c/x/y$SQ exists; cannot create $SQ$prefix/c$SQ" + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 54 - GIT_DIR=../repo.git, core.bare = true: --is-inside-work-tree +expecting success of 1500.55 'GIT_DIR=../repo.git, core.bare = true: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -fatal: cannot lock ref 'refs/4p/c': 'refs/4p/c/x/y' exists; cannot create 'refs/4p/c' -ok 9 - new ref is a deeper prefix of existing packed + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 1404.10 'one new ref is a simple prefix of another': + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 55 - GIT_DIR=../repo.git, core.bare = true: --show-prefix - prefix=refs/5 && - test_update_rejected "a e" false "b c c/x d" \ - "cannot process $SQ$prefix/c$SQ and $SQ$prefix/c/x$SQ at the same time" +expecting success of 1500.56 'GIT_DIR=../repo.git, core.bare undefined: --is-bare-repository': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -fatal: cannot lock ref 'refs/5/c': cannot process 'refs/5/c' and 'refs/5/c/x' at the same time -ok 10 - one new ref is a simple prefix of another + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 56 - GIT_DIR=../repo.git, core.bare undefined: --is-bare-repository -expecting success of 1404.11 'empty directory should not fool rev-parse': - prefix=refs/e-rev-parse && - git update-ref $prefix/foo $C && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - echo "$C" >expected && - git rev-parse $prefix/foo >actual && - test_cmp expected actual +expecting success of 1500.57 'GIT_DIR=../repo.git, core.bare undefined: --is-inside-git-dir': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -ok 11 - empty directory should not fool rev-parse + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 1404.12 'empty directory should not fool for-each-ref': - prefix=refs/e-for-each-ref && - git update-ref $prefix/foo $C && - git for-each-ref $prefix >expected && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - git for-each-ref $prefix >actual && - test_cmp expected actual + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 57 - GIT_DIR=../repo.git, core.bare undefined: --is-inside-git-dir -ok 12 - empty directory should not fool for-each-ref +expecting success of 1500.58 'GIT_DIR=../repo.git, core.bare undefined: --is-inside-work-tree': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -expecting success of 1404.13 'empty directory should not fool create': - prefix=refs/e-create && - mkdir -p .git/$prefix/foo/bar/baz && - printf "create %s $C\n" $prefix/foo | - git update-ref --stdin + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -ok 13 - empty directory should not fool create + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 58 - GIT_DIR=../repo.git, core.bare undefined: --is-inside-work-tree -expecting success of 1404.14 'empty directory should not fool verify': - prefix=refs/e-verify && - git update-ref $prefix/foo $C && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - printf "verify %s $C\n" $prefix/foo | - git update-ref --stdin +expecting success of 1500.59 'GIT_DIR=../repo.git, core.bare undefined: --show-prefix': + if test -n "$gitdir" + then + test_when_finished "unset GIT_DIR" && + GIT_DIR="$gitdir" && + export GIT_DIR + fi && -ok 14 - empty directory should not fool verify + case "$bare" in + t*) test_config ${d:+-C} ${d:+"$d"} core.bare true ;; + f*) test_config ${d:+-C} ${d:+"$d"} core.bare false ;; + u*) test_unconfig ${d:+-C} ${d:+"$d"} core.bare ;; + esac && -expecting success of 1404.15 'empty directory should not fool 1-arg update': - prefix=refs/e-update-1 && - git update-ref $prefix/foo $C && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - printf "update %s $D\n" $prefix/foo | - git update-ref --stdin + echo "$expect" >expect && + git ${d:+-C} ${d:+"$d"} rev-parse $o >actual && + test_cmp expect actual + +ok 59 - GIT_DIR=../repo.git, core.bare undefined: --show-prefix -ok 15 - empty directory should not fool 1-arg update +expecting success of 1500.60 'git-common-dir from worktree root': + echo .git >expect && + git rev-parse --git-common-dir >actual && + test_cmp expect actual -expecting success of 1404.16 'empty directory should not fool 2-arg update': - prefix=refs/e-update-2 && - git update-ref $prefix/foo $C && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - printf "update %s $D $C\n" $prefix/foo | - git update-ref --stdin +ok 60 - git-common-dir from worktree root -ok 16 - empty directory should not fool 2-arg update +expecting success of 1500.61 'git-common-dir inside sub-dir': + mkdir -p path/to/child && + test_when_finished "rm -rf path" && + echo "$(git -C path/to/child rev-parse --show-cdup).git" >expect && + git -C path/to/child rev-parse --git-common-dir >actual && + test_cmp expect actual -expecting success of 1404.17 'empty directory should not fool 0-arg delete': - prefix=refs/e-delete-0 && - git update-ref $prefix/foo $C && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - printf "delete %s\n" $prefix/foo | - git update-ref --stdin +ok 61 - git-common-dir inside sub-dir -ok 17 - empty directory should not fool 0-arg delete +expecting success of 1500.62 'git-path from worktree root': + echo .git/objects >expect && + git rev-parse --git-path objects >actual && + test_cmp expect actual -expecting success of 1404.18 'empty directory should not fool 1-arg delete': - prefix=refs/e-delete-1 && - git update-ref $prefix/foo $C && - git pack-refs --all && - mkdir -p .git/$prefix/foo/bar/baz && - printf "delete %s $C\n" $prefix/foo | - git update-ref --stdin +ok 62 - git-path from worktree root -ok 18 - empty directory should not fool 1-arg delete +expecting success of 1500.63 'git-path inside sub-dir': + mkdir -p path/to/child && + test_when_finished "rm -rf path" && + echo "$(git -C path/to/child rev-parse --show-cdup).git/objects" >expect && + git -C path/to/child rev-parse --git-path objects >actual && + test_cmp expect actual -expecting success of 1404.19 'D/F conflict prevents add long + delete short': - df_test refs/df-al-ds --add-del foo/bar foo +ok 63 - git-path inside sub-dir -ok 19 - D/F conflict prevents add long + delete short +expecting success of 1500.64 'rev-parse --is-shallow-repository in shallow repo': + test_commit test_commit && + echo true >expect && + git clone --depth 1 --no-local . shallow && + test_when_finished "rm -rf shallow" && + git -C shallow rev-parse --is-shallow-repository >actual && + test_cmp expect actual -expecting success of 1404.20 'D/F conflict prevents add short + delete long': - df_test refs/df-as-dl --add-del foo foo/bar +[master (root-commit) 389d16e] test_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 test_commit.t +Cloning into 'shallow'... +ok 64 - rev-parse --is-shallow-repository in shallow repo -ok 20 - D/F conflict prevents add short + delete long +expecting success of 1500.65 'rev-parse --is-shallow-repository in non-shallow repo': + echo false >expect && + git rev-parse --is-shallow-repository >actual && + test_cmp expect actual -expecting success of 1404.21 'D/F conflict prevents delete long + add short': - df_test refs/df-dl-as --del-add foo/bar foo +ok 65 - rev-parse --is-shallow-repository in non-shallow repo -ok 21 - D/F conflict prevents delete long + add short +expecting success of 1500.66 'rev-parse --show-object-format in repo': + echo "$(test_oid algo)" >expect && + git rev-parse --show-object-format >actual && + test_cmp expect actual && + git rev-parse --show-object-format=storage >actual && + test_cmp expect actual && + git rev-parse --show-object-format=input >actual && + test_cmp expect actual && + git rev-parse --show-object-format=output >actual && + test_cmp expect actual && + test_must_fail git rev-parse --show-object-format=squeamish-ossifrage 2>err && + grep "unknown mode for --show-object-format: squeamish-ossifrage" err -expecting success of 1404.22 'D/F conflict prevents delete short + add long': - df_test refs/df-ds-al --del-add foo foo/bar +fatal: unknown mode for --show-object-format: squeamish-ossifrage +ok 66 - rev-parse --show-object-format in repo -ok 22 - D/F conflict prevents delete short + add long +expecting success of 1500.67 '--show-toplevel from subdir of working tree': + pwd >expect && + git -C sub/dir rev-parse --show-toplevel >actual && + test_cmp expect actual -expecting success of 1404.23 'D/F conflict prevents add long + delete short packed': - df_test refs/df-al-dsp --pack --add-del foo/bar foo +ok 67 - --show-toplevel from subdir of working tree -ok 23 - D/F conflict prevents add long + delete short packed +expecting success of 1500.68 '--show-toplevel from inside .git': + test_must_fail git -C .git rev-parse --show-toplevel -expecting success of 1404.24 'D/F conflict prevents add short + delete long packed': - df_test refs/df-as-dlp --pack --add-del foo foo/bar +fatal: this operation must be run in a work tree +ok 68 - --show-toplevel from inside .git -ok 24 - D/F conflict prevents add short + delete long packed +expecting success of 1500.69 'showing the superproject correctly': + git rev-parse --show-superproject-working-tree >out && + test_must_be_empty out && -expecting success of 1404.25 'D/F conflict prevents delete long packed + add short': - df_test refs/df-dlp-as --pack --del-add foo/bar foo + test_create_repo super && + test_commit -C super test_commit && + test_create_repo sub && + test_commit -C sub test_commit && + git -c protocol.file.allow=always \ + -C super submodule add ../sub dir/sub && + echo $(pwd)/super >expect && + git -C super/dir/sub rev-parse --show-superproject-working-tree >out && + test_cmp expect out && -ok 25 - D/F conflict prevents delete long packed + add short + test_commit -C super submodule_add && + git -C super checkout -b branch1 && + git -C super/dir/sub checkout -b branch1 && + test_commit -C super/dir/sub branch1_commit && + git -C super add dir/sub && + test_commit -C super branch1_commit && + git -C super checkout -b branch2 master && + git -C super/dir/sub checkout -b branch2 master && + test_commit -C super/dir/sub branch2_commit && + git -C super add dir/sub && + test_commit -C super branch2_commit && + test_must_fail git -C super merge branch1 && -expecting success of 1404.26 'D/F conflict prevents delete short packed + add long': - df_test refs/df-dsp-al --pack --del-add foo foo/bar + git -C super/dir/sub rev-parse --show-superproject-working-tree >out && + test_cmp expect out -ok 26 - D/F conflict prevents delete short packed + add long +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1500-rev-parse/super/.git/ +[master (root-commit) cbdc642] test_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 test_commit.t +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1500-rev-parse/sub/.git/ +[master (root-commit) 2eb1b96] test_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 test_commit.t +Cloning into '/build/git-2.30.2/t/trash directory.t1500-rev-parse/super/dir/sub'... +done. +[master 7cabc11] submodule_add + Author: A U Thor + 3 files changed, 5 insertions(+) + create mode 100644 .gitmodules + create mode 160000 dir/sub + create mode 100644 submodule_add.t +Switched to a new branch 'branch1' +Switched to a new branch 'branch1' +[branch1 2aa4ded] branch1_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 branch1_commit.t +[branch1 7e8b966] branch1_commit + Author: A U Thor + 2 files changed, 2 insertions(+), 1 deletion(-) + create mode 100644 branch1_commit.t +Switched to a new branch 'branch2' +M dir/sub +Switched to a new branch 'branch2' +[branch2 10a2528] branch2_commit + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 branch2_commit.t +[branch2 8d6224f] branch2_commit + Author: A U Thor + 2 files changed, 2 insertions(+), 1 deletion(-) + create mode 100644 branch2_commit.t +Merging: +8d6224f branch2_commit +virtual branch1 +found 1 common ancestor: +7cabc11 submodule_add +Failed to merge submodule dir/sub (merge following commits not found) +Auto-merging dir/sub +CONFLICT (submodule): Merge conflict in dir/sub +Automatic merge failed; fix conflicts and then commit the result. +ok 69 - showing the superproject correctly -expecting success of 1404.27 'D/F conflict prevents indirect add long + delete short': - df_test refs/df-ial-ds --sym-add --add-del foo/bar foo +# passed all 69 test(s) +1..69 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1504-ceiling-dirs.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1504-ceiling-dirs/.git/ +expecting success of 1504.1 'no_ceil': test '' = "$(git rev-parse --show-prefix)" +ok 1 - no_ceil -ok 27 - D/F conflict prevents indirect add long + delete short +expecting success of 1504.2 'ceil_empty': test '' = "$(git rev-parse --show-prefix)" +ok 2 - ceil_empty -expecting success of 1404.28 'D/F conflict prevents indirect add long + indirect delete short': - df_test refs/df-ial-ids --sym-add --sym-del --add-del foo/bar foo +expecting success of 1504.3 'ceil_at_parent': test '' = "$(git rev-parse --show-prefix)" +ok 3 - ceil_at_parent -ok 28 - D/F conflict prevents indirect add long + indirect delete short +expecting success of 1504.4 'ceil_at_parent_slash': test '' = "$(git rev-parse --show-prefix)" +ok 4 - ceil_at_parent_slash -expecting success of 1404.29 'D/F conflict prevents indirect add short + indirect delete long': - df_test refs/df-ias-idl --sym-add --sym-del --add-del foo foo/bar +expecting success of 1504.5 'ceil_at_trash': test '' = "$(git rev-parse --show-prefix)" +ok 5 - ceil_at_trash -ok 29 - D/F conflict prevents indirect add short + indirect delete long +expecting success of 1504.6 'ceil_at_trash_slash': test '' = "$(git rev-parse --show-prefix)" +ok 6 - ceil_at_trash_slash -expecting success of 1404.30 'D/F conflict prevents indirect delete long + indirect add short': - df_test refs/df-idl-ias --sym-add --sym-del --del-add foo/bar foo +expecting success of 1504.7 'ceil_at_sub': test '' = "$(git rev-parse --show-prefix)" +ok 7 - ceil_at_sub -ok 30 - D/F conflict prevents indirect delete long + indirect add short +expecting success of 1504.8 'ceil_at_sub_slash': test '' = "$(git rev-parse --show-prefix)" +ok 8 - ceil_at_sub_slash -expecting success of 1404.31 'D/F conflict prevents indirect add long + delete short packed': - df_test refs/df-ial-dsp --sym-add --pack --add-del foo/bar foo +checking prerequisite: SYMLINKS -ok 31 - D/F conflict prevents indirect add long + delete short packed +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -expecting success of 1404.32 'D/F conflict prevents indirect add long + indirect delete short packed': - df_test refs/df-ial-idsp --sym-add --sym-del --pack --add-del foo/bar foo +) +prerequisite SYMLINKS ok +expecting success of 1504.9 'subdir_no_ceil': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 9 - subdir_no_ceil -ok 32 - D/F conflict prevents indirect add long + indirect delete short packed +expecting success of 1504.10 'subdir_ceil_empty': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 10 - subdir_ceil_empty -expecting success of 1404.33 'D/F conflict prevents add long + indirect delete short packed': - df_test refs/df-al-idsp --sym-del --pack --add-del foo/bar foo +expecting success of 1504.11 'subdir_ceil_at_trash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 11 - subdir_ceil_at_trash: prefix -ok 33 - D/F conflict prevents add long + indirect delete short packed +expecting success of 1504.12 'subdir_ceil_at_trash_slash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 12 - subdir_ceil_at_trash_slash: prefix -expecting success of 1404.34 'D/F conflict prevents indirect delete long packed + indirect add short': - df_test refs/df-idlp-ias --sym-add --sym-del --pack --del-add foo/bar foo +expecting success of 1504.13 'subdir_ceil_at_sub: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 13 - subdir_ceil_at_sub: prefix -ok 34 - D/F conflict prevents indirect delete long packed + indirect add short +expecting success of 1504.14 'subdir_ceil_at_sub_slash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 14 - subdir_ceil_at_sub_slash: prefix -expecting success of 1404.35 'missing old value blocks update': - prefix=refs/missing-update && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ - EOF - printf "%s\n" "update $prefix/foo $E $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.15 'subdir_ceil_at_top: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 15 - subdir_ceil_at_top: prefix -ok 35 - missing old value blocks update +expecting success of 1504.16 'subdir_ceil_at_top_slash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 16 - subdir_ceil_at_top_slash: prefix -expecting success of 1404.36 'incorrect old value blocks update': - prefix=refs/incorrect-update && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: is at $C but expected $D - EOF - printf "%s\n" "update $prefix/foo $E $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.17 'subdir_ceil_at_top_no_resolve': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 17 - subdir_ceil_at_top_no_resolve -ok 36 - incorrect old value blocks update +expecting success of 1504.18 'subdir_ceil_at_top_slash_no_resolve': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 18 - subdir_ceil_at_top_slash_no_resolve -expecting success of 1404.37 'existing old value blocks create': - prefix=refs/existing-create && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: reference already exists - EOF - printf "%s\n" "create $prefix/foo $E" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.19 'subdir_ceil_at_subdir': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 19 - subdir_ceil_at_subdir -ok 37 - existing old value blocks create +expecting success of 1504.20 'subdir_ceil_at_subdir_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 20 - subdir_ceil_at_subdir_slash -expecting success of 1404.38 'incorrect old value blocks delete': - prefix=refs/incorrect-delete && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: is at $C but expected $D - EOF - printf "%s\n" "delete $prefix/foo $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.21 'subdir_ceil_at_su': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 21 - subdir_ceil_at_su -ok 38 - incorrect old value blocks delete +expecting success of 1504.22 'subdir_ceil_at_su_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 22 - subdir_ceil_at_su_slash -expecting success of 1404.39 'missing old value blocks indirect update': - prefix=refs/missing-indirect-update && - git symbolic-ref $prefix/symref $prefix/foo && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ - EOF - printf "%s\n" "update $prefix/symref $E $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.23 'subdir_ceil_at_sub_di': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 23 - subdir_ceil_at_sub_di -ok 39 - missing old value blocks indirect update +expecting success of 1504.24 'subdir_ceil_at_sub_di_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 24 - subdir_ceil_at_sub_di_slash -expecting success of 1404.40 'incorrect old value blocks indirect update': - prefix=refs/incorrect-indirect-update && - git symbolic-ref $prefix/symref $prefix/foo && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D - EOF - printf "%s\n" "update $prefix/symref $E $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.25 'subdir_ceil_at_subdi': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 25 - subdir_ceil_at_subdi -ok 40 - incorrect old value blocks indirect update +expecting success of 1504.26 'subdir_ceil_at_subdi_slash': test 'sub/dir/' = "$(git rev-parse --show-prefix)" +ok 26 - subdir_ceil_at_subdi_slash -expecting success of 1404.41 'existing old value blocks indirect create': - prefix=refs/existing-indirect-create && - git symbolic-ref $prefix/symref $prefix/foo && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: reference already exists - EOF - printf "%s\n" "create $prefix/symref $E" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.27 'second_of_two: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 27 - second_of_two: prefix -ok 41 - existing old value blocks indirect create +expecting success of 1504.28 'first_of_two: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 28 - first_of_two: prefix -expecting success of 1404.42 'incorrect old value blocks indirect delete': - prefix=refs/incorrect-indirect-delete && - git symbolic-ref $prefix/symref $prefix/foo && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D - EOF - printf "%s\n" "delete $prefix/symref $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.29 'second_of_three: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 29 - second_of_three: prefix -ok 42 - incorrect old value blocks indirect delete +expecting success of 1504.30 'git_dir_specified': test '' = "$(git rev-parse --show-prefix)" +ok 30 - git_dir_specified -expecting success of 1404.43 'missing old value blocks indirect no-deref update': - prefix=refs/missing-noderef-update && - git symbolic-ref $prefix/symref $prefix/foo && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: reference is missing but expected $D - EOF - printf "%s\n" "option no-deref" "update $prefix/symref $E $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.31 'sd_no_ceil': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 31 - sd_no_ceil -ok 43 - missing old value blocks indirect no-deref update +expecting success of 1504.32 'sd_ceil_empty': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 32 - sd_ceil_empty -expecting success of 1404.44 'incorrect old value blocks indirect no-deref update': - prefix=refs/incorrect-noderef-update && - git symbolic-ref $prefix/symref $prefix/foo && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D - EOF - printf "%s\n" "option no-deref" "update $prefix/symref $E $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.33 'sd_ceil_at_trash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 33 - sd_ceil_at_trash: prefix -ok 44 - incorrect old value blocks indirect no-deref update +expecting success of 1504.34 'sd_ceil_at_trash_slash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 34 - sd_ceil_at_trash_slash: prefix -expecting success of 1404.45 'existing old value blocks indirect no-deref create': - prefix=refs/existing-noderef-create && - git symbolic-ref $prefix/symref $prefix/foo && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: reference already exists - EOF - printf "%s\n" "option no-deref" "create $prefix/symref $E" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.35 'sd_ceil_at_s: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 35 - sd_ceil_at_s: prefix -ok 45 - existing old value blocks indirect no-deref create +expecting success of 1504.36 'sd_ceil_at_s_slash: prefix': + test_expect_code 128 git rev-parse --show-prefix + +fatal: not a git repository (or any of the parent directories): .git +ok 36 - sd_ceil_at_s_slash: prefix -expecting success of 1404.46 'incorrect old value blocks indirect no-deref delete': - prefix=refs/incorrect-noderef-delete && - git symbolic-ref $prefix/symref $prefix/foo && - git update-ref $prefix/foo $C && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: is at $C but expected $D - EOF - printf "%s\n" "option no-deref" "delete $prefix/symref $D" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.37 'sd_ceil_at_sd': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 37 - sd_ceil_at_sd -ok 46 - incorrect old value blocks indirect no-deref delete +expecting success of 1504.38 'sd_ceil_at_sd_slash': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 38 - sd_ceil_at_sd_slash -expecting success of 1404.47 'non-empty directory blocks create': - prefix=refs/ne-create && - mkdir -p .git/$prefix/foo/bar && - : >.git/$prefix/foo/bar/baz.lock && - test_when_finished "rm -f .git/$prefix/foo/bar/baz.lock" && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: there is a non-empty directory $SQ.git/$prefix/foo$SQ blocking reference $SQ$prefix/foo$SQ - EOF - printf "%s\n" "update $prefix/foo $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ - EOF - printf "%s\n" "update $prefix/foo $D $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.39 'sd_ceil_at_su': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 39 - sd_ceil_at_su -ok 47 - non-empty directory blocks create +expecting success of 1504.40 'sd_ceil_at_su_slash': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 40 - sd_ceil_at_su_slash -expecting success of 1404.48 'broken reference blocks create': - prefix=refs/broken-create && - mkdir -p .git/$prefix && - echo "gobbledigook" >.git/$prefix/foo && - test_when_finished "rm -f .git/$prefix/foo" && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken - EOF - printf "%s\n" "update $prefix/foo $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/foo$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken - EOF - printf "%s\n" "update $prefix/foo $D $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.41 'sd_ceil_at_s_di': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 41 - sd_ceil_at_s_di -ok 48 - broken reference blocks create +expecting success of 1504.42 'sd_ceil_at_s_di_slash': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 42 - sd_ceil_at_s_di_slash -expecting success of 1404.49 'non-empty directory blocks indirect create': - prefix=refs/ne-indirect-create && - git symbolic-ref $prefix/symref $prefix/foo && - mkdir -p .git/$prefix/foo/bar && - : >.git/$prefix/foo/bar/baz.lock && - test_when_finished "rm -f .git/$prefix/foo/bar/baz.lock" && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: there is a non-empty directory $SQ.git/$prefix/foo$SQ blocking reference $SQ$prefix/foo$SQ - EOF - printf "%s\n" "update $prefix/symref $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ - EOF - printf "%s\n" "update $prefix/symref $D $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +expecting success of 1504.43 'sd_ceil_at_sdi': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 43 - sd_ceil_at_sdi -ok 49 - non-empty directory blocks indirect create +expecting success of 1504.44 'sd_ceil_at_sdi_slash': test 's/d/' = "$(git rev-parse --show-prefix)" +ok 44 - sd_ceil_at_sdi_slash -expecting success of 1404.50 'broken reference blocks indirect create': - prefix=refs/broken-indirect-create && - git symbolic-ref $prefix/symref $prefix/foo && - echo "gobbledigook" >.git/$prefix/foo && - test_when_finished "rm -f .git/$prefix/foo" && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken - EOF - printf "%s\n" "update $prefix/symref $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err && - cat >expected <<-EOF && - fatal: cannot lock ref $SQ$prefix/symref$SQ: unable to resolve reference $SQ$prefix/foo$SQ: reference broken - EOF - printf "%s\n" "update $prefix/symref $D $C" | - test_must_fail git update-ref --stdin 2>output.err && - test_cmp expected output.err +# passed all 44 test(s) +1..44 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1509-root-work-tree.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1509-root-work-tree/.git/ +1..0 # SKIP Test requiring writable / skipped. Read this test if you want to run it +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1506-rev-parse-diagnosis.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1506-rev-parse-diagnosis/.git/ +expecting success of 1506.1 'set up basic repo': + echo one > file.txt && + mkdir subdir && + echo two > subdir/file.txt && + echo three > subdir/file2.txt && + git add . && + git commit -m init && + echo four > index-only.txt && + git add index-only.txt && + echo five > disk-only.txt -ok 50 - broken reference blocks indirect create +[master (root-commit) 724c7fc] init + Author: A U Thor + 3 files changed, 3 insertions(+) + create mode 100644 file.txt + create mode 100644 subdir/file.txt + create mode 100644 subdir/file2.txt +ok 1 - set up basic repo -expecting success of 1404.51 'no bogus intermediate values during delete': - prefix=refs/slow-transaction && - # Set up a reference with differing loose and packed versions: - git update-ref $prefix/foo $C && - git pack-refs --all && - git update-ref $prefix/foo $D && - git for-each-ref $prefix >unchanged && - # Now try to update the reference, but hold the `packed-refs` lock - # for a while to see what happens while the process is blocked: - : >.git/packed-refs.lock && - test_when_finished "rm -f .git/packed-refs.lock" && - { - # Note: the following command is intentionally run in the - # background. We increase the timeout so that `update-ref` - # attempts to acquire the `packed-refs` lock for much longer - # than it takes for us to do the check then delete it: - git -c core.packedrefstimeout=30000 update-ref -d $prefix/foo & - } && - pid2=$! && - # Give update-ref plenty of time to get to the point where it tries - # to lock packed-refs: - sleep 1 && - # Make sure that update-ref did not complete despite the lock: - kill -0 $pid2 && - # Verify that the reference still has its old value: - sha1=$(git rev-parse --verify --quiet $prefix/foo || echo undefined) && - case "$sha1" in - $D) - # This is what we hope for; it means that nothing - # user-visible has changed yet. - : ;; - undefined) - # This is not correct; it means the deletion has happened - # already even though update-ref should not have been - # able to acquire the lock yet. - echo "$prefix/foo deleted prematurely" && - break - ;; - $C) - # This value should never be seen. Probably the loose - # reference has been deleted but the packed reference - # is still there: - echo "$prefix/foo incorrectly observed to be C" && - break - ;; - *) - # WTF? - echo "unexpected value observed for $prefix/foo: $sha1" && - break - ;; - esac >out && - rm -f .git/packed-refs.lock && - wait $pid2 && - test_must_be_empty out && - test_must_fail git rev-parse --verify --quiet $prefix/foo +expecting success of 1506.2 'correct file objects': + HASH_file=$(git rev-parse HEAD:file.txt) && + git rev-parse HEAD:subdir/file.txt && + git rev-parse :index-only.txt && + (cd subdir && + git rev-parse HEAD:subdir/file2.txt && + test $HASH_file = $(git rev-parse HEAD:file.txt) && + test $HASH_file = $(git rev-parse :file.txt) && + test $HASH_file = $(git rev-parse :0:file.txt) ) -ok 51 - no bogus intermediate values during delete +f719efd430d52bcfc8566a43b2eb655688d38871 +8510665149157c2bc901848c3e0b746954e9cbd9 +2bdf67abb163a4ffb2d7f3f0880c9fe5068ce782 +ok 2 - correct file objects -expecting success of 1404.52 'delete fails cleanly if packed-refs file is locked': - prefix=refs/locked-packed-refs && - # Set up a reference with differing loose and packed versions: - git update-ref $prefix/foo $C && - git pack-refs --all && - git update-ref $prefix/foo $D && - git for-each-ref $prefix >unchanged && - # Now try to delete it while the `packed-refs` lock is held: - : >.git/packed-refs.lock && - test_when_finished "rm -f .git/packed-refs.lock" && - test_must_fail git update-ref -d $prefix/foo >out 2>err && - git for-each-ref $prefix >actual && - test_i18ngrep "Unable to create $SQ.*packed-refs.lock$SQ: " err && - test_cmp unchanged actual +expecting success of 1506.3 'correct relative file objects (0)': + git rev-parse :file.txt >expected && + git rev-parse :./file.txt >result && + test_cmp expected result && + git rev-parse :0:./file.txt >result && + test_cmp expected result -error: Unable to create '/build/git-2.30.2/t/trash directory.t1404-update-ref-errors/.git/packed-refs.lock': File exists. -ok 52 - delete fails cleanly if packed-refs file is locked +ok 3 - correct relative file objects (0) -expecting success of 1404.53 'delete fails cleanly if packed-refs.new write fails': - # Setup and expectations are similar to the test above. - prefix=refs/failed-packed-refs && - git update-ref $prefix/foo $C && - git pack-refs --all && - git update-ref $prefix/foo $D && - git for-each-ref $prefix >unchanged && - # This should not happen in practice, but it is an easy way to get a - # reliable error (we open with create_tempfile(), which uses O_EXCL). - : >.git/packed-refs.new && - test_when_finished "rm -f .git/packed-refs.new" && - test_must_fail git update-ref -d $prefix/foo && - git for-each-ref $prefix >actual && - test_cmp unchanged actual +expecting success of 1506.4 'correct relative file objects (1)': + git rev-parse HEAD:file.txt >expected && + git rev-parse HEAD:./file.txt >result && + test_cmp expected result -error: unable to create file /build/git-2.30.2/t/trash directory.t1404-update-ref-errors/.git/packed-refs.new: File exists -ok 53 - delete fails cleanly if packed-refs.new write fails +ok 4 - correct relative file objects (1) -# passed all 53 test(s) -1..53 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2105-update-index-gitfile.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2105-update-index-gitfile/.git/ -expecting success of 2105.1 'submodule with absolute .git file': - mkdir sub1 && - (cd sub1 && - git init && - REAL="$(pwd)/.real" && - mv .git "$REAL" && - echo "gitdir: $REAL" >.git && - test_commit first) +expecting success of 1506.5 'correct relative file objects (2)': + ( + cd subdir && + git rev-parse HEAD:../file.txt >result && + test_cmp ../expected result + ) -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2105-update-index-gitfile/sub1/.git/ -[master (root-commit) 50e526b] first - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 first.t -ok 1 - submodule with absolute .git file +ok 5 - correct relative file objects (2) -expecting success of 2105.2 'add gitlink to absolute .git file': - git update-index --add -- sub1 +expecting success of 1506.6 'correct relative file objects (3)': + ( + cd subdir && + git rev-parse HEAD:../subdir/../file.txt >result && + test_cmp ../expected result + ) -ok 2 - add gitlink to absolute .git file +ok 6 - correct relative file objects (3) -expecting success of 2105.3 'submodule with relative .git file': - mkdir sub2 && - (cd sub2 && - git init && - mv .git .real && - echo "gitdir: .real" >.git && - test_commit first) +expecting success of 1506.7 'correct relative file objects (4)': + git rev-parse HEAD:subdir/file.txt >expected && + ( + cd subdir && + git rev-parse HEAD:./file.txt >result && + test_cmp ../expected result + ) -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2105-update-index-gitfile/sub2/.git/ -[master (root-commit) 50e526b] first - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 first.t -ok 3 - submodule with relative .git file +ok 7 - correct relative file objects (4) -expecting success of 2105.4 'add gitlink to relative .git file': - git update-index --add -- sub2 +expecting success of 1506.8 'correct relative file objects (5)': + git rev-parse :subdir/file.txt >expected && + ( + cd subdir && + git rev-parse :./file.txt >result && + test_cmp ../expected result && + git rev-parse :0:./file.txt >result && + test_cmp ../expected result + ) -ok 4 - add gitlink to relative .git file +ok 8 - correct relative file objects (5) -# passed all 4 test(s) -1..4 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2106-update-index-assume-unchanged.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2106-update-index-assume-unchanged/.git/ -expecting success of 2106.1 'setup': - : >file && - git add file && - git commit -m initial && - git branch other && - echo upstream >file && - git add file && - git commit -m upstream +expecting success of 1506.9 'correct relative file objects (6)': + git rev-parse :file.txt >expected && + ( + cd subdir && + git rev-parse :../file.txt >result && + test_cmp ../expected result && + git rev-parse :0:../file.txt >result && + test_cmp ../expected result + ) -[master (root-commit) 6ce5622] initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 file -[master fbda113] upstream - Author: A U Thor - 1 file changed, 1 insertion(+) -ok 1 - setup +ok 9 - correct relative file objects (6) -expecting success of 2106.2 'do not switch branches with dirty file': - git reset --hard && - git checkout other && - echo dirt >file && - git update-index --assume-unchanged file && - test_must_fail git checkout - 2>err && - test_i18ngrep overwritten err +expecting success of 1506.10 'incorrect revision id': + test_must_fail git rev-parse foobar:file.txt 2>error && + test_i18ngrep "invalid object name .foobar." error && + test_must_fail git rev-parse foobar 2>error && + test_i18ngrep "unknown revision or path not in the working tree." error -HEAD is now at fbda113 upstream -Switched to branch 'other' +foobar:file.txt checking prerequisite: C_LOCALE_OUTPUT mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && @@ -57385,207 +48935,413 @@ ) prerequisite C_LOCALE_OUTPUT ok -error: Your local changes to the following files would be overwritten by checkout: -ok 2 - do not switch branches with dirty file +fatal: invalid object name 'foobar'. +foobar +fatal: ambiguous argument 'foobar': unknown revision or path not in the working tree. +ok 10 - incorrect revision id -# passed all 2 test(s) -1..2 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2103-update-index-ignore-missing.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2103-update-index-ignore-missing/.git/ -expecting success of 2103.1 'basics': - >one && - >two && - >three && +expecting success of 1506.11 'incorrect file in sha1:path': + test_must_fail git rev-parse HEAD:nothing.txt 2>error && + test_i18ngrep "path .nothing.txt. does not exist in .HEAD." error && + test_must_fail git rev-parse HEAD:index-only.txt 2>error && + test_i18ngrep "path .index-only.txt. exists on disk, but not in .HEAD." error && + (cd subdir && + test_must_fail git rev-parse HEAD:file2.txt 2>error && + test_did_you_mean HEAD subdir/ file2.txt exists ) - # need --add when adding - test_must_fail git update-index one && - test -z "$(git ls-files)" && - git update-index --add one && - test zone = "z$(git ls-files)" && +HEAD:nothing.txt +fatal: path 'nothing.txt' does not exist in 'HEAD' +HEAD:index-only.txt +fatal: path 'index-only.txt' exists on disk, but not in 'HEAD' +HEAD:file2.txt +ok 11 - incorrect file in sha1:path - # update-index is atomic - echo 1 >one && - test_must_fail git update-index one two && - echo "M one" >expect && - git diff-files --name-status >actual && +expecting success of 1506.12 'incorrect file in :path and :N:path': + test_must_fail git rev-parse :nothing.txt 2>error && + test_i18ngrep "path .nothing.txt. does not exist (neither on disk nor in the index)" error && + test_must_fail git rev-parse :1:nothing.txt 2>error && + test_i18ngrep "path .nothing.txt. does not exist (neither on disk nor in the index)" error && + test_must_fail git rev-parse :1:file.txt 2>error && + test_did_you_mean ":0" "" file.txt "is in the index" "at stage 1" && + (cd subdir && + test_must_fail git rev-parse :1:file.txt 2>error && + test_did_you_mean ":0" "" file.txt "is in the index" "at stage 1" && + test_must_fail git rev-parse :file2.txt 2>error && + test_did_you_mean ":0" subdir/ file2.txt "is in the index" && + test_must_fail git rev-parse :2:file2.txt 2>error && + test_did_you_mean :0 subdir/ file2.txt "is in the index") && + test_must_fail git rev-parse :disk-only.txt 2>error && + test_i18ngrep "path .disk-only.txt. exists on disk, but not in the index" error + +:nothing.txt +fatal: path 'nothing.txt' does not exist (neither on disk nor in the index) +:1:nothing.txt +fatal: path 'nothing.txt' does not exist (neither on disk nor in the index) +:1:file.txt +:1:file.txt +:file2.txt +:2:file2.txt +:disk-only.txt +fatal: path 'disk-only.txt' exists on disk, but not in the index +ok 12 - incorrect file in :path and :N:path + +expecting success of 1506.13 'invalid @{n} reference': + test_must_fail git rev-parse master@{99999} >output 2>error && + test_must_be_empty output && + test_i18ngrep "log for [^ ]* only has [0-9][0-9]* entries" error && + test_must_fail git rev-parse --verify master@{99999} >output 2>error && + test_must_be_empty output && + test_i18ngrep "log for [^ ]* only has [0-9][0-9]* entries" error + +fatal: log for 'master' only has 1 entries +fatal: log for 'master' only has 1 entries +ok 13 - invalid @{n} reference + +expecting success of 1506.14 'relative path not found': + ( + cd subdir && + test_must_fail git rev-parse HEAD:./nonexistent.txt 2>error && + test_i18ngrep subdir/nonexistent.txt error + ) + +HEAD:./nonexistent.txt +fatal: path 'subdir/nonexistent.txt' does not exist in 'HEAD' +ok 14 - relative path not found + +expecting success of 1506.15 'relative path outside worktree': + test_must_fail git rev-parse HEAD:../file.txt >output 2>error && + test_must_be_empty output && + test_i18ngrep "outside repository" error + +fatal: '../file.txt' is outside repository at '/build/git-2.30.2/t/trash directory.t1506-rev-parse-diagnosis' +ok 15 - relative path outside worktree + +expecting success of 1506.16 'relative path when cwd is outside worktree': + test_must_fail git --git-dir=.git --work-tree=subdir rev-parse HEAD:./file.txt >output 2>error && + test_must_be_empty output && + test_i18ngrep "relative path syntax can.t be used outside working tree" error + +fatal: relative path syntax can't be used outside working tree +ok 16 - relative path when cwd is outside worktree + +expecting success of 1506.17 ':file correctly diagnosed after a pathname': + test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error && + test_i18ngrep ! "exists on disk" error && + test_i18ngrep "no such path in the working tree" error && + cat >expect <<-\EOF && + file.txt + HEAD:file.txt + EOF + test_cmp expect actual + +fatal: HEAD:file.txt: no such path in the working tree. +ok 17 - :file correctly diagnosed after a pathname + +expecting success of 1506.18 'dotdot is not an empty set': + ( H=$(git rev-parse HEAD) && echo $H && echo ^$H ) >expect && + + git rev-parse HEAD.. >actual && test_cmp expect actual && - git update-index --add one two three && - for i in one three two; do echo $i; done >expect && - git ls-files >actual && + git rev-parse ..HEAD >actual && test_cmp expect actual && - test_tick && - ( - test_create_repo xyzzy && - cd xyzzy && - >file && - git add file && - git commit -m "sub initial" - ) && - git add xyzzy && + echo .. >expect && + git rev-parse .. >actual && + test_cmp expect actual - test_tick && - git commit -m initial && - git tag initial +ok 18 - dotdot is not an empty set -error: one: cannot add to the index - missing --add option? -fatal: Unable to process path one -error: two: cannot add to the index - missing --add option? -fatal: Unable to process path two -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2103-update-index-ignore-missing/xyzzy/.git/ -[master (root-commit) a40d181] sub initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 file -warning: adding embedded git repository: xyzzy -hint: You've added another git repository inside your current repository. -hint: Clones of the outer repository will not contain the contents of -hint: the embedded repository and will not know how to obtain it. -hint: If you meant to add a submodule, use: -hint: -hint: git submodule add xyzzy -hint: -hint: If you added this path by mistake, you can remove it from the -hint: index with: -hint: -hint: git rm --cached xyzzy -hint: -hint: See "git help submodule" for more information. -[master (root-commit) ce14d7f] initial - Author: A U Thor - 4 files changed, 2 insertions(+) - create mode 100644 one - create mode 100644 three - create mode 100644 two - create mode 160000 xyzzy -ok 1 - basics +expecting success of 1506.19 'dotdot does not peel endpoints': + git tag -a -m "annote" annotated HEAD && + A=$(git rev-parse annotated) && + H=$(git rev-parse annotated^0) && + { + echo $A && echo ^$A + } >expect-with-two-dots && + { + echo $A && echo $A && echo ^$H + } >expect-with-merge-base && -expecting success of 2103.2 '--ignore-missing --refresh': - git reset --hard initial && - echo 2 >one && - test_must_fail git update-index --refresh && - echo 1 >one && - git update-index --refresh && - rm -f two && - test_must_fail git update-index --refresh && - git update-index --ignore-missing --refresh + git rev-parse annotated..annotated >actual-with-two-dots && + test_cmp expect-with-two-dots actual-with-two-dots && + git rev-parse annotated...annotated >actual-with-merge-base && + test_cmp expect-with-merge-base actual-with-merge-base -HEAD is now at ce14d7f initial -one: needs update -two: needs update -ok 2 - --ignore-missing --refresh +ok 19 - dotdot does not peel endpoints -expecting success of 2103.3 '--unmerged --refresh': - git reset --hard initial && - info=$(git ls-files -s one | sed -e "s/ 0 / 1 /") && - git rm --cached one && - echo "$info" | git update-index --index-info && - test_must_fail git update-index --refresh && - git update-index --unmerged --refresh && - echo 2 >two && - test_must_fail git update-index --unmerged --refresh >actual && - grep two actual && - ! grep one actual && - ! grep three actual +expecting success of 1506.20 'arg before dashdash must be a revision (missing)': + test_must_fail git rev-parse foobar -- 2>stderr && + test_i18ngrep "bad revision" stderr -HEAD is now at ce14d7f initial -rm 'one' -one: needs merge -two: needs update -ok 3 - --unmerged --refresh +fatal: bad revision 'foobar' +ok 20 - arg before dashdash must be a revision (missing) -expecting success of 2103.4 '--ignore-submodules --refresh (1)': - git reset --hard initial && - rm -f two && - test_must_fail git update-index --ignore-submodules --refresh +expecting success of 1506.21 'arg before dashdash must be a revision (file)': + >foobar && + test_must_fail git rev-parse foobar -- 2>stderr && + test_i18ngrep "bad revision" stderr -HEAD is now at ce14d7f initial -two: needs update -ok 4 - --ignore-submodules --refresh (1) +fatal: bad revision 'foobar' +ok 21 - arg before dashdash must be a revision (file) -expecting success of 2103.5 '--ignore-submodules --refresh (2)': - git reset --hard initial && - test_tick && - ( - cd xyzzy && - git commit -m "sub second" --allow-empty - ) && - test_must_fail git update-index --refresh && - test_must_fail git update-index --ignore-missing --refresh && - git update-index --ignore-submodules --refresh +expecting success of 1506.22 'arg before dashdash must be a revision (ambiguous)': + >foobar && + git update-ref refs/heads/foobar HEAD && + { + # we do not want to use rev-parse here, because + # we are testing it + git show-ref -s refs/heads/foobar && + printf "%s\n" -- + } >expect && + git rev-parse foobar -- >actual && + test_cmp expect actual -HEAD is now at ce14d7f initial -[master 66f0d66] sub second - Author: A U Thor -xyzzy: needs update -xyzzy: needs update -ok 5 - --ignore-submodules --refresh (2) +ok 22 - arg before dashdash must be a revision (ambiguous) -# passed all 5 test(s) -1..5 +expecting success of 1506.23 'reject Nth parent if N is too high': + test_must_fail git rev-parse HEAD^100000000000000000000000000000000 + +fatal: ambiguous argument 'HEAD^100000000000000000000000000000000': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +HEAD^100000000000000000000000000000000 +ok 23 - reject Nth parent if N is too high + +expecting success of 1506.24 'reject Nth ancestor if N is too high': + test_must_fail git rev-parse HEAD~100000000000000000000000000000000 + +fatal: ambiguous argument 'HEAD~100000000000000000000000000000000': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +HEAD~100000000000000000000000000000000 +ok 24 - reject Nth ancestor if N is too high + +expecting success of 1506.25 'pathspecs with wildcards are not ambiguous': + echo "*.c" >expect && + git rev-parse "*.c" >actual && + test_cmp expect actual + +ok 25 - pathspecs with wildcards are not ambiguous + +expecting success of 1506.26 'backslash does not trigger wildcard rule': + test_must_fail git rev-parse "foo\\bar" + +fatal: ambiguous argument 'foo\bar': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +foo\bar +ok 26 - backslash does not trigger wildcard rule + +expecting success of 1506.27 'escaped char does not trigger wildcard rule': + test_must_fail git rev-parse "foo\\*bar" + +fatal: ambiguous argument 'foo\*bar': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +foo\*bar +ok 27 - escaped char does not trigger wildcard rule + +expecting success of 1506.28 'arg after dashdash not interpreted as option': + cat >expect <<-\EOF && + -- + --local-env-vars + EOF + git rev-parse -- --local-env-vars >actual && + test_cmp expect actual + +ok 28 - arg after dashdash not interpreted as option + +expecting success of 1506.29 'arg after end-of-options not interpreted as option': + test_must_fail git rev-parse --end-of-options --not-real -- 2>err && + test_i18ngrep bad.revision.*--not-real err + +--end-of-options +fatal: bad revision '--not-real' +ok 29 - arg after end-of-options not interpreted as option + +expecting success of 1506.30 'end-of-options still allows --': + cat >expect <<-EOF && + --end-of-options + $(git rev-parse --verify HEAD) + -- + path + EOF + git rev-parse --end-of-options HEAD -- path >actual && + test_cmp expect actual + +ok 30 - end-of-options still allows -- + +# passed all 30 test(s) +1..30 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2030-unresolve-info.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2030-unresolve-info/.git/ -expecting success of 2030.1 'setup': - mkdir fi && - printf "a\0a" >binary && - git add binary && - test_commit initial fi/le first && - git branch side && - git branch another && - printf "a\0b" >binary && - git add binary && - test_commit second fi/le second && - git checkout side && - test_commit third fi/le third && - git branch add-add && - git checkout another && - test_commit fourth fi/le fourth && - git checkout add-add && - test_commit fifth add-differently && - git checkout master +*** t1507-rev-parse-upstream.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1507-rev-parse-upstream/.git/ +expecting success of 1507.1 'setup': -[master (root-commit) 7b271e3] initial - Author: A U Thor - 2 files changed, 1 insertion(+) - create mode 100644 binary - create mode 100644 fi/le -[master 9a00f99] second + test_commit 1 && + git checkout -b side && + test_commit 2 && + git checkout master && + git clone . clone && + test_commit 3 && + (cd clone && + test_commit 4 && + git branch --track my-side origin/side && + git branch --track local-master master && + git branch --track fun@ny origin/side && + git branch --track @funny origin/side && + git branch --track funny@ origin/side && + git remote add -t master master-only .. && + git fetch master-only && + git branch bad-upstream && + git config branch.bad-upstream.remote master-only && + git config branch.bad-upstream.merge refs/heads/side + ) + +[master (root-commit) d0dcf97] 1 Author: A U Thor - 2 files changed, 1 insertion(+), 1 deletion(-) -Switched to branch 'side' -[side b18340d] third + 1 file changed, 1 insertion(+) + create mode 100644 1.t +Switched to a new branch 'side' +[side 82335b2] 2 Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Switched to branch 'another' -[another cf4d985] fourth + 1 file changed, 1 insertion(+) + create mode 100644 2.t +Switched to branch 'master' +Cloning into 'clone'... +done. +[master 8f489d0] 3 Author: A U Thor - 1 file changed, 1 insertion(+), 1 deletion(-) -Switched to branch 'add-add' -[add-add b851e77] fifth + 1 file changed, 1 insertion(+) + create mode 100644 3.t +[master 6efda21] 4 Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 add-differently -Switched to branch 'master' + create mode 100644 4.t +Branch 'my-side' set up to track remote branch 'side' from 'origin'. +Branch 'local-master' set up to track local branch 'master'. +Branch 'fun@ny' set up to track remote branch 'side' from 'origin'. +Branch '@funny' set up to track remote branch 'side' from 'origin'. +Branch 'funny@' set up to track remote branch 'side' from 'origin'. +From .. + * [new branch] master -> master-only/master + * [new tag] 3 -> 3 ok 1 - setup -expecting success of 2030.2 'add records switch clears': - prime_resolve_undo && - test_tick && - git commit -m merged && - echo committing keeps && - check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le && - git checkout second^0 && - echo switching clears && - check_resolve_undo cleared +expecting success of 1507.2 '@{upstream} resolves to correct full name': + echo refs/remotes/origin/master >expect && + git -C clone rev-parse --symbolic-full-name @{upstream} >actual && + test_cmp expect actual && + git -C clone rev-parse --symbolic-full-name @{UPSTREAM} >actual && + test_cmp expect actual && + git -C clone rev-parse --symbolic-full-name @{UpSTReam} >actual && + test_cmp expect actual -HEAD is now at 9a00f99 second -Note: switching to 'second^0'. +ok 2 - @{upstream} resolves to correct full name + +expecting success of 1507.3 '@{u} resolves to correct full name': + echo refs/remotes/origin/master >expect && + git -C clone rev-parse --symbolic-full-name @{u} >actual && + test_cmp expect actual && + git -C clone rev-parse --symbolic-full-name @{U} >actual && + test_cmp expect actual + +ok 3 - @{u} resolves to correct full name + +expecting success of 1507.4 'my-side@{upstream} resolves to correct full name': + echo refs/remotes/origin/side >expect && + git -C clone rev-parse --symbolic-full-name my-side@{u} >actual && + test_cmp expect actual + +ok 4 - my-side@{upstream} resolves to correct full name + +expecting success of 1507.5 'upstream of branch with @ in middle': + git -C clone rev-parse --symbolic-full-name fun@ny@{u} >actual && + echo refs/remotes/origin/side >expect && + test_cmp expect actual && + git -C clone rev-parse --symbolic-full-name fun@ny@{U} >actual && + test_cmp expect actual + +ok 5 - upstream of branch with @ in middle + +expecting success of 1507.6 'upstream of branch with @ at start': + git -C clone rev-parse --symbolic-full-name @funny@{u} >actual && + echo refs/remotes/origin/side >expect && + test_cmp expect actual + +ok 6 - upstream of branch with @ at start + +expecting success of 1507.7 'upstream of branch with @ at end': + git -C clone rev-parse --symbolic-full-name funny@@{u} >actual && + echo refs/remotes/origin/side >expect && + test_cmp expect actual + +ok 7 - upstream of branch with @ at end + +expecting success of 1507.8 'refs/heads/my-side@{upstream} does not resolve to my-side{upstream}': + test_must_fail git -C clone rev-parse --symbolic-full-name refs/heads/my-side@{upstream} + +fatal: no such branch: 'refs/heads/my-side' +ok 8 - refs/heads/my-side@{upstream} does not resolve to my-side{upstream} + +expecting success of 1507.9 'my-side@{u} resolves to correct commit': + git checkout side && + test_commit 5 && + (cd clone && git fetch) && + echo 2 >expect && + commit_subject my-side >actual && + test_cmp expect actual && + echo 5 >expect && + commit_subject my-side@{u} >actual + +Switched to branch 'side' +[side e3f9627] 5 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 5.t +From /build/git-2.30.2/t/trash directory.t1507-rev-parse-upstream/. + d0dcf97..8f489d0 master -> origin/master + 82335b2..e3f9627 side -> origin/side + * [new tag] 5 -> 5 +ok 9 - my-side@{u} resolves to correct commit + +expecting success of 1507.10 'not-tracking@{u} fails': + test_must_fail git -C clone rev-parse --symbolic-full-name non-tracking@{u} && + (cd clone && git checkout --no-track -b non-tracking) && + test_must_fail git -C clone rev-parse --symbolic-full-name non-tracking@{u} + +fatal: no such branch: 'non-tracking' +Switched to a new branch 'non-tracking' +fatal: no upstream configured for branch 'non-tracking' +ok 10 - not-tracking@{u} fails + +expecting success of 1507.11 '@{u}@{1} resolves correctly': + test_commit 6 && + (cd clone && git fetch) && + echo 5 >expect && + commit_subject my-side@{u}@{1} >actual && + test_cmp expect actual && + commit_subject my-side@{U}@{1} >actual && + test_cmp expect actual + +[side 8bf5882] 6 + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 6.t +From /build/git-2.30.2/t/trash directory.t1507-rev-parse-upstream/. + e3f9627..8bf5882 side -> origin/side + * [new tag] 6 -> 6 +ok 11 - @{u}@{1} resolves correctly + +expecting success of 1507.12 '@{u} without specifying branch fails on a detached HEAD': + git checkout HEAD^0 && + test_must_fail git rev-parse @{u} && + test_must_fail git rev-parse @{U} + +Note: switching to 'HEAD^0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this @@ -57602,455 +49358,1093 @@ Turn off this advice by setting config variable advice.detachedHead to false -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -[detached HEAD b3a51df] merged - Author: A U Thor -committing keeps -Warning: you are leaving 1 commit behind, not connected to -any of your branches: +HEAD is now at 8bf5882 6 +fatal: HEAD does not point to a branch +fatal: HEAD does not point to a branch +ok 12 - @{u} without specifying branch fails on a detached HEAD - b3a51df merged +expecting success of 1507.13 'checkout -b new my-side@{u} forks from the same': +( + cd clone && + git checkout -b new my-side@{u} && + git rev-parse --symbolic-full-name my-side@{u} >expect && + git rev-parse --symbolic-full-name new@{u} >actual && + test_cmp expect actual +) -If you want to keep it by creating a new branch, this may be a good time -to do so with: +Switched to a new branch 'new' +Branch 'new' set up to track remote branch 'side' from 'origin'. +ok 13 - checkout -b new my-side@{u} forks from the same - git branch b3a51df +expecting success of 1507.14 'merge my-side@{u} records the correct name': +( + cd clone && + git checkout master && + test_might_fail git branch -D new && + git branch -t new my-side@{u} && + git merge -s ours new@{u} && + git show -s --pretty=tformat:%s >actual && + echo "Merge remote-tracking branch ${SQ}origin/side${SQ}" >expect && + test_cmp expect actual +) -HEAD is now at 9a00f99 second -switching clears -ok 2 - add records switch clears +Switched to branch 'master' +Your branch and 'origin/master' have diverged, +and have 1 and 1 different commits each, respectively. + (use "git pull" to merge the remote branch into yours) +Deleted branch new (was 8bf5882). +Branch 'new' set up to track remote branch 'side' from 'origin'. +Merge made by the 'ours' strategy. +ok 14 - merge my-side@{u} records the correct name -expecting success of 2030.3 'rm records reset clears': - prime_resolve_undo && - test_tick && - git commit -m merged && - echo committing keeps && - check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le && +expecting success of 1507.15 'branch -d other@{u}': + git checkout -t -b other master && + git branch -d @{u} && + git for-each-ref refs/heads/master >actual && + test_must_be_empty actual - echo merge clears upfront && - test_must_fail git merge fourth^0 && - check_resolve_undo nuked && +Previous HEAD position was 8bf5882 6 +Switched to a new branch 'other' +Branch 'other' set up to track local branch 'master'. +Deleted branch master (was 8f489d0). +ok 15 - branch -d other@{u} - git rm -f fi/le && - echo resolving records && - check_resolve_undo recorded fi/le initial:fi/le HEAD:fi/le fourth:fi/le && +expecting success of 1507.16 'checkout other@{u}': + git branch -f master HEAD && + git checkout -t -b another master && + git checkout @{u} && + git symbolic-ref HEAD >actual && + echo refs/heads/master >expect && + test_cmp expect actual - git reset --hard && - echo resetting discards && - check_resolve_undo discarded +Switched to a new branch 'another' +Branch 'another' set up to track local branch 'master'. +Switched to branch 'master' +ok 16 - checkout other@{u} -HEAD is now at 9a00f99 second -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -[detached HEAD 70d285e] merged - Author: A U Thor -committing keeps -merge clears upfront -Merging: -70d285e merged -virtual fourth^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Automatic merge failed; fix conflicts and then commit the result. -rm 'fi/le' -resolving records -HEAD is now at 70d285e merged -resetting discards -ok 3 - rm records reset clears +expecting success of 1507.17 'branch@{u} works when tracking a local branch': + echo refs/heads/master >expect && + git -C clone rev-parse --symbolic-full-name local-master@{u} >actual && + test_cmp expect actual -expecting success of 2030.4 'plumbing clears': - prime_resolve_undo && - test_tick && - git commit -m merged && - echo committing keeps && - check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le && +ok 17 - branch@{u} works when tracking a local branch - echo plumbing clear && - git update-index --clear-resolve-undo && - check_resolve_undo cleared +expecting success of 1507.18 'branch@{u} error message when no upstream': + cat >expect <<-EOF && + fatal: no upstream configured for branch ${SQ}non-tracking${SQ} + EOF + error_message non-tracking@{u} && + test_i18ncmp expect error -HEAD is now at 70d285e merged -Warning: you are leaving 1 commit behind, not connected to -any of your branches: +checking prerequisite: C_LOCALE_OUTPUT - 70d285e merged +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false -If you want to keep it by creating a new branch, this may be a good time -to do so with: +) +prerequisite C_LOCALE_OUTPUT ok +ok 18 - branch@{u} error message when no upstream - git branch 70d285e +expecting success of 1507.19 '@{u} error message when no upstream': + cat >expect <<-EOF && + fatal: no upstream configured for branch ${SQ}master${SQ} + EOF + test_must_fail git rev-parse --verify @{u} 2>actual && + test_i18ncmp expect actual -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -[detached HEAD 894de51] merged - Author: A U Thor -committing keeps -plumbing clear -ok 4 - plumbing clears +ok 19 - @{u} error message when no upstream -expecting success of 2030.5 'add records checkout -m undoes': - prime_resolve_undo && - git diff HEAD && - git checkout --conflict=merge fi/le && - echo checkout used the record and removed it && - check_resolve_undo removed && - echo the index and the work tree is unmerged again && - git diff >actual && - grep "^++<<<<<<<" actual +expecting success of 1507.20 'branch@{u} error message with misspelt branch': + cat >expect <<-EOF && + fatal: no such branch: ${SQ}no-such-branch${SQ} + EOF + error_message no-such-branch@{u} && + test_i18ncmp expect error -HEAD is now at 894de51 merged -Warning: you are leaving 1 commit behind, not connected to -any of your branches: +ok 20 - branch@{u} error message with misspelt branch - 894de51 merged +expecting success of 1507.21 '@{u} error message when not on a branch': + cat >expect <<-EOF && + fatal: HEAD does not point to a branch + EOF + git checkout HEAD^0 && + test_must_fail git rev-parse --verify @{u} 2>actual && + test_i18ncmp expect actual -If you want to keep it by creating a new branch, this may be a good time -to do so with: +Note: switching to 'HEAD^0'. - git branch 894de51 +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -diff --git a/fi/le b/fi/le -index e019be0..8dca2f8 100644 ---- a/fi/le -+++ b/fi/le -@@ -1 +1 @@ --second -+different -Recreated 1 merge conflict -checkout used the record and removed it -the index and the work tree is unmerged again -++<<<<<<< ours -ok 5 - add records checkout -m undoes +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: -expecting success of 2030.6 'unmerge with plumbing': - prime_resolve_undo && - git update-index --unresolve fi/le && - git ls-files -u >actual && - test_line_count = 3 actual + git switch -c -HEAD is now at 9a00f99 second -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -ok 6 - unmerge with plumbing +Or undo this operation with: -expecting success of 2030.7 'rerere and rerere forget': - mkdir .git/rr-cache && - prime_resolve_undo && - echo record the resolution && - git rerere && - rerere_id=$(cd .git/rr-cache && echo */postimage) && - rerere_id=${rerere_id%/postimage} && - test -f .git/rr-cache/$rerere_id/postimage && - git checkout -m fi/le && - echo resurrect the conflict && - grep "^=======" fi/le && - echo reresolve the conflict && - git rerere && - test "z$(cat fi/le)" = zdifferent && - echo register the resolution again && - git add fi/le && - check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le && - test -z "$(git ls-files -u)" && - git rerere forget fi/le && - ! test -f .git/rr-cache/$rerere_id/postimage && - tr "\0" "\n" <.git/MERGE_RR >actual && - echo "$rerere_id fi/le" >expect && + git switch - + +Turn off this advice by setting config variable advice.detachedHead to false + +HEAD is now at 8f489d0 3 +ok 21 - @{u} error message when not on a branch + +expecting success of 1507.22 'branch@{u} error message if upstream branch not fetched': + cat >expect <<-EOF && + fatal: upstream branch ${SQ}refs/heads/side${SQ} not stored as a remote-tracking branch + EOF + error_message bad-upstream@{u} && + test_i18ncmp expect error + +ok 22 - branch@{u} error message if upstream branch not fetched + +expecting success of 1507.23 'pull works when tracking a local branch': +( + cd clone && + git checkout local-master && + git pull +) + +Switched to branch 'local-master' +Your branch is behind 'master' by 4 commits, and can be fast-forwarded. + (use "git pull" to update your local branch) +hint: Pulling without specifying how to reconcile divergent branches is +hint: discouraged. You can squelch this message by running one of the following +hint: commands sometime before your next pull: +hint: +hint: git config pull.rebase false # merge (the default strategy) +hint: git config pull.rebase true # rebase +hint: git config pull.ff only # fast-forward only +hint: +hint: You can replace "git config" with "git config --global" to set a default +hint: preference for all repositories. You can also pass --rebase, --no-rebase, +hint: or --ff-only on the command line to override the configured default per +hint: invocation. +From . + * branch master -> FETCH_HEAD +Updating 6efda21..ac35135 +Fast-forward +ok 23 - pull works when tracking a local branch + +expecting success of 1507.24 '@{u} works when tracking a local branch': + echo refs/heads/master >expect && + git -C clone rev-parse --symbolic-full-name @{u} >actual && test_cmp expect actual -HEAD is now at 9a00f99 second -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Recorded preimage for 'fi/le' -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -record the resolution -Recorded resolution for 'fi/le'. -Recreated 1 merge conflict -resurrect the conflict -======= -reresolve the conflict -Resolved 'fi/le' using previous resolution. -register the resolution again -Updated preimage for 'fi/le' -Forgot resolution for 'fi/le' -ok 7 - rerere and rerere forget +ok 24 - @{u} works when tracking a local branch -expecting success of 2030.8 'rerere and rerere forget (subdirectory)': - rm -fr .git/rr-cache && - mkdir .git/rr-cache && - prime_resolve_undo && - echo record the resolution && - (cd fi && git rerere) && - rerere_id=$(cd .git/rr-cache && echo */postimage) && - rerere_id=${rerere_id%/postimage} && - test -f .git/rr-cache/$rerere_id/postimage && - (cd fi && git checkout -m le) && - echo resurrect the conflict && - grep "^=======" fi/le && - echo reresolve the conflict && - (cd fi && git rerere) && - test "z$(cat fi/le)" = zdifferent && - echo register the resolution again && - (cd fi && git add le) && - check_resolve_undo kept fi/le initial:fi/le second:fi/le third:fi/le && - test -z "$(git ls-files -u)" && - (cd fi && git rerere forget le) && - ! test -f .git/rr-cache/$rerere_id/postimage && - tr "\0" "\n" <.git/MERGE_RR >actual && - echo "$rerere_id fi/le" >expect && +expecting success of 1507.25 'log -g other@{u}': + commit=$(git rev-parse HEAD) && + cat >expect <<-EOF && + commit $commit + Reflog: master@{0} (C O Mitter ) + Reflog message: branch: Created from HEAD + Author: A U Thor + Date: Thu Apr 7 15:15:13 2005 -0700 + + 3 + EOF + git log -1 -g other@{u} >actual && test_cmp expect actual -HEAD is now at 9a00f99 second -HEAD is now at 9a00f99 second -Merging: -9a00f99 second -virtual third^0 -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Recorded preimage for 'fi/le' -Automatic merge failed; fix conflicts and then commit the result. -merge does not leave anything -resolving records -record the resolution -Recorded resolution for 'fi/le'. -Recreated 1 merge conflict -resurrect the conflict -======= -reresolve the conflict -Resolved 'fi/le' using previous resolution. -register the resolution again -Updated preimage for 'fi/le' -Forgot resolution for 'fi/le' -ok 8 - rerere and rerere forget (subdirectory) +ok 25 - log -g other@{u} -expecting success of 2030.9 'rerere forget (binary)': - git checkout -f side && - printf "a\0c" >binary && - git commit -a -m binary && - test_must_fail git merge second && - git rerere forget binary +expecting success of 1507.26 'log -g other@{u}@{now}': + commit=$(git rev-parse HEAD) && + cat >expect <<-EOF && + commit $commit + Reflog: master@{Thu Apr 7 15:17:13 2005 -0700} (C O Mitter ) + Reflog message: branch: Created from HEAD + Author: A U Thor + Date: Thu Apr 7 15:15:13 2005 -0700 -Previous HEAD position was 9a00f99 second -Switched to branch 'side' -[side 431a49e] binary + 3 + EOF + git log -1 -g other@{u}@{now} >actual && + test_cmp expect actual + +ok 26 - log -g other@{u}@{now} + +expecting success of 1507.27 '@{reflog}-parsing does not look beyond colon': + echo content >@{yesterday} && + git add @{yesterday} && + git commit -m "funny reflog file" && + git hash-object @{yesterday} >expect && + git rev-parse HEAD:@{yesterday} >actual + +[detached HEAD eae0df2] funny reflog file Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) -warning: Cannot merge binary files: binary (HEAD vs. second) -Merging: -431a49e binary -virtual second -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -Auto-merging binary -CONFLICT (content): Merge conflict in binary -Recorded preimage for 'fi/le' -Automatic merge failed; fix conflicts and then commit the result. -warning: Cannot merge binary files: binary (ours vs. theirs) -error: could not parse conflict hunks in 'binary' -ok 9 - rerere forget (binary) + 1 file changed, 1 insertion(+) + create mode 100644 @{yesterday} +ok 27 - @{reflog}-parsing does not look beyond colon -expecting success of 2030.10 'rerere forget (add-add conflict)': - git checkout -f master && - echo master >add-differently && - git add add-differently && - git commit -m "add differently" && - test_must_fail git merge fifth && - git rerere forget add-differently 2>actual && - test_i18ngrep "no remembered" actual +expecting success of 1507.28 '@{upstream}-parsing does not look beyond colon': + echo content >@{upstream} && + git add @{upstream} && + git commit -m "funny upstream file" && + git hash-object @{upstream} >expect && + git rev-parse HEAD:@{upstream} >actual -Switched to branch 'master' -[master 2aac45c] add differently +[detached HEAD c358789] funny upstream file Author: A U Thor 1 file changed, 1 insertion(+) - create mode 100644 add-differently -Merging: -2aac45c add differently -virtual fifth -found 1 common ancestor: -7b271e3 initial -Auto-merging fi/le -CONFLICT (content): Merge conflict in fi/le -CONFLICT (add/add): Merge conflict in add-differently -Auto-merging add-differently -Recorded preimage for 'add-differently' -Recorded preimage for 'fi/le' -Automatic merge failed; fix conflicts and then commit the result. -checking prerequisite: C_LOCALE_OUTPUT + create mode 100644 @{upstream} +ok 28 - @{upstream}-parsing does not look beyond colon -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +# passed all 28 test(s) +1..28 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1508-at-combinations.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1508-at-combinations/.git/ +expecting success of 1508.1 'setup': + test_commit master-one && + test_commit master-two && + git checkout -b upstream-branch && + test_commit upstream-one && + test_commit upstream-two && + if test_have_prereq !MINGW + then + git checkout -b @/at-test + fi && + git checkout -b @@/at-test && + git checkout -b @at-test && + git checkout -b old-branch && + test_commit old-one && + test_commit old-two && + git checkout -b new-branch && + test_commit new-one && + test_commit new-two && + git branch -u master old-branch && + git branch -u upstream-branch new-branch -) -prerequisite C_LOCALE_OUTPUT ok -error: no remembered resolution for 'add-differently' -ok 10 - rerere forget (add-add conflict) +[master (root-commit) 8ff5a25] master-one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 master-one.t +[master 8164ab4] master-two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 master-two.t +Switched to a new branch 'upstream-branch' +[upstream-branch 101729d] upstream-one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 upstream-one.t +[upstream-branch 77f4b7f] upstream-two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 upstream-two.t +Switched to a new branch '@/at-test' +Switched to a new branch '@@/at-test' +Switched to a new branch '@at-test' +Switched to a new branch 'old-branch' +[old-branch 4e4e7fa] old-one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 old-one.t +[old-branch 3273d4d] old-two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 old-two.t +Switched to a new branch 'new-branch' +[new-branch e49ce93] new-one + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 new-one.t +[new-branch c493e4b] new-two + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 new-two.t +Branch 'old-branch' set up to track local branch 'master'. +Branch 'new-branch' set up to track local branch 'upstream-branch'. +ok 1 - setup -# passed all 10 test(s) -1..10 +expecting success of 1508.2 'HEAD = refs/heads/new-branch': + echo 'refs/heads/new-branch' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s 'HEAD' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD' >actual + else + git cat-file -p 'HEAD' >actual + fi && + test_cmp expect actual + +ok 2 - HEAD = refs/heads/new-branch + +expecting success of 1508.3 '@{1} = new-one': + echo 'new-one' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{1}' >actual + else + git cat-file -p '@{1}' >actual + fi && + test_cmp expect actual + +ok 3 - @{1} = new-one + +expecting success of 1508.4 'HEAD@{1} = new-one': + echo 'new-one' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s 'HEAD@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD@{1}' >actual + else + git cat-file -p 'HEAD@{1}' >actual + fi && + test_cmp expect actual + +ok 4 - HEAD@{1} = new-one + +expecting success of 1508.5 '@{now} = new-two': + echo 'new-two' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{now}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{now}' >actual + else + git cat-file -p '@{now}' >actual + fi && + test_cmp expect actual + +ok 5 - @{now} = new-two + +expecting success of 1508.6 'HEAD@{now} = new-two': + echo 'new-two' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s 'HEAD@{now}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD@{now}' >actual + else + git cat-file -p 'HEAD@{now}' >actual + fi && + test_cmp expect actual + +ok 6 - HEAD@{now} = new-two + +expecting success of 1508.7 '@{-1} = refs/heads/old-branch': + echo 'refs/heads/old-branch' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@{-1}' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@{-1}' >actual + else + git cat-file -p '@{-1}' >actual + fi && + test_cmp expect actual + +ok 7 - @{-1} = refs/heads/old-branch + +expecting success of 1508.8 '@{-1}@{0} = old-two': + echo 'old-two' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{-1}@{0}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{-1}@{0}' >actual + else + git cat-file -p '@{-1}@{0}' >actual + fi && + test_cmp expect actual + +ok 8 - @{-1}@{0} = old-two + +expecting success of 1508.9 '@{-1}@{1} = old-one': + echo 'old-one' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{-1}@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{-1}@{1}' >actual + else + git cat-file -p '@{-1}@{1}' >actual + fi && + test_cmp expect actual + +ok 9 - @{-1}@{1} = old-one + +expecting success of 1508.10 '@{u} = refs/heads/upstream-branch': + echo 'refs/heads/upstream-branch' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@{u}' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@{u}' >actual + else + git cat-file -p '@{u}' >actual + fi && + test_cmp expect actual + +ok 10 - @{u} = refs/heads/upstream-branch + +expecting success of 1508.11 'HEAD@{u} = refs/heads/upstream-branch': + echo 'refs/heads/upstream-branch' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s 'HEAD@{u}' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD@{u}' >actual + else + git cat-file -p 'HEAD@{u}' >actual + fi && + test_cmp expect actual + +ok 11 - HEAD@{u} = refs/heads/upstream-branch + +expecting success of 1508.12 '@{u}@{1} = upstream-one': + echo 'upstream-one' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{u}@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{u}@{1}' >actual + else + git cat-file -p '@{u}@{1}' >actual + fi && + test_cmp expect actual + +ok 12 - @{u}@{1} = upstream-one + +expecting success of 1508.13 '@{-1}@{u} = refs/heads/master': + echo 'refs/heads/master' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@{-1}@{u}' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@{-1}@{u}' >actual + else + git cat-file -p '@{-1}@{u}' >actual + fi && + test_cmp expect actual + +ok 13 - @{-1}@{u} = refs/heads/master + +expecting success of 1508.14 '@{-1}@{u}@{1} = master-one': + echo 'master-one' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{-1}@{u}@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{-1}@{u}@{1}' >actual + else + git cat-file -p '@{-1}@{u}@{1}' >actual + fi && + test_cmp expect actual + +ok 14 - @{-1}@{u}@{1} = master-one + +expecting success of 1508.15 '@ = new-two': + echo 'new-two' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@' >actual + else + git cat-file -p '@' >actual + fi && + test_cmp expect actual + +ok 15 - @ = new-two + +expecting success of 1508.16 '@@{u} = refs/heads/upstream-branch': + echo 'refs/heads/upstream-branch' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@@{u}' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@@{u}' >actual + else + git cat-file -p '@@{u}' >actual + fi && + test_cmp expect actual + +ok 16 - @@{u} = refs/heads/upstream-branch + +expecting success of 1508.17 '@@/at-test = refs/heads/@@/at-test': + echo 'refs/heads/@@/at-test' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@@/at-test' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@@/at-test' >actual + else + git cat-file -p '@@/at-test' >actual + fi && + test_cmp expect actual + +ok 17 - @@/at-test = refs/heads/@@/at-test + +expecting success of 1508.18 '@/at-test = refs/heads/@/at-test': + echo 'refs/heads/@/at-test' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@/at-test' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@/at-test' >actual + else + git cat-file -p '@/at-test' >actual + fi && + test_cmp expect actual + +ok 18 - @/at-test = refs/heads/@/at-test + +expecting success of 1508.19 '@at-test = refs/heads/@at-test': + echo 'refs/heads/@at-test' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s '@at-test' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name '@at-test' >actual + else + git cat-file -p '@at-test' >actual + fi && + test_cmp expect actual + +ok 19 - @at-test = refs/heads/@at-test + +expecting success of 1508.20 '@{u}@{-1} is nonsensical': + test_must_fail git rev-parse --verify '@{u}@{-1}' + +fatal: Needed a single revision +ok 20 - @{u}@{-1} is nonsensical + +expecting success of 1508.21 '@{0}@{0} is nonsensical': + test_must_fail git rev-parse --verify '@{0}@{0}' + +fatal: Needed a single revision +ok 21 - @{0}@{0} is nonsensical + +expecting success of 1508.22 '@{1}@{u} is nonsensical': + test_must_fail git rev-parse --verify '@{1}@{u}' + +fatal: no such branch: '@{1}' +ok 22 - @{1}@{u} is nonsensical + +expecting success of 1508.23 'HEAD@{-1} is nonsensical': + test_must_fail git rev-parse --verify 'HEAD@{-1}' + +fatal: Needed a single revision +ok 23 - HEAD@{-1} is nonsensical + +expecting success of 1508.24 '@{-1}@{-1} is nonsensical': + test_must_fail git rev-parse --verify '@{-1}@{-1}' + +fatal: Needed a single revision +ok 24 - @{-1}@{-1} is nonsensical + +expecting success of 1508.25 'HEAD@{3} = old-two': + echo 'old-two' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s 'HEAD@{3}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD@{3}' >actual + else + git cat-file -p 'HEAD@{3}' >actual + fi && + test_cmp expect actual + +ok 25 - HEAD@{3} = old-two + +expecting success of 1508.26 '@{3} is nonsensical': + test_must_fail git rev-parse --verify '@{3}' + +fatal: log for 'new-branch' only has 3 entries +ok 26 - @{3} is nonsensical + +expecting success of 1508.27 'switch to old-branch': + git checkout old-branch + +Switched to branch 'old-branch' +Your branch is ahead of 'master' by 4 commits. + (use "git push" to publish your local commits) +ok 27 - switch to old-branch + +expecting success of 1508.28 'HEAD = refs/heads/old-branch': + echo 'refs/heads/old-branch' >expect && + if test 'ref' = 'commit' + then + git log -1 --format=%s 'HEAD' >actual + elif test 'ref' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD' >actual + else + git cat-file -p 'HEAD' >actual + fi && + test_cmp expect actual + +ok 28 - HEAD = refs/heads/old-branch + +expecting success of 1508.29 'HEAD@{1} = new-two': + echo 'new-two' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s 'HEAD@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name 'HEAD@{1}' >actual + else + git cat-file -p 'HEAD@{1}' >actual + fi && + test_cmp expect actual + +ok 29 - HEAD@{1} = new-two + +expecting success of 1508.30 '@{1} = old-one': + echo 'old-one' >expect && + if test 'commit' = 'commit' + then + git log -1 --format=%s '@{1}' >actual + elif test 'commit' = 'ref' + then + git rev-parse --symbolic-full-name '@{1}' >actual + else + git cat-file -p '@{1}' >actual + fi && + test_cmp expect actual + +ok 30 - @{1} = old-one + +expecting success of 1508.31 'create path with @': + echo content >normal && + echo content >fun@ny && + git add normal fun@ny && + git commit -m "funny path" + +[old-branch 9d022ac] funny path + Author: A U Thor + 2 files changed, 2 insertions(+) + create mode 100644 fun@ny + create mode 100644 normal +ok 31 - create path with @ + +expecting success of 1508.32 '@:normal = content': + echo 'content' >expect && + if test 'blob' = 'commit' + then + git log -1 --format=%s '@:normal' >actual + elif test 'blob' = 'ref' + then + git rev-parse --symbolic-full-name '@:normal' >actual + else + git cat-file -p '@:normal' >actual + fi && + test_cmp expect actual + +ok 32 - @:normal = content + +expecting success of 1508.33 '@:fun@ny = content': + echo 'content' >expect && + if test 'blob' = 'commit' + then + git log -1 --format=%s '@:fun@ny' >actual + elif test 'blob' = 'ref' + then + git rev-parse --symbolic-full-name '@:fun@ny' >actual + else + git cat-file -p '@:fun@ny' >actual + fi && + test_cmp expect actual + +ok 33 - @:fun@ny = content + +# passed all 33 test(s) +1..33 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2202-add-addremove.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2202-add-addremove/.git/ -expecting success of 2202.1 'setup': - ( - echo .gitignore && - echo will-remove - ) >expect && - ( - echo actual && - echo expect && - echo ignored - ) >.gitignore && - git --literal-pathspecs add --all && - >will-remove && - git add --all && - test_tick && - git commit -m initial && - git ls-files >actual && - test_cmp expect actual +*** t1511-rev-parse-caret.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1511-rev-parse-caret/.git/ +expecting success of 1511.1 'setup': + echo blob >a-blob && + git tag -a -m blob blob-tag $(git hash-object -w a-blob) && + mkdir a-tree && + echo moreblobs >a-tree/another-blob && + git add . && + TREE_SHA1=$(git write-tree) && + git tag -a -m tree tree-tag "$TREE_SHA1" && + git commit -m Initial && + git tag -a -m commit commit-tag && + git branch ref && + git checkout master && + echo modified >>a-blob && + git add -u && + git commit -m Modified && + git branch modref && + echo changed! >>a-blob && + git add -u && + git commit -m !Exp && + git branch expref && + echo changed >>a-blob && + git add -u && + git commit -m Changed && + echo changed-again >>a-blob && + git add -u && + git commit -m Changed-again -[master (root-commit) 50dd5d8] initial +[master (root-commit) 543146a] Initial Author: A U Thor - 2 files changed, 3 insertions(+) - create mode 100644 .gitignore - create mode 100644 will-remove + 2 files changed, 2 insertions(+) + create mode 100644 a-blob + create mode 100644 a-tree/another-blob +Already on 'master' +[master 921b76a] Modified + Author: A U Thor + 1 file changed, 1 insertion(+) +[master e6ae3e8] !Exp + Author: A U Thor + 1 file changed, 1 insertion(+) +[master ee9e0b8] Changed + Author: A U Thor + 1 file changed, 1 insertion(+) +[master 8f5adaa] Changed-again + Author: A U Thor + 1 file changed, 1 insertion(+) ok 1 - setup -expecting success of 2202.2 'git add --all': - ( - echo .gitignore && - echo not-ignored && - echo "M .gitignore" && - echo "A not-ignored" && - echo "D will-remove" - ) >expect && - >ignored && - >not-ignored && - echo modification >>.gitignore && - rm -f will-remove && - git add --all && - git update-index --refresh && - git ls-files >actual && - git diff-index --name-status --cached HEAD >>actual && - test_cmp expect actual +expecting success of 1511.2 'ref^{non-existent}': + test_must_fail git rev-parse ref^{non-existent} -ok 2 - git add --all +fatal: ambiguous argument 'ref^{non-existent}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +ref^{non-existent} +ok 2 - ref^{non-existent} -expecting success of 2202.3 'Just "git add" is a no-op': - git reset --hard && - echo >will-remove && - >will-not-be-added && - git add && - git diff-index --name-status --cached HEAD >actual && - test_must_be_empty actual +expecting success of 1511.3 'ref^{}': + git rev-parse ref >expected && + git rev-parse ref^{} >actual && + test_cmp expected actual && + git rev-parse commit-tag^{} >actual && + test_cmp expected actual -HEAD is now at 50dd5d8 initial -Nothing specified, nothing added. -hint: Maybe you wanted to say 'git add .'? -hint: Turn this message off by running -hint: "git config advice.addEmptyPathspec false" -ok 3 - Just "git add" is a no-op +ok 3 - ref^{} -# passed all 3 test(s) -1..3 +expecting success of 1511.4 'ref^{commit}': + git rev-parse ref >expected && + git rev-parse ref^{commit} >actual && + test_cmp expected actual && + git rev-parse commit-tag^{commit} >actual && + test_cmp expected actual && + test_must_fail git rev-parse tree-tag^{commit} && + test_must_fail git rev-parse blob-tag^{commit} + +error: tree-tag^{commit}: expected commit type, but the object dereferences to tree type +error: tree-tag^{commit}: expected commit type, but the object dereferences to tree type +fatal: ambiguous argument 'tree-tag^{commit}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +tree-tag^{commit} +error: blob-tag^{commit}: expected commit type, but the object dereferences to blob type +error: blob-tag^{commit}: expected commit type, but the object dereferences to blob type +fatal: ambiguous argument 'blob-tag^{commit}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +blob-tag^{commit} +ok 4 - ref^{commit} + +expecting success of 1511.5 'ref^{tree}': + echo $TREE_SHA1 >expected && + git rev-parse ref^{tree} >actual && + test_cmp expected actual && + git rev-parse commit-tag^{tree} >actual && + test_cmp expected actual && + git rev-parse tree-tag^{tree} >actual && + test_cmp expected actual && + test_must_fail git rev-parse blob-tag^{tree} + +error: blob-tag^{tree}: expected tree type, but the object dereferences to blob type +error: blob-tag^{tree}: expected tree type, but the object dereferences to blob type +fatal: ambiguous argument 'blob-tag^{tree}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +blob-tag^{tree} +ok 5 - ref^{tree} + +expecting success of 1511.6 'ref^{tag}': + test_must_fail git rev-parse HEAD^{tag} && + git rev-parse commit-tag >expected && + git rev-parse commit-tag^{tag} >actual && + test_cmp expected actual + +error: HEAD^{tag}: expected tag type, but the object dereferences to tree type +error: HEAD^{tag}: expected tag type, but the object dereferences to tree type +fatal: ambiguous argument 'HEAD^{tag}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +HEAD^{tag} +ok 6 - ref^{tag} + +expecting success of 1511.7 'ref^{/.}': + git rev-parse master >expected && + git rev-parse master^{/.} >actual && + test_cmp expected actual + +ok 7 - ref^{/.} + +expecting success of 1511.8 'ref^{/non-existent}': + test_must_fail git rev-parse master^{/non-existent} + +fatal: ambiguous argument 'master^{/non-existent}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +master^{/non-existent} +ok 8 - ref^{/non-existent} + +expecting success of 1511.9 'ref^{/Initial}': + git rev-parse ref >expected && + git rev-parse master^{/Initial} >actual && + test_cmp expected actual + +ok 9 - ref^{/Initial} + +expecting success of 1511.10 'ref^{/!Exp}': + test_must_fail git rev-parse master^{/!Exp} + +fatal: ambiguous argument 'master^{/!Exp}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +master^{/!Exp} +ok 10 - ref^{/!Exp} + +expecting success of 1511.11 'ref^{/!}': + test_must_fail git rev-parse master^{/!} + +fatal: ambiguous argument 'master^{/!}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +master^{/!} +ok 11 - ref^{/!} + +expecting success of 1511.12 'ref^{/!!Exp}': + git rev-parse expref >expected && + git rev-parse master^{/!!Exp} >actual && + test_cmp expected actual + +ok 12 - ref^{/!!Exp} + +expecting success of 1511.13 'ref^{/!-}': + test_must_fail git rev-parse master^{/!-} + +fatal: ambiguous argument 'master^{/!-}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +master^{/!-} +ok 13 - ref^{/!-} + +expecting success of 1511.14 'ref^{/!-.}': + test_must_fail git rev-parse master^{/!-.} + +fatal: ambiguous argument 'master^{/!-.}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +master^{/!-.} +ok 14 - ref^{/!-.} + +expecting success of 1511.15 'ref^{/!-non-existent}': + git rev-parse master >expected && + git rev-parse master^{/!-non-existent} >actual && + test_cmp expected actual + +ok 15 - ref^{/!-non-existent} + +expecting success of 1511.16 'ref^{/!-Changed}': + git rev-parse expref >expected && + git rev-parse master^{/!-Changed} >actual && + test_cmp expected actual + +ok 16 - ref^{/!-Changed} + +expecting success of 1511.17 'ref^{/!-!Exp}': + git rev-parse modref >expected && + git rev-parse expref^{/!-!Exp} >actual && + test_cmp expected actual + +ok 17 - ref^{/!-!Exp} + +# passed all 17 test(s) +1..17 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2107-update-index-basic.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2107-update-index-basic/.git/ -expecting success of 2107.1 'update-index --nonsense fails': - test_must_fail git update-index --nonsense 2>msg && - test -s msg +*** t1513-rev-parse-prefix.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1513-rev-parse-prefix/.git/ +expecting success of 1513.1 'setup': + mkdir -p sub1/sub2 && + echo top >top && + echo file1 >sub1/file1 && + echo file2 >sub1/sub2/file2 && + git add top sub1/file1 sub1/sub2/file2 && + git commit -m commit -ok 1 - update-index --nonsense fails +[master (root-commit) 2a70803] commit + Author: A U Thor + 3 files changed, 3 insertions(+) + create mode 100644 sub1/file1 + create mode 100644 sub1/sub2/file2 + create mode 100644 top +ok 1 - setup -expecting success of 2107.2 'update-index --nonsense dumps usage': - test_expect_code 129 git update-index --nonsense 2>err && - test_i18ngrep "[Uu]sage: git update-index" err +expecting success of 1513.2 'empty prefix -- file': + git rev-parse --prefix "" -- top sub1/file1 >actual && + cat <<-\EOF >expected && + -- + top + sub1/file1 + EOF + test_cmp expected actual -checking prerequisite: C_LOCALE_OUTPUT +ok 2 - empty prefix -- file -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +expecting success of 1513.3 'valid prefix -- file': + git rev-parse --prefix sub1/ -- file1 sub2/file2 >actual && + cat <<-\EOF >expected && + -- + sub1/file1 + sub1/sub2/file2 + EOF + test_cmp expected actual -) -prerequisite C_LOCALE_OUTPUT ok -usage: git update-index [] [--] [...] -ok 2 - update-index --nonsense dumps usage +ok 3 - valid prefix -- file -expecting success of 2107.3 'update-index -h with corrupt index': - mkdir broken && - ( - cd broken && - git init && - >.git/index && - test_expect_code 129 git update-index -h >usage 2>&1 - ) && - test_i18ngrep "[Uu]sage: git update-index" broken/usage +expecting success of 1513.4 'valid prefix -- ../file': + git rev-parse --prefix sub1/ -- ../top sub2/file2 >actual && + cat <<-\EOF >expected && + -- + sub1/../top + sub1/sub2/file2 + EOF + test_cmp expected actual + +ok 4 - valid prefix -- ../file + +expecting success of 1513.5 'empty prefix HEAD:./path': + git rev-parse --prefix "" HEAD:./top >actual && + git rev-parse HEAD:top >expected && + test_cmp expected actual + +ok 5 - empty prefix HEAD:./path + +expecting success of 1513.6 'valid prefix HEAD:./path': + git rev-parse --prefix sub1/ HEAD:./file1 >actual && + git rev-parse HEAD:sub1/file1 >expected && + test_cmp expected actual + +ok 6 - valid prefix HEAD:./path + +expecting success of 1513.7 'valid prefix HEAD:../path': + git rev-parse --prefix sub1/ HEAD:../top >actual && + git rev-parse HEAD:top >expected && + test_cmp expected actual + +ok 7 - valid prefix HEAD:../path + +expecting success of 1513.8 'prefix ignored with HEAD:top': + git rev-parse --prefix sub1/ HEAD:top >actual && + git rev-parse HEAD:top >expected && + test_cmp expected actual + +ok 8 - prefix ignored with HEAD:top + +expecting success of 1513.9 'disambiguate path with valid prefix': + git rev-parse --prefix sub1/ file1 >actual && + cat <<-\EOF >expected && + sub1/file1 + EOF + test_cmp expected actual + +ok 9 - disambiguate path with valid prefix + +expecting success of 1513.10 'file and refs with prefix': + git rev-parse --prefix sub1/ master file1 >actual && + cat <<-EOF >expected && + $(git rev-parse master) + sub1/file1 + EOF + test_cmp expected actual + +ok 10 - file and refs with prefix + +expecting success of 1513.11 'two-levels deep': + git rev-parse --prefix sub1/sub2/ -- file2 >actual && + cat <<-\EOF >expected && + -- + sub1/sub2/file2 + EOF + test_cmp expected actual + +ok 11 - two-levels deep + +# passed all 11 test(s) +1..11 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1515-rev-parse-outside-repo.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1515-rev-parse-outside-repo/.git/ +expecting success of 1515.1 'set up non-repo directory': + GIT_CEILING_DIRECTORIES=$(pwd) && + export GIT_CEILING_DIRECTORIES && + mkdir non-repo && + cd non-repo && + # confirm that git does not find a repo + test_must_fail git rev-parse --git-dir + +fatal: not a git repository (or any of the parent directories): .git +ok 1 - set up non-repo directory + +expecting success of 1515.2 'rev-parse --sq-quote': + dump_args "$tricky" easy >expect && + eval "dump_args $(git rev-parse --sq-quote "$tricky" easy)" >actual && + test_cmp expect actual + +ok 2 - rev-parse --sq-quote + +expecting success of 1515.3 'rev-parse --local-env-vars': + git rev-parse --local-env-vars >actual && + # we do not want to depend on the complete list here, + # so just look for something plausible + grep ^GIT_DIR actual + +GIT_DIR +ok 3 - rev-parse --local-env-vars + +expecting success of 1515.4 'rev-parse --resolve-git-dir': + git init --separate-git-dir repo dir && + test_must_fail git rev-parse --resolve-git-dir . && + echo "$(pwd)/repo" >expect && + git rev-parse --resolve-git-dir dir/.git >actual && + test_cmp expect actual hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all @@ -58062,36 +50456,27 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2107-update-index-basic/broken/.git/ -usage: git update-index [] [--] [...] -ok 3 - update-index -h with corrupt index - -expecting success of 2107.4 '--cacheinfo complains of missing arguments': - test_must_fail git update-index --cacheinfo - -error: option 'cacheinfo' expects ,, -ok 4 - --cacheinfo complains of missing arguments - -expecting success of 2107.5 '--cacheinfo does not accept blob null sha1': - echo content >file && - git add file && - git rev-parse :file >expect && - test_must_fail git update-index --cacheinfo 100644 $ZERO_OID file && - git rev-parse :file >actual && - test_cmp expect actual - -error: cache entry has null sha1: file -fatal: Unable to write new index file -ok 5 - --cacheinfo does not accept blob null sha1 +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1515-rev-parse-outside-repo/non-repo/repo/ +fatal: not a gitdir '.' +ok 4 - rev-parse --resolve-git-dir -expecting success of 2107.6 '--cacheinfo does not accept gitlink null sha1': - git init submodule && - (cd submodule && test_commit foo) && - git add submodule && - git rev-parse :submodule >expect && - test_must_fail git update-index --cacheinfo 160000 $ZERO_OID submodule && - git rev-parse :submodule >actual && - test_cmp expect actual +# passed all 4 test(s) +1..4 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1514-rev-parse-push.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1514-rev-parse-push/.git/ +expecting success of 1514.1 'setup': + git init --bare parent.git && + git init --bare other.git && + git remote add origin parent.git && + git remote add other other.git && + test_commit base && + git push origin HEAD && + git branch --set-upstream-to=origin/master master && + git branch --track topic origin/master && + git push origin topic && + git push other topic hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all @@ -58103,86 +50488,919 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2107-update-index-basic/submodule/.git/ -[master (root-commit) ddd63c9] foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 foo.t -warning: adding embedded git repository: submodule -hint: You've added another git repository inside your current repository. -hint: Clones of the outer repository will not contain the contents of -hint: the embedded repository and will not know how to obtain it. -hint: If you meant to add a submodule, use: -hint: -hint: git submodule add submodule +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1514-rev-parse-push/parent.git/ +hint: Using 'master' as the name for the initial branch. This default branch name +hint: is subject to change. To configure the initial branch name to use in all +hint: of your new repositories, which will suppress this warning, call: hint: -hint: If you added this path by mistake, you can remove it from the -hint: index with: +hint: git config --global init.defaultBranch hint: -hint: git rm --cached submodule +hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +hint: 'development'. The just-created branch can be renamed via this command: hint: -hint: See "git help submodule" for more information. -error: cache entry has null sha1: submodule -fatal: Unable to write new index file -ok 6 - --cacheinfo does not accept gitlink null sha1 +hint: git branch -m +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1514-rev-parse-push/other.git/ +[master (root-commit) d1ff1c9] base + Author: A U Thor + 1 file changed, 1 insertion(+) + create mode 100644 base.t +To parent.git + * [new branch] HEAD -> master +Branch 'master' set up to track remote branch 'master' from 'origin'. +Branch 'topic' set up to track remote branch 'master' from 'origin'. +To parent.git + * [new branch] topic -> topic +To other.git + * [new branch] topic -> topic +ok 1 - setup -expecting success of 2107.7 '--cacheinfo mode,sha1,path (new syntax)': - echo content >file && - git hash-object -w --stdin expect && +expecting success of 1514.2 '@{push} with default=nothing': + test_config push.default nothing && + test_must_fail git rev-parse master@{push} && + test_must_fail git rev-parse master@{PUSH} && + test_must_fail git rev-parse master@{PuSH} - git update-index --add --cacheinfo 100644 "$(cat expect)" file && - git rev-parse :file >actual && - test_cmp expect actual && +fatal: push has no destination (push.default is 'nothing') +fatal: push has no destination (push.default is 'nothing') +fatal: push has no destination (push.default is 'nothing') +ok 2 - @{push} with default=nothing - git update-index --add --cacheinfo "100644,$(cat expect),elif" && - git rev-parse :elif >actual && - test_cmp expect actual +expecting success of 1514.3 '@{push} with default=simple': + test_config push.default simple && + resolve master@{push} refs/remotes/origin/master && + resolve master@{PUSH} refs/remotes/origin/master && + resolve master@{pUSh} refs/remotes/origin/master -ok 7 - --cacheinfo mode,sha1,path (new syntax) +ok 3 - @{push} with default=simple -expecting success of 2107.8 '.lock files cleaned up': - mkdir cleanup && +expecting success of 1514.4 'triangular @{push} fails with default=simple': + test_config push.default simple && + test_must_fail git rev-parse topic@{push} + +fatal: cannot resolve 'simple' push to a single destination +ok 4 - triangular @{push} fails with default=simple + +expecting success of 1514.5 '@{push} with default=current': + test_config push.default current && + resolve topic@{push} refs/remotes/origin/topic + +ok 5 - @{push} with default=current + +expecting success of 1514.6 '@{push} with default=matching': + test_config push.default matching && + resolve topic@{push} refs/remotes/origin/topic + +ok 6 - @{push} with default=matching + +expecting success of 1514.7 '@{push} with pushremote defined': + test_config push.default current && + test_config branch.topic.pushremote other && + resolve topic@{push} refs/remotes/other/topic + +ok 7 - @{push} with pushremote defined + +expecting success of 1514.8 '@{push} with push refspecs': + test_config push.default nothing && + test_config remote.origin.push refs/heads/*:refs/heads/magic/* && + git push && + resolve topic@{push} refs/remotes/origin/magic/topic + +To parent.git + * [new branch] master -> magic/master + * [new branch] topic -> magic/topic +ok 8 - @{push} with push refspecs + +expecting success of 1514.9 'resolving @{push} fails with a detached HEAD': + git checkout HEAD^0 && + test_when_finished "git checkout -" && + test_must_fail git rev-parse @{push} + +Note: switching to 'HEAD^0'. + +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. + +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: + + git switch -c + +Or undo this operation with: + + git switch - + +Turn off this advice by setting config variable advice.detachedHead to false + +HEAD is now at d1ff1c9 base +fatal: HEAD does not point to a branch +Switched to branch 'master' +Your branch is up to date with 'origin/master'. +ok 9 - resolving @{push} fails with a detached HEAD + +# passed all 9 test(s) +1..9 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1600-index.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1600-index/.git/ +expecting success of 1600.1 'setup': + echo 1 >a + +ok 1 - setup + +expecting success of 1600.2 'bogus GIT_INDEX_VERSION issues warning': ( - cd cleanup && - mkdir worktree && - git init repo && - cd repo && - git config core.worktree ../../worktree && - # --refresh triggers late setup_work_tree, - # active_cache_changed is zero, rollback_lock_file fails - git update-index --refresh && - ! test -f .git/index.lock + rm -f .git/index && + GIT_INDEX_VERSION=2bogus && + export GIT_INDEX_VERSION && + git add a 2>&1 | sed "s/[0-9]//" >actual.err && + sed -e "s/ Z$/ /" <<-\EOF >expect.err && + warning: GIT_INDEX_VERSION set, but the value is invalid. + Using version Z + EOF + test_i18ncmp expect.err actual.err ) -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2107-update-index-basic/cleanup/repo/.git/ -ok 8 - .lock files cleaned up +checking prerequisite: C_LOCALE_OUTPUT -expecting success of 2107.9 '--chmod=+x and chmod=-x in the same argument list': - >A && - >B && - git add A B && - git update-index --chmod=+x A --chmod=-x B && - cat >expect <<-EOF && - 100755 $EMPTY_BLOB 0 A - 100644 $EMPTY_BLOB 0 B +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +ok 2 - bogus GIT_INDEX_VERSION issues warning + +expecting success of 1600.3 'out of bounds GIT_INDEX_VERSION issues warning': + ( + rm -f .git/index && + GIT_INDEX_VERSION=1 && + export GIT_INDEX_VERSION && + git add a 2>&1 | sed "s/[0-9]//" >actual.err && + sed -e "s/ Z$/ /" <<-\EOF >expect.err && + warning: GIT_INDEX_VERSION set, but the value is invalid. + Using version Z + EOF + test_i18ncmp expect.err actual.err + ) + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +ok 3 - out of bounds GIT_INDEX_VERSION issues warning + +expecting success of 1600.4 'no warning with bogus GIT_INDEX_VERSION and existing index': + ( + GIT_INDEX_VERSION=1 && + export GIT_INDEX_VERSION && + git add a 2>actual.err && + test_must_be_empty actual.err + ) + +ok 4 - no warning with bogus GIT_INDEX_VERSION and existing index + +expecting success of 1600.5 'out of bounds index.version issues warning': + ( + sane_unset GIT_INDEX_VERSION && + rm -f .git/index && + git config --add index.version 1 && + git add a 2>&1 | sed "s/[0-9]//" >actual.err && + sed -e "s/ Z$/ /" <<-\EOF >expect.err && + warning: index.version set, but the value is invalid. + Using version Z + EOF + test_i18ncmp expect.err actual.err + ) + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +ok 5 - out of bounds index.version issues warning + +expecting success of 1600.6 'index version config precedence': + test_index_version 0 false 0 2 && + test_index_version 2 false 0 2 && + test_index_version 3 false 0 2 && + test_index_version 4 false 0 4 && + test_index_version 2 false 4 4 && + test_index_version 2 true 0 2 && + test_index_version 0 true 0 4 && + test_index_version 0 true 2 2 + +ok 6 - index version config precedence + +# passed all 6 test(s) +1..6 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1512-rev-parse-disambiguation.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1512-rev-parse-disambiguation/.git/ +checking prerequisite: SHA1 + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SHA1" && + case "$GIT_DEFAULT_HASH" in + sha1) true ;; + "") test $(git hash-object /dev/null) = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 ;; + *) false ;; + esac + +) +prerequisite SHA1 ok +expecting success of 1512.1 'blob and tree': + test_tick && + ( + for i in 0 1 2 3 4 5 6 7 8 9 + do + echo $i + done && + echo && + echo b1rwzyc3 + ) >a0blgqsjc && + + # create one blob 0000000000b36 + git add a0blgqsjc && + + # create one tree 0000000000cdc + git write-tree + +0000000000cdcf04beb2fab69e65622616294984 +ok 1 - blob and tree + +expecting success of 1512.2 'warn ambiguity when no candidate matches type hint': + test_must_fail git rev-parse --verify 000000000^{commit} 2>actual && + test_i18ngrep "short SHA1 000000000 is ambiguous" actual + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +error: short SHA1 000000000 is ambiguous +ok 2 - warn ambiguity when no candidate matches type hint + +expecting success of 1512.3 'disambiguate tree-ish': + # feed tree-ish in an unambiguous way + git rev-parse --verify 0000000000cdc:a0blgqsjc && + + # ambiguous at the object name level, but there is only one + # such tree-ish (the other is a blob) + git rev-parse --verify 000000000:a0blgqsjc + +0000000000b36b6aa7ea4b75318ed078f55505c3 +0000000000b36b6aa7ea4b75318ed078f55505c3 +ok 3 - disambiguate tree-ish + +expecting success of 1512.4 'disambiguate blob': + sed -e "s/|$//" >patch <<-EOF && + diff --git a/frotz b/frotz + index 000000000..ffffff 100644 + --- a/frotz + +++ b/frotz + @@ -10,3 +10,4 @@ + 9 + | + b1rwzyc3 + +irwry EOF - git ls-files --stage A B >actual && + ( + GIT_INDEX_FILE=frotz && + export GIT_INDEX_FILE && + git apply --build-fake-ancestor frotz patch && + git cat-file blob :frotz >actual + ) && + test_cmp a0blgqsjc actual + +ok 4 - disambiguate blob + +expecting success of 1512.5 'disambiguate tree': + commit=$(echo "d7xm" | git commit-tree 000000000) && + # this commit is fffff2e and not ambiguous with the 00000* objects + test $(git rev-parse $commit^{tree}) = $(git rev-parse 0000000000cdc) + +ok 5 - disambiguate tree + +expecting success of 1512.6 'first commit': + # create one commit 0000000000e4f + git commit -m a2onsxbvj + +[master (root-commit) 0000000000e] a2onsxbvj + Author: A U Thor + 1 file changed, 12 insertions(+) + create mode 100644 a0blgqsjc +ok 6 - first commit + +expecting success of 1512.7 'disambiguate commit-ish': + # feed commit-ish in an unambiguous way + git rev-parse --verify 0000000000e4f^{commit} && + + # ambiguous at the object name level, but there is only one + # such commit (the others are tree and blob) + git rev-parse --verify 000000000^{commit} && + + # likewise + git rev-parse --verify 000000000^0 + +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +ok 7 - disambiguate commit-ish + +expecting success of 1512.8 'disambiguate commit': + commit=$(echo "hoaxj" | git commit-tree 0000000000cdc -p 000000000) && + # this commit is ffffffd8 and not ambiguous with the 00000* objects + test $(git rev-parse $commit^) = $(git rev-parse 0000000000e4f) + +ok 8 - disambiguate commit + +expecting success of 1512.9 'log name1..name2 takes only commit-ishes on both ends': + # These are underspecified from the prefix-length point of view + # to disambiguate the commit with other objects, but there is only + # one commit that has 00000* prefix at this point. + git log 000000000..000000000 && + git log ..000000000 && + git log 000000000.. && + git log 000000000...000000000 && + git log ...000000000 && + git log 000000000... + +ok 9 - log name1..name2 takes only commit-ishes on both ends + +expecting success of 1512.10 'rev-parse name1..name2 takes only commit-ishes on both ends': + # Likewise. + git rev-parse 000000000..000000000 && + git rev-parse ..000000000 && + git rev-parse 000000000.. + +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +^0000000000e4f9fbd19cf1e932319e5ad0d1d00b +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +^0000000000e4f9fbd19cf1e932319e5ad0d1d00b +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +^0000000000e4f9fbd19cf1e932319e5ad0d1d00b +ok 10 - rev-parse name1..name2 takes only commit-ishes on both ends + +expecting success of 1512.11 'git log takes only commit-ish': + # Likewise. + git log 000000000 + +commit 0000000000e4f9fbd19cf1e932319e5ad0d1d00b +Author: A U Thor +Date: Thu Apr 7 15:13:13 2005 -0700 + + a2onsxbvj +ok 11 - git log takes only commit-ish + +expecting success of 1512.12 'git reset takes only commit-ish': + # Likewise. + git reset 000000000 + +ok 12 - git reset takes only commit-ish + +expecting success of 1512.13 'first tag': + # create one tag 0000000000f8f + git tag -a -m j7cp83um v1.0.0 + +ok 13 - first tag + +checking known breakage of 1512.14 'two semi-ambiguous commit-ish': + # At this point, we have a tag 0000000000f8f that points + # at a commit 0000000000e4f, and a tree and a blob that + # share 0000000000 prefix with these tag and commit. + # + # Once the parser becomes ultra-smart, it could notice that + # 0000000000 before ^{commit} name many different objects, but + # that only two (HEAD and v1.0.0 tag) can be peeled to commit, + # and that peeling them down to commit yield the same commit + # without ambiguity. + git rev-parse --verify 0000000000^{commit} && + + # likewise + git log 0000000000..0000000000 && + git log ..0000000000 && + git log 0000000000.. && + git log 0000000000...0000000000 && + git log ...0000000000 && + git log 0000000000... + +error: short SHA1 0000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f tag v1.0.0 +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +fatal: Needed a single revision +not ok 14 - two semi-ambiguous commit-ish # TODO known breakage + +checking known breakage of 1512.15 'three semi-ambiguous tree-ish': + # Likewise for tree-ish. HEAD, v1.0.0 and HEAD^{tree} share + # the prefix but peeling them to tree yields the same thing + git rev-parse --verify 0000000000^{tree} + +error: short SHA1 0000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f tag v1.0.0 +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000000c tree +fatal: Needed a single revision +not ok 15 - three semi-ambiguous tree-ish # TODO known breakage + +expecting success of 1512.16 'parse describe name': + # feed an unambiguous describe name + git rev-parse --verify v1.0.0-0-g0000000000e4f && + + # ambiguous at the object name level, but there is only one + # such commit (others are blob, tree and tag) + git rev-parse --verify v1.0.0-0-g000000000 + +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +ok 16 - parse describe name + +expecting success of 1512.17 'more history': + # commit 0000000000043 + git mv a0blgqsjc d12cr3h8t && + echo h62xsjeu >>d12cr3h8t && + git add d12cr3h8t && + + test_tick && + git commit -m czy8f73t && + + # commit 00000000008ec + git mv d12cr3h8t j000jmpzn && + echo j08bekfvt >>j000jmpzn && + git add j000jmpzn && + + test_tick && + git commit -m ioiley5o && + + # commit 0000000005b0 + git checkout v1.0.0^0 && + git mv a0blgqsjc f5518nwu && + + for i in h62xsjeu j08bekfvt kg7xflhm + do + echo $i + done >>f5518nwu && + git add f5518nwu && + + test_tick && + git commit -m b3wettvi && + side=$(git rev-parse HEAD) && + + # commit 000000000066 + git checkout master && + + # If you use recursive, merge will fail and you will need to + # clean up a0blgqsjc as well. If you use resolve, merge will + # succeed. + test_might_fail git merge --no-commit -s recursive $side && + git rm -f f5518nwu j000jmpzn && + + test_might_fail git rm -f a0blgqsjc && + ( + git cat-file blob $side:f5518nwu && + echo j3l0i9s6 + ) >ab2gs879 && + git add ab2gs879 && + + test_tick && + git commit -m ad2uee + + +[master 00000000000] czy8f73t + Author: A U Thor + 1 file changed, 1 insertion(+) + rename a0blgqsjc => d12cr3h8t (76%) +[master 00000000008] ioiley5o + Author: A U Thor + 1 file changed, 1 insertion(+) + rename d12cr3h8t => j000jmpzn (79%) +Note: switching to 'v1.0.0^0'. + +You are in 'detached HEAD' state. You can look around, make experimental +changes and commit them, and you can discard any commits you make in this +state without impacting any branches by switching back to a branch. + +If you want to create a new branch to retain commits you create, you may +do so (now or later) by using -c with the switch command. Example: + + git switch -c + +Or undo this operation with: + + git switch - + +Turn off this advice by setting config variable advice.detachedHead to false + +HEAD is now at 0000000000e a2onsxbvj +[detached HEAD 0000000005] b3wettvi + Author: A U Thor + 1 file changed, 3 insertions(+) + rename a0blgqsjc => f5518nwu (51%) +Warning: you are leaving 1 commit behind, not connected to +any of your branches: + + 0000000005 b3wettvi + +If you want to keep it by creating a new branch, this may be a good time +to do so with: + + git branch 0000000005 + +Switched to branch 'master' +Merging: +00000000008 ioiley5o +virtual 0000000005b0d85f595e1a98533157ea161798da +found 1 common ancestor: +0000000000e a2onsxbvj +CONFLICT (rename/rename): Rename "a0blgqsjc"->"j000jmpzn" in branch "HEAD" rename "a0blgqsjc"->"f5518nwu" in "0000000005b0d85f595e1a98533157ea161798da" +Auto-merging j000jmpzn and f5518nwu, both renamed from a0blgqsjc +Automatic merge failed; fix conflicts and then commit the result. +rm 'f5518nwu' +rm 'j000jmpzn' +rm 'a0blgqsjc' +[master 00000000006] ad2uee + Author: A U Thor +ok 17 - more history + +checking known breakage of 1512.18 'parse describe name taking advantage of generation': + # ambiguous at the object name level, but there is only one + # such commit at generation 0 + git rev-parse --verify v1.0.0-0-g000000000 && + + # likewise for generation 2 and 4 + git rev-parse --verify v1.0.0-2-g000000000 && + git rev-parse --verify v1.0.0-4-g000000000 + +fatal: Needed a single revision +not ok 18 - parse describe name taking advantage of generation # TODO known breakage + +expecting success of 1512.19 'parse describe name not ignoring ambiguity': + # ambiguous at the object name level, and there are two such + # commits at generation 1 + test_must_fail git rev-parse --verify v1.0.0-1-g000000000 + +fatal: Needed a single revision +ok 19 - parse describe name not ignoring ambiguity + +expecting success of 1512.20 'ambiguous commit-ish': + # Now there are many commits that begin with the + # common prefix, none of these should pick one at + # random. They all should result in ambiguity errors. + test_must_fail git rev-parse --verify 00000000^{commit} && + + # likewise + test_must_fail git log 000000000..000000000 && + test_must_fail git log ..000000000 && + test_must_fail git log 000000000.. && + test_must_fail git log 000000000...000000000 && + test_must_fail git log ...000000000 && + test_must_fail git log 000000000... + +error: short SHA1 00000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: Needed a single revision +error: short SHA1 000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: ambiguous argument '000000000..000000000': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +error: short SHA1 000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: ambiguous argument '..000000000': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +error: short SHA1 000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: ambiguous argument '000000000..': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +error: short SHA1 000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: ambiguous argument '000000000...000000000': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +error: short SHA1 000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: ambiguous argument '...000000000': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +error: short SHA1 000000000 is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +fatal: ambiguous argument '000000000...': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +ok 20 - ambiguous commit-ish + +expecting success of 1512.21 'ambiguous tags peel to treeish': + test_must_fail git rev-parse 0000000000f^{tree} + +error: short SHA1 0000000000f is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 0000000000fd tree +fatal: ambiguous argument '0000000000f^{tree}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +0000000000f^{tree} +ok 21 - ambiguous tags peel to treeish + +expecting success of 1512.22 'rev-parse --disambiguate': + # The test creates 16 objects that share the prefix and two + # commits created by commit-tree in earlier tests share a + # different prefix. + git rev-parse --disambiguate=000000000 >actual && + test_line_count = 16 actual && + test "$(sed -e "s/^\(.........\).*/\1/" actual | sort -u)" = 000000000 + +ok 22 - rev-parse --disambiguate + +expecting success of 1512.23 'rev-parse --disambiguate drops duplicates': + git rev-parse --disambiguate=000000000 >expect && + git pack-objects .git/objects/pack/pack actual && test_cmp expect actual -ok 9 - --chmod=+x and chmod=-x in the same argument list +bdfb78b16a1cd3c3b1ebf4cca29330c92a46fc43 +ok 23 - rev-parse --disambiguate drops duplicates -# passed all 9 test(s) -1..9 +expecting success of 1512.24 'ambiguous 40-hex ref': + TREE=$(git mktree err) = $REF && + grep "refname.*${REF}.*ambiguous" err + +warning: refname '0000000000663a70a94c2b280b575855256220fa' is ambiguous. +ok 24 - ambiguous 40-hex ref + +expecting success of 1512.25 'ambiguous short sha1 ref': + TREE=$(git mktree err) = $VAL && + grep "refname.*${REF}.*ambiguous" err + +warning: refname '00000000006' is ambiguous. +ok 25 - ambiguous short sha1 ref + +expecting success of 1512.26 'ambiguity errors are not repeated (raw)': + test_must_fail git rev-parse 00000 2>stderr && + grep "is ambiguous" stderr >errors && + test_line_count = 1 errors + +00000 +ok 26 - ambiguity errors are not repeated (raw) + +expecting success of 1512.27 'ambiguity errors are not repeated (treeish)': + test_must_fail git rev-parse 00000:foo 2>stderr && + grep "is ambiguous" stderr >errors && + test_line_count = 1 errors + +00000:foo +ok 27 - ambiguity errors are not repeated (treeish) + +expecting success of 1512.28 'ambiguity errors are not repeated (peel)': + test_must_fail git rev-parse 00000^{commit} 2>stderr && + grep "is ambiguous" stderr >errors && + test_line_count = 1 errors + +00000^{commit} +ok 28 - ambiguity errors are not repeated (peel) + +expecting success of 1512.29 'ambiguity hints': + test_must_fail git rev-parse 000000000 2>stderr && + grep ^hint: stderr >hints && + # 16 candidates, plus one intro line + test_line_count = 17 hints + +000000000 +ok 29 - ambiguity hints + +expecting success of 1512.30 'ambiguity hints respect type': + test_must_fail git rev-parse 000000000^{commit} 2>stderr && + grep ^hint: stderr >hints && + # 5 commits, 1 tag (which is a committish), plus intro line + test_line_count = 7 hints + +000000000^{commit} +ok 30 - ambiguity hints respect type + +expecting success of 1512.31 'failed type-selector still shows hint': + # these two blobs share the same prefix "ee3d", but neither + # will pass for a commit + echo 851 | git hash-object --stdin -w && + echo 872 | git hash-object --stdin -w && + test_must_fail git rev-parse ee3d^{commit} 2>stderr && + grep ^hint: stderr >hints && + test_line_count = 3 hints + +ee3de9906b5e9a4a369e91cba4235487a7e10351 +ee3d8abaa95a7395b373892b2593de2f426814e2 +ee3d^{commit} +ok 31 - failed type-selector still shows hint + +expecting success of 1512.32 'core.disambiguate config can prefer types': + # ambiguous between tree and tag + sha1=0000000000f && + test_must_fail git rev-parse $sha1 && + git rev-parse $sha1^{commit} && + git -c core.disambiguate=committish rev-parse $sha1 + +error: short SHA1 0000000000f is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 0000000000fd tree +hint: 0000000000f2 blob +fatal: ambiguous argument '0000000000f': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +0000000000f +0000000000e4f9fbd19cf1e932319e5ad0d1d00b +0000000000f8f5507ab27a0d7bd3c75c0f64ffe0 +ok 32 - core.disambiguate config can prefer types + +expecting success of 1512.33 'core.disambiguate does not override context': + # treeish ambiguous between tag and tree + test_must_fail \ + git -c core.disambiguate=committish rev-parse $sha1^{tree} + +error: short SHA1 0000000000f is ambiguous +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 0000000000fd tree +fatal: ambiguous argument '0000000000f^{tree}': unknown revision or path not in the working tree. +Use '--' to separate paths from revisions, like this: +'git [...] -- [...]' +0000000000f^{tree} +ok 33 - core.disambiguate does not override context + +expecting success of 1512.34 'ambiguous commits are printed by type first, then hash order': + test_must_fail git rev-parse 0000 2>stderr && + grep ^hint: stderr >hints && + grep 0000 hints >objects && + cat >expected <<-\EOF && + tag + commit + tree + blob + EOF + awk "{print \$3}" objects.types && + uniq objects.types.uniq && + test_cmp expected objects.types.uniq && + for type in tag commit tree blob + do + grep $type objects >$type.objects && + sort $type.objects >$type.objects.sorted && + test_cmp $type.objects.sorted $type.objects + done + +0000 +ok 34 - ambiguous commits are printed by type first, then hash order + +expecting success of 1512.35 'cat-file --batch and --batch-check show ambiguous': + echo "0000 ambiguous" >expect && + echo 0000 | git cat-file --batch-check >actual 2>err && + test_cmp expect actual && + test_i18ngrep hint: err && + echo 0000 | git cat-file --batch >actual 2>err && + test_cmp expect actual && + test_i18ngrep hint: err + +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +hint: 000000000002 tree +hint: 00000000005 tree +hint: 00000000009 tree +hint: 0000000000c tree +hint: 0000000000fd tree +hint: 00000000001 blob +hint: 00000000003 blob +hint: 0000000000a blob +hint: 0000000000b blob +hint: 0000000000f2 blob +hint: The candidates are: +hint: 0000000000f8 tag v1.0.0 +hint: 000000000004 commit 2005-04-07 - czy8f73t +hint: 00000000006 commit 2005-04-07 - ad2uee +hint: 00000000008 commit 2005-04-07 - ioiley5o +hint: 0000000000e commit 2005-04-07 - a2onsxbvj +hint: 0000000005 commit 2005-04-07 - b3wettvi +hint: 000000000002 tree +hint: 00000000005 tree +hint: 00000000009 tree +hint: 0000000000c tree +hint: 0000000000fd tree +hint: 00000000001 blob +hint: 00000000003 blob +hint: 0000000000a blob +hint: 0000000000b blob +hint: 0000000000f2 blob +ok 35 - cat-file --batch and --batch-check show ambiguous + +# still have 3 known breakage(s) +# passed all remaining 32 test(s) +1..35 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1601-index-bogus.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1601-index-bogus/.git/ +expecting success of 1601.1 'create tree with null sha1': + tree=$(printf "160000 commit $ZERO_OID\\tbroken\\n" | git mktree) + +ok 1 - create tree with null sha1 + +expecting success of 1601.2 'read-tree refuses to read null sha1': + test_must_fail git read-tree $tree + +error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' +error: cache entry has null sha1: broken +fatal: unable to write new index file +ok 2 - read-tree refuses to read null sha1 + +expecting success of 1601.3 'GIT_ALLOW_NULL_SHA1 overrides refusal': + GIT_ALLOW_NULL_SHA1=1 git read-tree $tree + +error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' +warning: cache entry has null sha1: broken +ok 3 - GIT_ALLOW_NULL_SHA1 overrides refusal + +expecting success of 1601.4 'git write-tree refuses to write null sha1': + test_must_fail git write-tree + +error: invalid object 160000 0000000000000000000000000000000000000000 for 'broken' +fatal: git-write-tree: error building trees +ok 4 - git write-tree refuses to write null sha1 + +# passed all 4 test(s) +1..4 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' *** t1450-fsck.sh *** @@ -59736,10 +52954,10 @@ Author: A U Thor 1 file changed, 1 insertion(+) create mode 100644 subdir/file -error: HEAD: invalid reflog entry d38f542f2d868bcbbb09173528a3bb403f53a0f0 -error: HEAD: invalid reflog entry d38f542f2d868bcbbb09173528a3bb403f53a0f0 error: refs/heads/master: invalid reflog entry d38f542f2d868bcbbb09173528a3bb403f53a0f0 error: refs/heads/master: invalid reflog entry d38f542f2d868bcbbb09173528a3bb403f53a0f0 +error: HEAD: invalid reflog entry d38f542f2d868bcbbb09173528a3bb403f53a0f0 +error: HEAD: invalid reflog entry d38f542f2d868bcbbb09173528a3bb403f53a0f0 broken link from commit ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3 to commit d38f542f2d868bcbbb09173528a3bb403f53a0f0 dangling tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 @@ -59795,8 +53013,8 @@ create mode 100644 subdir/file error: refs/heads/master: invalid sha1 pointer ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3 error: HEAD: invalid sha1 pointer ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3 -error: HEAD: invalid reflog entry ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3 error: refs/heads/master: invalid reflog entry ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3 +error: HEAD: invalid reflog entry ca32bdaaf4ee9eab00bafa6471c9a2fa98fc42c3 ok 65 - fsck notices ref pointing to missing commit expecting success of 1450.66 'fsck notices ref pointing to missing tag': @@ -60023,7 +53241,7 @@ 1+0 records in 1+0 records out -1 byte copied, 6.151e-05 s, 16.3 kB/s +1 byte copied, 0.000112431 s, 8.9 kB/s error: .git/objects/pack/pack-8be9f6a4139bcddd74c3d2ed343bb71e87863c4b.pack pack checksum mismatch ok 72 - fsck fails on corrupt packfile @@ -60204,27 +53422,48 @@ 1..82 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2201-add-update-typechange.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2201-add-update-typechange/.git/ -expecting success of 2201.1 'setup': - >xyzzy && - _empty=$(git hash-object --stdin yomin && - >caskly && - if test_have_prereq SYMLINKS; then - ln -s frotz nitfol && - T_letter=T - else - printf %s frotz > nitfol && - T_letter=M - fi && - mkdir rezrov && - >rezrov/bozbar && - git add caskly xyzzy yomin nitfol rezrov/bozbar && +*** t2002-checkout-cache-u.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2002-checkout-cache-u/.git/ +expecting success of 2002.1 'preparation': +echo frotz >path0 && +git update-index --add path0 && +t=$(git write-tree) +ok 1 - preparation - test_tick && - git commit -m initial +expecting success of 2002.2 'without -u, git checkout-index smudges stat information.': +rm -f path0 && +git read-tree $t && +git checkout-index -f -a && +test_must_fail git diff-files --exit-code +:100644 100644 8e4020bb5a8d8c873b25de15933e75cc0fc275df 0000000000000000000000000000000000000000 M path0 +ok 2 - without -u, git checkout-index smudges stat information. + +expecting success of 2002.3 'with -u, git checkout-index picks up stat information from new files.': +rm -f path0 && +git read-tree $t && +git checkout-index -u -f -a && +git diff-files --exit-code +ok 3 - with -u, git checkout-index picks up stat information from new files. + +# passed all 3 test(s) +1..3 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t2000-conflict-when-checking-files-out.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2000-conflict-when-checking-files-out/.git/ +expecting success of 2000.1 'git update-index --add various paths.': git update-index --add path0 path1/file1 +ok 1 - git update-index --add various paths. + +expecting success of 2000.2 'git checkout-index without -f should fail on conflicting work tree.': test_must_fail git checkout-index -a +path0 already exists, no checkout +fatal: cannot create directory at 'path1': File exists +ok 2 - git checkout-index without -f should fail on conflicting work tree. +expecting success of 2000.3 'git checkout-index with -f should succeed.': git checkout-index -f -a +ok 3 - git checkout-index with -f should succeed. + +expecting success of 2000.4 'git checkout-index conflicting paths.': test -f path0 && test -d path1 && test -f path1/file1 +ok 4 - git checkout-index conflicting paths. checking prerequisite: SYMLINKS @@ -60236,428 +53475,435 @@ ) prerequisite SYMLINKS ok -[master (root-commit) 8dc0761] initial - Author: A U Thor - 5 files changed, 1 insertion(+) - create mode 100644 caskly - create mode 120000 nitfol - create mode 100644 rezrov/bozbar - create mode 100644 xyzzy - create mode 100644 yomin -ok 1 - setup +expecting success of 2000.5 'checkout-index -f twice with --prefix': + mkdir -p tar/get && + ln -s tar/get there && + echo first && + git checkout-index -a -f --prefix=there/ && + echo second && + git checkout-index -a -f --prefix=there/ -expecting success of 2201.2 'modify': - rm -f xyzzy yomin nitfol caskly && - # caskly disappears (not a submodule) - mkdir caskly && - # nitfol changes from symlink to regular - >nitfol && - # rezrov/bozbar disappears - rm -fr rezrov && - if test_have_prereq SYMLINKS; then - ln -s xyzzy rezrov - else - printf %s xyzzy > rezrov - fi && - # xyzzy disappears (not a submodule) - mkdir xyzzy && - echo gnusto >xyzzy/bozbar && - # yomin gets replaced with a submodule - mkdir yomin && - >yomin/yomin && - ( - cd yomin && - git init && - git add yomin && - git commit -m "sub initial" - ) && - yomin=$(GIT_DIR=yomin/.git git rev-parse HEAD) && - # yonk is added and then turned into a submodule - # this should appear as T in diff-files and as A in diff-index - >yonk && - git add yonk && - rm -f yonk && - mkdir yonk && - >yonk/yonk && - ( - cd yonk && - git init && - git add yonk && - git commit -m "sub initial" - ) && - yonk=$(GIT_DIR=yonk/.git git rev-parse HEAD) && - # zifmia is added and then removed - # this should appear in diff-files but not in diff-index. - >zifmia && - git add zifmia && - rm -f zifmia && - mkdir zifmia && - { - git ls-tree -r HEAD | - sed -e "s/^/:/" -e " - / caskly/{ - s/ caskly/ $ZERO_OID D&/ - s/blob/000000/ - } - / nitfol/{ - s/ nitfol/ $ZERO_OID $T_letter&/ - s/blob/100644/ - } - / rezrov.bozbar/{ - s/ rezrov.bozbar/ $ZERO_OID D&/ - s/blob/000000/ - } - / xyzzy/{ - s/ xyzzy/ $ZERO_OID D&/ - s/blob/000000/ - } - / yomin/{ - s/ yomin/ $ZERO_OID T&/ - s/blob/160000/ - } - " - } >expect && - { - cat expect - echo ":100644 160000 $_empty $ZERO_OID T yonk" - echo ":100644 000000 $_empty $ZERO_OID D zifmia" - } >expect-files && - { - cat expect - echo ":000000 160000 $ZERO_OID $ZERO_OID A yonk" - } >expect-index && - { - echo "100644 $_empty 0 nitfol" - echo "160000 $yomin 0 yomin" - echo "160000 $yonk 0 yonk" - } >expect-final +first +second +ok 5 - checkout-index -f twice with --prefix -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2201-add-update-typechange/yomin/.git/ -[master (root-commit) 9da2848] sub initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 yomin -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2201-add-update-typechange/yonk/.git/ -[master (root-commit) 9cc3160] sub initial - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 yonk -ok 2 - modify +expecting success of 2000.6 'git update-index --add path2/file0': git update-index --add path2/file0 +ok 6 - git update-index --add path2/file0 -expecting success of 2201.3 'diff-files': - git diff-files --raw >actual && - test_cmp expect-files actual +expecting success of 2000.7 'writing tree out with git write-tree': tree1=$(git write-tree) +ok 7 - writing tree out with git write-tree -ok 3 - diff-files +expecting success of 2000.8 'git update-index --add path3/file1': git update-index --add path3/file1 +ok 8 - git update-index --add path3/file1 -expecting success of 2201.4 'diff-index': - git diff-index --raw HEAD -- >actual && - test_cmp expect-index actual +expecting success of 2000.9 'writing tree out with git write-tree': tree2=$(git write-tree) +ok 9 - writing tree out with git write-tree -ok 4 - diff-index +expecting success of 2000.10 'read previously written tree and checkout.': git read-tree -m $tree1 && git checkout-index -f -a +ok 10 - read previously written tree and checkout. -expecting success of 2201.5 'add -u': - rm -f ".git/saved-index" && - cp -p ".git/index" ".git/saved-index" && - git add -u && - git ls-files -s >actual && - test_cmp expect-final actual +expecting success of 2000.11 'add a symlink': test_ln_s_add path2 path3 +ok 11 - add a symlink -ok 5 - add -u +expecting success of 2000.12 'writing tree out with git write-tree': tree3=$(git write-tree) +ok 12 - writing tree out with git write-tree -expecting success of 2201.6 'commit -a': - if test -f ".git/saved-index" - then - rm -f ".git/index" && - mv ".git/saved-index" ".git/index" - fi && - git commit -m "second" -a && - git ls-files -s >actual && - test_cmp expect-final actual && - rm -f .git/index && - git read-tree HEAD && - git ls-files -s >actual && - test_cmp expect-final actual +expecting success of 2000.13 'read previously written tree and checkout.': git read-tree $tree2 && git checkout-index -f -a +ok 13 - read previously written tree and checkout. -[master 0f3d2ce] second - Author: A U Thor - 5 files changed, 2 insertions(+) - rename caskly => nitfol (100%) - delete mode 100644 rezrov/bozbar - delete mode 100644 xyzzy - mode change 100644 => 160000 yomin - create mode 160000 yonk -ok 6 - commit -a +expecting success of 2000.14 'checking out conflicting path with -f': test ! -h path2 && test -d path2 && + test ! -h path3 && test -d path3 && + test ! -h path2/file0 && test -f path2/file0 && + test ! -h path3/file1 && test -f path3/file1 +ok 14 - checking out conflicting path with -f -# passed all 6 test(s) -1..6 +# passed all 14 test(s) +1..14 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2200-add-update.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2200-add-update/.git/ -expecting success of 2200.1 'setup': - echo initial >check && - echo initial >top && - echo initial >foo && - mkdir dir1 dir2 && - echo initial >dir1/sub1 && - echo initial >dir1/sub2 && - echo initial >dir2/sub3 && - git add check dir1 dir2 top foo && - test_tick && - git commit -m initial && - - echo changed >check && - echo changed >top && - echo changed >dir2/sub3 && - rm -f dir1/sub1 && - echo other >dir2/other +*** t2003-checkout-cache-mkdir.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2003-checkout-cache-mkdir/.git/ +expecting success of 2003.1 'setup': + mkdir path1 && + echo frotz >path0 && + echo rezrov >path1/file1 && + git update-index --add path0 path1/file1 -[master (root-commit) ec46c19] initial - Author: A U Thor - 6 files changed, 6 insertions(+) - create mode 100644 check - create mode 100644 dir1/sub1 - create mode 100644 dir1/sub2 - create mode 100644 dir2/sub3 - create mode 100644 foo - create mode 100644 top ok 1 - setup -expecting success of 2200.2 'update': - git add -u dir1 dir2 +checking prerequisite: SYMLINKS -ok 2 - update +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y -expecting success of 2200.3 'update noticed a removal': - test "$(git ls-files dir1/sub1)" = "" +) +prerequisite SYMLINKS ok +expecting success of 2003.2 'have symlink in place where dir is expected.': + rm -fr path0 path1 && + mkdir path2 && + ln -s path2 path1 && + git checkout-index -f -a && + test ! -h path1 && test -d path1 && + test -f path1/file1 && test ! -f path2/file1 -ok 3 - update noticed a removal +ok 2 - have symlink in place where dir is expected. -expecting success of 2200.4 'update touched correct path': - test "$(git diff-files --name-status dir2/sub3)" = "" +expecting success of 2003.3 'use --prefix=path2/': + rm -fr path0 path1 path2 && + mkdir path2 && + git checkout-index --prefix=path2/ -f -a && + test -f path2/path0 && + test -f path2/path1/file1 && + test ! -f path0 && + test ! -f path1/file1 -ok 4 - update touched correct path +ok 3 - use --prefix=path2/ -expecting success of 2200.5 'update did not touch other tracked files': - test "$(git diff-files --name-status check)" = "M check" && - test "$(git diff-files --name-status top)" = "M top" +expecting success of 2003.4 'use --prefix=tmp-': + rm -fr path0 path1 path2 tmp* && + git checkout-index --prefix=tmp- -f -a && + test -f tmp-path0 && + test -f tmp-path1/file1 && + test ! -f path0 && + test ! -f path1/file1 -ok 5 - update did not touch other tracked files +ok 4 - use --prefix=tmp- -expecting success of 2200.6 'update did not touch untracked files': - test "$(git ls-files dir2/other)" = "" +expecting success of 2003.5 'use --prefix=tmp- but with a conflicting file and dir': + rm -fr path0 path1 path2 tmp* && + echo nitfol >tmp-path1 && + mkdir tmp-path0 && + git checkout-index --prefix=tmp- -f -a && + test -f tmp-path0 && + test -f tmp-path1/file1 && + test ! -f path0 && + test ! -f path1/file1 -ok 6 - update did not touch untracked files +ok 5 - use --prefix=tmp- but with a conflicting file and dir -expecting success of 2200.7 'cache tree has not been corrupted': +expecting success of 2003.6 'use --prefix=tmp/orary/ where tmp is a symlink': + rm -fr path0 path1 path2 tmp* && + mkdir tmp1 tmp1/orary && + ln -s tmp1 tmp && + git checkout-index --prefix=tmp/orary/ -f -a && + test -d tmp1/orary && + test -f tmp1/orary/path0 && + test -f tmp1/orary/path1/file1 && + test -h tmp - git ls-files -s | - sed -e "s/ 0 / /" >expect && - git ls-tree -r $(git write-tree) | - sed -e "s/ blob / /" >current && - test_cmp expect current +ok 6 - use --prefix=tmp/orary/ where tmp is a symlink +expecting success of 2003.7 'use --prefix=tmp/orary- where tmp is a symlink': + rm -fr path0 path1 path2 tmp* && + mkdir tmp1 && + ln -s tmp1 tmp && + git checkout-index --prefix=tmp/orary- -f -a && + test -f tmp1/orary-path0 && + test -f tmp1/orary-path1/file1 && + test -h tmp -ok 7 - cache tree has not been corrupted +ok 7 - use --prefix=tmp/orary- where tmp is a symlink -expecting success of 2200.8 'update from a subdirectory': - ( - cd dir1 && - echo more >sub2 && - git add -u sub2 - ) +expecting success of 2003.8 'use --prefix=tmp- where tmp-path1 is a symlink': + rm -fr path0 path1 path2 tmp* && + mkdir tmp1 && + ln -s tmp1 tmp-path1 && + git checkout-index --prefix=tmp- -f -a && + test -f tmp-path0 && + test ! -h tmp-path1 && + test -d tmp-path1 && + test -f tmp-path1/file1 -ok 8 - update from a subdirectory +ok 8 - use --prefix=tmp- where tmp-path1 is a symlink -expecting success of 2200.9 'change gets noticed': +expecting success of 2003.9 'apply filter from working tree .gitattributes with --prefix': + rm -fr path0 path1 path2 tmp* && + mkdir path1 && + mkdir tmp && + git config filter.replace-all.smudge "sed -e s/./,/g" && + git config filter.replace-all.clean cat && + git config filter.replace-all.required true && + echo "file1 filter=replace-all" >path1/.gitattributes && + git checkout-index --prefix=tmp/ -f -a && + echo frotz >expected && + test_cmp expected tmp/path0 && + echo ,,,,,, >expected && + test_cmp expected tmp/path1/file1 - test "$(git diff-files --name-status dir1)" = "" +ok 9 - apply filter from working tree .gitattributes with --prefix +expecting success of 2003.10 'apply CRLF filter from working tree .gitattributes with --prefix': + rm -fr path0 path1 path2 tmp* && + mkdir path1 && + mkdir tmp && + echo "file1 eol=crlf" >path1/.gitattributes && + git checkout-index --prefix=tmp/ -f -a && + echo rezrovQ >expected && + tr \\015 Q actual && + test_cmp expected actual -ok 9 - change gets noticed +ok 10 - apply CRLF filter from working tree .gitattributes with --prefix -expecting success of 2200.10 'non-qualified update in subdir updates from the root': - ( - cd dir1 && - echo even more >>sub2 && - git --literal-pathspecs add -u && - echo even more >>sub2 && - git add -u - ) && - git diff-files --name-only >actual && - test_must_be_empty actual +# passed all 10 test(s) +1..10 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t2005-checkout-index-symlinks.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2005-checkout-index-symlinks/.git/ +expecting success of 2005.1 'preparation': +git config core.symlinks false && +l=$(printf file | git hash-object -t blob -w --stdin) && +echo "120000 $l symlink" | git update-index --index-info +ok 1 - preparation -ok 10 - non-qualified update in subdir updates from the root +expecting success of 2005.2 'the checked-out symlink must be a file': +git checkout-index symlink && +test -f symlink +ok 2 - the checked-out symlink must be a file -expecting success of 2200.11 'replace a file with a symlink': +expecting success of 2005.3 'the file must be the blob we added during the setup': +test "$(git hash-object -t blob symlink)" = $l +ok 3 - the file must be the blob we added during the setup - rm foo && - test_ln_s_add top foo +# passed all 3 test(s) +1..3 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t2004-checkout-cache-temp.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2004-checkout-cache-temp/.git/ +expecting success of 2004.1 'setup': + mkdir asubdir && + echo tree1path0 >path0 && + echo tree1path1 >path1 && + echo tree1path3 >path3 && + echo tree1path4 >path4 && + echo tree1asubdir/path5 >asubdir/path5 && + git update-index --add path0 path1 path3 path4 asubdir/path5 && + t1=$(git write-tree) && + rm -f path* .merge_* actual .git/index && + echo tree2path0 >path0 && + echo tree2path1 >path1 && + echo tree2path2 >path2 && + echo tree2path4 >path4 && + git update-index --add path0 path1 path2 path4 && + t2=$(git write-tree) && + rm -f path* .merge_* actual .git/index && + echo tree2path0 >path0 && + echo tree3path1 >path1 && + echo tree3path2 >path2 && + echo tree3path3 >path3 && + git update-index --add path0 path1 path2 path3 && + t3=$(git write-tree) +ok 1 - setup -checking prerequisite: SYMLINKS +expecting success of 2004.2 'checkout one stage 0 to temporary file': + rm -f path* .merge_* actual .git/index && + git read-tree $t1 && + git checkout-index --temp -- path1 >actual && + test_line_count = 1 actual && + test $(cut "-d " -f2 actual) = path1 && + p=$(cut "-d " -f1 actual) && + test -f $p && + test $(cat $p) = tree1path1 -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && - # test whether the filesystem supports symbolic links - ln -s x y && test -h y +ok 2 - checkout one stage 0 to temporary file -) -prerequisite SYMLINKS ok -ok 11 - replace a file with a symlink +expecting success of 2004.3 'checkout all stage 0 to temporary files': + rm -f path* .merge_* actual .git/index && + git read-tree $t1 && + git checkout-index -a --temp >actual && + test_line_count = 5 actual && + for f in path0 path1 path3 path4 asubdir/path5 + do + test $(grep $f actual | cut "-d " -f2) = $f && + p=$(grep $f actual | cut "-d " -f1) && + test -f $p && + test $(cat $p) = tree1$f + done -expecting success of 2200.12 'add everything changed': +ok 3 - checkout all stage 0 to temporary files - git add -u && - test -z "$(git diff-files)" +expecting success of 2004.4 'setup 3-way merge': + rm -f path* .merge_* actual .git/index && + git read-tree -m $t1 $t2 $t3 +ok 4 - setup 3-way merge -ok 12 - add everything changed +expecting success of 2004.5 'checkout one stage 2 to temporary file': + rm -f path* .merge_* actual && + git checkout-index --stage=2 --temp -- path1 >actual && + test_line_count = 1 actual && + test $(cut "-d " -f2 actual) = path1 && + p=$(cut "-d " -f1 actual) && + test -f $p && + test $(cat $p) = tree2path1 -expecting success of 2200.13 'touch and then add -u': +ok 5 - checkout one stage 2 to temporary file - touch check && - git add -u && - test -z "$(git diff-files)" +expecting success of 2004.6 'checkout all stage 2 to temporary files': + rm -f path* .merge_* actual && + git checkout-index --all --stage=2 --temp >actual && + test_line_count = 3 actual && + for f in path1 path2 path4 + do + test $(grep $f actual | cut "-d " -f2) = $f && + p=$(grep $f actual | cut "-d " -f1) && + test -f $p && + test $(cat $p) = tree2$f + done +ok 6 - checkout all stage 2 to temporary files -ok 13 - touch and then add -u +expecting success of 2004.7 'checkout all stages of unknown path': + rm -f path* .merge_* actual && + test_must_fail git checkout-index --stage=all --temp \ + -- does-not-exist 2>stderr && + test_i18ngrep not.in.the.cache stderr -expecting success of 2200.14 'touch and then add explicitly': +checking prerequisite: C_LOCALE_OUTPUT - touch check && - git add check && - test -z "$(git diff-files)" +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false +) +prerequisite C_LOCALE_OUTPUT ok +git checkout-index: does-not-exist is not in the cache +ok 7 - checkout all stages of unknown path -ok 14 - touch and then add explicitly +expecting success of 2004.8 'checkout all stages/one file to nothing': + rm -f path* .merge_* actual && + git checkout-index --stage=all --temp -- path0 >actual 2>stderr && + test_must_be_empty stderr && + test_line_count = 0 actual -expecting success of 2200.15 'add -n -u should not add but just report': +ok 8 - checkout all stages/one file to nothing - ( - echo "add 'check'" && - echo "remove 'top'" - ) >expect && - before=$(git ls-files -s check top) && - echo changed >>check && - rm -f top && - git add -n -u >actual && - after=$(git ls-files -s check top) && +expecting success of 2004.9 'checkout all stages/one file to temporary files': + rm -f path* .merge_* actual && + git checkout-index --stage=all --temp -- path1 >actual && + test_line_count = 1 actual && + test $(cut "-d " -f2 actual) = path1 && + cut "-d " -f1 actual | (read s1 s2 s3 && + test -f $s1 && + test -f $s2 && + test -f $s3 && + test $(cat $s1) = tree1path1 && + test $(cat $s2) = tree2path1 && + test $(cat $s3) = tree3path1) - test "$before" = "$after" && - test_i18ncmp expect actual +ok 9 - checkout all stages/one file to temporary files + +expecting success of 2004.10 'checkout some stages/one file to temporary files': + rm -f path* .merge_* actual && + git checkout-index --stage=all --temp -- path2 >actual && + test_line_count = 1 actual && + test $(cut "-d " -f2 actual) = path2 && + cut "-d " -f1 actual | (read s1 s2 s3 && + test $s1 = . && + test -f $s2 && + test -f $s3 && + test $(cat $s2) = tree2path2 && + test $(cat $s3) = tree3path2) +ok 10 - checkout some stages/one file to temporary files -checking prerequisite: C_LOCALE_OUTPUT +expecting success of 2004.11 'checkout all stages/all files to temporary files': + rm -f path* .merge_* actual && + git checkout-index -a --stage=all --temp >actual && + test_line_count = 5 actual -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && -( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false +ok 11 - checkout all stages/all files to temporary files -) -prerequisite C_LOCALE_OUTPUT ok -ok 15 - add -n -u should not add but just report +expecting success of 2004.12 '-- path0: no entry': + test x$(grep path0 actual | cut "-d " -f2) = x -expecting success of 2200.16 'add -u resolves unmerged paths': - git reset --hard && - one=$(echo 1 | git hash-object -w --stdin) && - two=$(echo 2 | git hash-object -w --stdin) && - three=$(echo 3 | git hash-object -w --stdin) && - { - for path in path1 path2 - do - echo "100644 $one 1 $path" - echo "100644 $two 2 $path" - echo "100644 $three 3 $path" - done - echo "100644 $one 1 path3" - echo "100644 $one 1 path4" - echo "100644 $one 3 path5" - echo "100644 $one 3 path6" - } | - git update-index --index-info && - echo 3 >path1 && - echo 2 >path3 && - echo 2 >path5 && +ok 12 - -- path0: no entry - # Fail to explicitly resolve removed paths with "git add" - test_must_fail git add --no-all path4 && - test_must_fail git add --no-all path6 && +expecting success of 2004.13 '-- path1: all 3 stages': + test $(grep path1 actual | cut "-d " -f2) = path1 && + grep path1 actual | cut "-d " -f1 | (read s1 s2 s3 && + test -f $s1 && + test -f $s2 && + test -f $s3 && + test $(cat $s1) = tree1path1 && + test $(cat $s2) = tree2path1 && + test $(cat $s3) = tree3path1) - # "add -u" should notice removals no matter what stages - # the index entries are in. - git add -u && - git ls-files -s path1 path2 path3 path4 path5 path6 >actual && - { - echo "100644 $three 0 path1" - echo "100644 $two 0 path3" - echo "100644 $two 0 path5" - } >expect && - test_cmp expect actual +ok 13 - -- path1: all 3 stages -HEAD is now at ec46c19 initial -fatal: unable to stat 'path4': No such file or directory -fatal: unable to stat 'path6': No such file or directory -ok 16 - add -u resolves unmerged paths +expecting success of 2004.14 '-- path2: no stage 1, have stage 2 and 3': + test $(grep path2 actual | cut "-d " -f2) = path2 && + grep path2 actual | cut "-d " -f1 | (read s1 s2 s3 && + test $s1 = . && + test -f $s2 && + test -f $s3 && + test $(cat $s2) = tree2path2 && + test $(cat $s3) = tree3path2) -expecting success of 2200.17 '"add -u non-existent" should fail': - test_must_fail git add -u non-existent && - git ls-files >actual && - ! grep "non-existent" actual +ok 14 - -- path2: no stage 1, have stage 2 and 3 -fatal: pathspec 'non-existent' did not match any files -ok 17 - "add -u non-existent" should fail +expecting success of 2004.15 '-- path3: no stage 2, have stage 1 and 3': + test $(grep path3 actual | cut "-d " -f2) = path3 && + grep path3 actual | cut "-d " -f1 | (read s1 s2 s3 && + test -f $s1 && + test $s2 = . && + test -f $s3 && + test $(cat $s1) = tree1path3 && + test $(cat $s3) = tree3path3) -# passed all 17 test(s) -1..17 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2300-cd-to-toplevel.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2300-cd-to-toplevel/.git/ -expecting success of 2300.1 'at physical root': - ( - cd 'repo' && - PATH="$EXEC_PATH:$PATH" && - . git-sh-setup && - cd_to_toplevel && - [ "$(pwd -P)" = "$TOPLEVEL" ] - ) - -ok 1 - at physical root +ok 15 - -- path3: no stage 2, have stage 1 and 3 -expecting success of 2300.2 'at physical subdir': - ( - cd 'repo/sub/dir' && - PATH="$EXEC_PATH:$PATH" && - . git-sh-setup && - cd_to_toplevel && - [ "$(pwd -P)" = "$TOPLEVEL" ] - ) - -ok 2 - at physical subdir +expecting success of 2004.16 '-- path4: no stage 3, have stage 1 and 3': + test $(grep path4 actual | cut "-d " -f2) = path4 && + grep path4 actual | cut "-d " -f1 | (read s1 s2 s3 && + test -f $s1 && + test -f $s2 && + test $s3 = . && + test $(cat $s1) = tree1path4 && + test $(cat $s2) = tree2path4) + +ok 16 - -- path4: no stage 3, have stage 1 and 3 + +expecting success of 2004.17 '-- asubdir/path5: no stage 2 and 3 have stage 1': + test $(grep asubdir/path5 actual | cut "-d " -f2) = asubdir/path5 && + grep asubdir/path5 actual | cut "-d " -f1 | (read s1 s2 s3 && + test -f $s1 && + test $s2 = . && + test $s3 = . && + test $(cat $s1) = tree1asubdir/path5) + +ok 17 - -- asubdir/path5: no stage 2 and 3 have stage 1 + +expecting success of 2004.18 'checkout --temp within subdir': + ( + cd asubdir && + git checkout-index -a --stage=all >actual && + test_line_count = 1 actual && + test $(grep path5 actual | cut "-d " -f2) = path5 && + grep path5 actual | cut "-d " -f1 | (read s1 s2 s3 && + test -f ../$s1 && + test $s2 = . && + test $s3 = . && + test $(cat ../$s1) = tree1asubdir/path5) + ) + +ok 18 - checkout --temp within subdir + +expecting success of 2004.19 'checkout --temp symlink': + rm -f path* .merge_* actual .git/index && + test_ln_s_add path7 path6 && + git checkout-index --temp -a >actual && + test_line_count = 1 actual && + test $(cut "-d " -f2 actual) = path6 && + p=$(cut "-d " -f1 actual) && + test -f $p && + test $(cat $p) = path7 checking prerequisite: SYMLINKS @@ -60669,109 +53915,53 @@ ) prerequisite SYMLINKS ok -expecting success of 2300.3 'at symbolic root': - ( - cd 'symrepo' && - PATH="$EXEC_PATH:$PATH" && - . git-sh-setup && - cd_to_toplevel && - [ "$(pwd -P)" = "$TOPLEVEL" ] - ) - -ok 3 - at symbolic root +ok 19 - checkout --temp symlink -expecting success of 2300.4 'at symbolic subdir': - ( - cd 'subdir-link' && - PATH="$EXEC_PATH:$PATH" && - . git-sh-setup && - cd_to_toplevel && - [ "$(pwd -P)" = "$TOPLEVEL" ] - ) - -ok 4 - at symbolic subdir +expecting success of 2004.20 'emit well-formed relative path': + rm -f path* .merge_* actual .git/index && + >path0123456789 && + git update-index --add path0123456789 && + ( + cd asubdir && + git checkout-index --temp -- ../path0123456789 >actual && + test_line_count = 1 actual && + test $(cut "-d " -f2 actual) = ../path0123456789 + ) -expecting success of 2300.5 'at internal symbolic subdir': - ( - cd 'internal-link' && - PATH="$EXEC_PATH:$PATH" && - . git-sh-setup && - cd_to_toplevel && - [ "$(pwd -P)" = "$TOPLEVEL" ] - ) - -ok 5 - at internal symbolic subdir +ok 20 - emit well-formed relative path -# passed all 5 test(s) -1..5 +# passed all 20 test(s) +1..20 make[4]: Leaving directory '/build/git-2.30.2/t' make[4]: Entering directory '/build/git-2.30.2/t' -*** t2024-checkout-dwim.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2024-checkout-dwim/.git/ -expecting success of 2024.1 'setup': - test_commit my_master && - git init repo_a && - ( - cd repo_a && - test_commit a_master && - git checkout -b foo && - test_commit a_foo && - git checkout -b bar && - test_commit a_bar && - git checkout -b ambiguous_branch_and_file && - test_commit a_ambiguous_branch_and_file - ) && - git init repo_b && +*** t2006-checkout-index-basic.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2006-checkout-index-basic/.git/ +expecting success of 2006.1 'checkout-index --gobbledegook': + test_expect_code 129 git checkout-index --gobbledegook 2>err && + test_i18ngrep "[Uu]sage" err + +checking prerequisite: C_LOCALE_OUTPUT + +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && + ! test_bool_env GIT_TEST_GETTEXT_POISON false + +) +prerequisite C_LOCALE_OUTPUT ok +usage: git checkout-index [] [--] [...] +ok 1 - checkout-index --gobbledegook + +expecting success of 2006.2 'checkout-index -h in broken repository': + mkdir broken && ( - cd repo_b && - test_commit b_master && - git checkout -b foo && - test_commit b_foo && - git checkout -b baz && - test_commit b_baz && - git checkout -b ambiguous_branch_and_file && - test_commit b_ambiguous_branch_and_file + cd broken && + git init && + >.git/index && + test_expect_code 129 git checkout-index -h >usage 2>&1 ) && - git remote add repo_a repo_a && - git remote add repo_b repo_b && - git config remote.repo_b.fetch \ - "+refs/heads/*:refs/remotes/other_b/*" && - git fetch --all + test_i18ngrep "[Uu]sage" broken/usage -[master (root-commit) 93159a7] my_master - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 my_master.t -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2024-checkout-dwim/repo_a/.git/ -[master (root-commit) 9480204] a_master - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a_master.t -Switched to a new branch 'foo' -[foo ba3a763] a_foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a_foo.t -Switched to a new branch 'bar' -[bar 1901e7e] a_bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a_bar.t -Switched to a new branch 'ambiguous_branch_and_file' -[ambiguous_branch_and_file 62502cc] a_ambiguous_branch_and_file - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 a_ambiguous_branch_and_file.t hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: @@ -60782,618 +53972,563 @@ hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2024-checkout-dwim/repo_b/.git/ -[master (root-commit) eb1360a] b_master - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b_master.t -Switched to a new branch 'foo' -[foo 73c9fcf] b_foo - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b_foo.t -Switched to a new branch 'baz' -[baz a4f4a16] b_baz - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b_baz.t -Switched to a new branch 'ambiguous_branch_and_file' -[ambiguous_branch_and_file 85d6512] b_ambiguous_branch_and_file - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 b_ambiguous_branch_and_file.t -Fetching repo_a -From repo_a - * [new branch] ambiguous_branch_and_file -> repo_a/ambiguous_branch_and_file - * [new branch] bar -> repo_a/bar - * [new branch] foo -> repo_a/foo - * [new branch] master -> repo_a/master - * [new tag] a_ambiguous_branch_and_file -> a_ambiguous_branch_and_file - * [new tag] a_bar -> a_bar - * [new tag] a_foo -> a_foo - * [new tag] a_master -> a_master -Fetching repo_b -From repo_b - * [new branch] ambiguous_branch_and_file -> other_b/ambiguous_branch_and_file - * [new branch] baz -> other_b/baz - * [new branch] foo -> other_b/foo - * [new branch] master -> other_b/master - * [new tag] b_ambiguous_branch_and_file -> b_ambiguous_branch_and_file - * [new tag] b_baz -> b_baz - * [new tag] b_foo -> b_foo - * [new tag] b_master -> b_master -ok 1 - setup - -expecting success of 2024.2 'checkout of non-existing branch fails': - git checkout -B master && - test_might_fail git branch -D xyzzy && - - test_must_fail git checkout xyzzy && - status_uno_is_clean && - test_must_fail git rev-parse --verify refs/heads/xyzzy && - test_branch master +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2006-checkout-index-basic/broken/.git/ +usage: git checkout-index [] [--] [...] +ok 2 - checkout-index -h in broken repository -Reset branch 'master' -error: branch 'xyzzy' not found. -error: pathspec 'xyzzy' did not match any file(s) known to git -fatal: Needed a single revision -ok 2 - checkout of non-existing branch fails +expecting success of 2006.3 'checkout-index reports errors (cmdline)': + test_must_fail git checkout-index -- does-not-exist 2>stderr && + test_i18ngrep not.in.the.cache stderr -expecting success of 2024.3 'checkout of branch from multiple remotes fails #1': - git checkout -B master && - test_might_fail git branch -D foo && +git checkout-index: does-not-exist is not in the cache +ok 3 - checkout-index reports errors (cmdline) - test_must_fail git checkout foo && - status_uno_is_clean && - test_must_fail git rev-parse --verify refs/heads/foo && - test_branch master +expecting success of 2006.4 'checkout-index reports errors (stdin)': + echo does-not-exist | + test_must_fail git checkout-index --stdin 2>stderr && + test_i18ngrep not.in.the.cache stderr -Reset branch 'master' -error: branch 'foo' not found. -hint: If you meant to check out a remote tracking branch on, e.g. 'origin', -hint: you can do so by fully qualifying the name with the --track option: -hint: -hint: git checkout --track origin/ -hint: -hint: If you'd like to always have checkouts of an ambiguous prefer -hint: one remote, e.g. the 'origin' remote, consider setting -hint: checkout.defaultRemote=origin in your config. -fatal: 'foo' matched multiple (2) remote tracking branches -fatal: Needed a single revision -ok 3 - checkout of branch from multiple remotes fails #1 +git checkout-index: does-not-exist is not in the cache +ok 4 - checkout-index reports errors (stdin) -expecting success of 2024.4 'when arg matches multiple remotes, do not fallback to interpreting as pathspec': - # create a file with name matching remote branch name - git checkout -b t_ambiguous_branch_and_file && - >ambiguous_branch_and_file && - git add ambiguous_branch_and_file && - git commit -m "ambiguous_branch_and_file" && +checking prerequisite: SYMLINKS - # modify file to verify that it will not be touched by checkout - test_when_finished "git checkout -- ambiguous_branch_and_file" && - echo "file contents" >ambiguous_branch_and_file && - cp ambiguous_branch_and_file expect && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-SYMLINKS" && + # test whether the filesystem supports symbolic links + ln -s x y && test -h y - test_must_fail git checkout ambiguous_branch_and_file 2>err && +) +prerequisite SYMLINKS ok +checking prerequisite: CASE_INSENSITIVE_FS - test_i18ngrep "matched multiple (2) remote tracking branches" err && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && +( + cd "$TRASH_DIRECTORY/prereq-test-dir-CASE_INSENSITIVE_FS" && + echo good >CamelCase && + echo bad >camelcase && + test "$(cat CamelCase)" != good - # file must not be altered - test_cmp expect ambiguous_branch_and_file +) +prerequisite CASE_INSENSITIVE_FS not satisfied +ok 5 # skip checkout-index with case-collision don't write to the wrong place (missing CASE_INSENSITIVE_FS of SYMLINKS,CASE_INSENSITIVE_FS) -Switched to a new branch 't_ambiguous_branch_and_file' -[t_ambiguous_branch_and_file 314694c] ambiguous_branch_and_file - Author: A U Thor - 1 file changed, 0 insertions(+), 0 deletions(-) - create mode 100644 ambiguous_branch_and_file -checking prerequisite: C_LOCALE_OUTPUT +checking prerequisite: UTF8_NFD_TO_NFC -mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && +mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && ( - cd "$TRASH_DIRECTORY/prereq-test-dir-C_LOCALE_OUTPUT" && - ! test_bool_env GIT_TEST_GETTEXT_POISON false + cd "$TRASH_DIRECTORY/prereq-test-dir-UTF8_NFD_TO_NFC" && + # check whether FS converts nfd unicode to nfc + auml=$(printf "\303\244") + aumlcdiar=$(printf "\141\314\210") + >"$auml" && + test -f "$aumlcdiar" ) -prerequisite C_LOCALE_OUTPUT ok -fatal: 'ambiguous_branch_and_file' matched multiple (2) remote tracking branches -ok 4 - when arg matches multiple remotes, do not fallback to interpreting as pathspec - -expecting success of 2024.5 'checkout of branch from multiple remotes fails with advice': - git checkout -B master && - test_might_fail git branch -D foo && - test_must_fail git checkout foo 2>stderr && - test_branch master && - status_uno_is_clean && - test_i18ngrep "^hint: " stderr && - test_must_fail git -c advice.checkoutAmbiguousRemoteBranchName=false \ - checkout foo 2>stderr && - test_branch master && - status_uno_is_clean && - test_i18ngrep ! "^hint: " stderr - -Switched to and reset branch 'master' -error: branch 'foo' not found. -hint: If you meant to check out a remote tracking branch on, e.g. 'origin', -hint: you can do so by fully qualifying the name with the --track option: -hint: -hint: git checkout --track origin/ -hint: -hint: If you'd like to always have checkouts of an ambiguous prefer -hint: one remote, e.g. the 'origin' remote, consider setting -hint: checkout.defaultRemote=origin in your config. -ok 5 - checkout of branch from multiple remotes fails with advice +prerequisite UTF8_NFD_TO_NFC not satisfied +ok 6 # skip checkout-index with utf-8-collision don't write to the wrong place (missing UTF8_NFD_TO_NFC of SYMLINKS,UTF8_NFD_TO_NFC) -expecting success of 2024.6 'checkout -p with multiple remotes does not print advice': - git checkout -B master && - test_might_fail git branch -D foo && +# passed all 6 test(s) +1..6 +make[4]: Leaving directory '/build/git-2.30.2/t' +make[4]: Entering directory '/build/git-2.30.2/t' +*** t1700-split-index.sh *** +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/.git/ +expecting success of 1700.1 'setup': + test_oid_cache <<-EOF + own_v3 sha1:8299b0bcd1ac364e5f1d7768efb62fa2da79a339 + own_v3 sha256:38a6d2925e3eceec33ad7b34cbff4e0086caa0daf28f31e51f5bd94b4a7af86b - git checkout -p foo 2>stderr && - test_i18ngrep ! "^hint: " stderr && - status_uno_is_clean + base_v3 sha1:39d890139ee5356c7ef572216cebcd27aa41f9df + base_v3 sha256:c9baeadf905112bf6c17aefbd7d02267afd70ded613c30cafed2d40cb506e1ed -Reset branch 'master' -error: branch 'foo' not found. -ok 6 - checkout -p with multiple remotes does not print advice + own_v4 sha1:432ef4b63f32193984f339431fd50ca796493569 + own_v4 sha256:6738ac6319c25b694afa7bcc313deb182d1a59b68bf7a47b4296de83478c0420 -expecting success of 2024.7 'checkout of branch from multiple remotes succeeds with checkout.defaultRemote #1': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D foo && + base_v4 sha1:508851a7f0dfa8691e9f69c7f055865389012491 + base_v4 sha256:3177d4adfdd4b6904f7e921d91d715a471c0dde7cf6a4bba574927f02b699508 + EOF - git -c checkout.defaultRemote=repo_a checkout foo && - status_uno_is_clean && - test_branch foo && - test_cmp_rev remotes/repo_a/foo HEAD && - test_branch_upstream foo repo_a foo +ok 1 - setup -Reset branch 'master' -error: branch 'foo' not found. -Switched to a new branch 'foo' -Branch 'foo' set up to track remote branch 'foo' from 'repo_a'. -ok 7 - checkout of branch from multiple remotes succeeds with checkout.defaultRemote #1 +expecting success of 1700.2 'enable split index': + git config splitIndex.maxPercentChange 100 && + git update-index --split-index && + test-tool dump-split-index .git/index >actual && + indexversion=$(test-tool index-version <.git/index) && -expecting success of 2024.8 'checkout of branch from a single remote succeeds #1': - git checkout -B master && - test_might_fail git branch -D bar && - - git checkout bar && - status_uno_is_clean && - test_branch bar && - test_cmp_rev remotes/repo_a/bar HEAD && - test_branch_upstream bar repo_a bar - -Switched to and reset branch 'master' -error: branch 'bar' not found. -Switched to a new branch 'bar' -Branch 'bar' set up to track remote branch 'bar' from 'repo_a'. -ok 8 - checkout of branch from a single remote succeeds #1 - -expecting success of 2024.9 'checkout of branch from a single remote succeeds #2': - git checkout -B master && - test_might_fail git branch -D baz && + # NEEDSWORK: Stop hard-coding checksums. + if test "$indexversion" = "4" + then + own=$(test_oid own_v4) + base=$(test_oid base_v4) + else + own=$(test_oid own_v3) + base=$(test_oid base_v3) + fi && - git checkout baz && - status_uno_is_clean && - test_branch baz && - test_cmp_rev remotes/other_b/baz HEAD && - test_branch_upstream baz repo_b baz + cat >expect <<-EOF && + own $own + base $base + replacements: + deletions: + EOF + test_cmp expect actual -Switched to and reset branch 'master' -error: branch 'baz' not found. -Switched to a new branch 'baz' -Branch 'baz' set up to track remote branch 'baz' from 'repo_b'. -ok 9 - checkout of branch from a single remote succeeds #2 +ok 2 - enable split index -expecting success of 2024.10 '--no-guess suppresses branch auto-vivification': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D bar && +expecting success of 1700.3 'add one file': + create_non_racy_file one && + git update-index --add one && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + EOF + test_cmp ls-files.expect ls-files.actual && - test_must_fail git checkout --no-guess bar && - test_must_fail git rev-parse --verify refs/heads/bar && - test_branch master + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + base $base + 100644 $EMPTY_BLOB 0 one + replacements: + deletions: + EOF + test_cmp expect actual -Switched to and reset branch 'master' -Deleted branch bar (was 1901e7e). -error: pathspec 'bar' did not match any file(s) known to git -fatal: Needed a single revision -ok 10 - --no-guess suppresses branch auto-vivification +ok 3 - add one file -expecting success of 2024.11 'checkout.guess = false suppresses branch auto-vivification': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D bar && +expecting success of 1700.4 'disable split index': + git update-index --no-split-index && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + EOF + test_cmp ls-files.expect ls-files.actual && - test_config checkout.guess false && - test_must_fail git checkout bar && - test_must_fail git rev-parse --verify refs/heads/bar && - test_branch master + BASE=$(test-tool dump-split-index .git/index | sed -n "s/^own/base/p") && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + not a split index + EOF + test_cmp expect actual -Reset branch 'master' -error: branch 'bar' not found. -error: pathspec 'bar' did not match any file(s) known to git -fatal: Needed a single revision -ok 11 - checkout.guess = false suppresses branch auto-vivification +ok 4 - disable split index -expecting success of 2024.12 'setup more remotes with unconventional refspecs': - git checkout -B master && - status_uno_is_clean && - git init repo_c && - ( - cd repo_c && - test_commit c_master && - git checkout -b bar && - test_commit c_bar && - git checkout -b spam && - test_commit c_spam - ) && - git init repo_d && - ( - cd repo_d && - test_commit d_master && - git checkout -b baz && - test_commit d_baz && - git checkout -b eggs && - test_commit d_eggs - ) && - git remote add repo_c repo_c && - git config remote.repo_c.fetch \ - "+refs/heads/*:refs/remotes/extra_dir/repo_c/extra_dir/*" && - git remote add repo_d repo_d && - git config remote.repo_d.fetch \ - "+refs/heads/*:refs/repo_d/*" && - git fetch --all +expecting success of 1700.5 'enable split index again, "one" now belongs to base index"': + git update-index --split-index && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + EOF + test_cmp ls-files.expect ls-files.actual && -Reset branch 'master' -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2024-checkout-dwim/repo_c/.git/ -[master (root-commit) dc015ba] c_master - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 c_master.t -Switched to a new branch 'bar' -[bar a433ad7] c_bar - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 c_bar.t -Switched to a new branch 'spam' -[spam 1702b85] c_spam - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 c_spam.t -hint: Using 'master' as the name for the initial branch. This default branch name -hint: is subject to change. To configure the initial branch name to use in all -hint: of your new repositories, which will suppress this warning, call: -hint: -hint: git config --global init.defaultBranch -hint: -hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and -hint: 'development'. The just-created branch can be renamed via this command: -hint: -hint: git branch -m -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2024-checkout-dwim/repo_d/.git/ -[master (root-commit) f130d8f] d_master - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 d_master.t -Switched to a new branch 'baz' -[baz aff1e77] d_baz - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 d_baz.t -Switched to a new branch 'eggs' -[eggs fea4556] d_eggs - Author: A U Thor - 1 file changed, 1 insertion(+) - create mode 100644 d_eggs.t -Fetching repo_a -Fetching repo_b -Fetching repo_c -From repo_c - * [new branch] bar -> extra_dir/repo_c/extra_dir/bar - * [new branch] master -> extra_dir/repo_c/extra_dir/master - * [new branch] spam -> extra_dir/repo_c/extra_dir/spam - * [new tag] c_bar -> c_bar - * [new tag] c_master -> c_master - * [new tag] c_spam -> c_spam -Fetching repo_d -From repo_d - * [new branch] baz -> refs/repo_d/baz - * [new branch] eggs -> refs/repo_d/eggs - * [new branch] master -> refs/repo_d/master - * [new tag] d_baz -> d_baz - * [new tag] d_eggs -> d_eggs - * [new tag] d_master -> d_master -ok 12 - setup more remotes with unconventional refspecs + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: + EOF + test_cmp expect actual -expecting success of 2024.13 'checkout of branch from multiple remotes fails #2': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D bar && +ok 5 - enable split index again, "one" now belongs to base index" - test_must_fail git checkout bar && - status_uno_is_clean && - test_must_fail git rev-parse --verify refs/heads/bar && - test_branch master +expecting success of 1700.6 'modify original file, base index untouched': + echo modified | create_non_racy_file one && + file1_blob=$(git hash-object one) && + git update-index one && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $file1_blob 0 one + EOF + test_cmp ls-files.expect ls-files.actual && -Reset branch 'master' -error: branch 'bar' not found. -hint: If you meant to check out a remote tracking branch on, e.g. 'origin', -hint: you can do so by fully qualifying the name with the --track option: -hint: -hint: git checkout --track origin/ -hint: -hint: If you'd like to always have checkouts of an ambiguous prefer -hint: one remote, e.g. the 'origin' remote, consider setting -hint: checkout.defaultRemote=origin in your config. -fatal: 'bar' matched multiple (2) remote tracking branches -fatal: Needed a single revision -ok 13 - checkout of branch from multiple remotes fails #2 + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + q_to_tab >expect <<-EOF && + $BASE + 100644 $file1_blob 0Q + replacements: 0 + deletions: + EOF + test_cmp expect actual -expecting success of 2024.14 'checkout of branch from multiple remotes fails #3': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D baz && +ok 6 - modify original file, base index untouched - test_must_fail git checkout baz && - status_uno_is_clean && - test_must_fail git rev-parse --verify refs/heads/baz && - test_branch master +expecting success of 1700.7 'add another file, which stays index': + create_non_racy_file two && + git update-index --add two && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $file1_blob 0 one + 100644 $EMPTY_BLOB 0 two + EOF + test_cmp ls-files.expect ls-files.actual && -Reset branch 'master' -Deleted branch baz (was a4f4a16). -hint: If you meant to check out a remote tracking branch on, e.g. 'origin', -hint: you can do so by fully qualifying the name with the --track option: -hint: -hint: git checkout --track origin/ -hint: -hint: If you'd like to always have checkouts of an ambiguous prefer -hint: one remote, e.g. the 'origin' remote, consider setting -hint: checkout.defaultRemote=origin in your config. -fatal: 'baz' matched multiple (2) remote tracking branches -fatal: Needed a single revision -ok 14 - checkout of branch from multiple remotes fails #3 + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + q_to_tab >expect <<-EOF && + $BASE + 100644 $file1_blob 0Q + 100644 $EMPTY_BLOB 0 two + replacements: 0 + deletions: + EOF + test_cmp expect actual -expecting success of 2024.15 'checkout of branch from a single remote succeeds #3': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D spam && +ok 7 - add another file, which stays index - git checkout spam && - status_uno_is_clean && - test_branch spam && - test_cmp_rev refs/remotes/extra_dir/repo_c/extra_dir/spam HEAD && - test_branch_upstream spam repo_c spam +expecting success of 1700.8 'remove file not in base index': + git update-index --force-remove two && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $file1_blob 0 one + EOF + test_cmp ls-files.expect ls-files.actual && -Reset branch 'master' -error: branch 'spam' not found. -Switched to a new branch 'spam' -Branch 'spam' set up to track remote branch 'spam' from 'repo_c'. -ok 15 - checkout of branch from a single remote succeeds #3 + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + q_to_tab >expect <<-EOF && + $BASE + 100644 $file1_blob 0Q + replacements: 0 + deletions: + EOF + test_cmp expect actual -expecting success of 2024.16 'checkout of branch from a single remote succeeds #4': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D eggs && +ok 8 - remove file not in base index - git checkout eggs && - status_uno_is_clean && - test_branch eggs && - test_cmp_rev refs/repo_d/eggs HEAD && - test_branch_upstream eggs repo_d eggs +expecting success of 1700.9 'remove file in base index': + git update-index --force-remove one && + git ls-files --stage >ls-files.actual && + test_must_be_empty ls-files.actual && -Switched to and reset branch 'master' -error: branch 'eggs' not found. -Switched to a new branch 'eggs' -Branch 'eggs' set up to track remote branch 'eggs' from 'repo_d'. -ok 16 - checkout of branch from a single remote succeeds #4 + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: 0 + EOF + test_cmp expect actual -expecting success of 2024.17 'checkout of branch with a file having the same name fails': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D spam && +ok 9 - remove file in base index - >spam && - test_must_fail git checkout spam && - status_uno_is_clean && - test_must_fail git rev-parse --verify refs/heads/spam && - test_branch master +expecting success of 1700.10 'add original file back': + create_non_racy_file one && + git update-index --add one && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + EOF + test_cmp ls-files.expect ls-files.actual && -Switched to and reset branch 'master' -Deleted branch spam (was 1702b85). -fatal: 'spam' could be both a local file and a tracking branch. -Please use -- (and optionally --no-guess) to disambiguate -fatal: Needed a single revision -ok 17 - checkout of branch with a file having the same name fails + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + 100644 $EMPTY_BLOB 0 one + replacements: + deletions: 0 + EOF + test_cmp expect actual -expecting success of 2024.18 'checkout of branch with a file in subdir having the same name fails': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D spam && +ok 10 - add original file back - >spam && - mkdir sub && - mv spam sub/spam && - test_must_fail git -C sub checkout spam && - status_uno_is_clean && - test_must_fail git rev-parse --verify refs/heads/spam && - test_branch master +expecting success of 1700.11 'add new file': + create_non_racy_file two && + git update-index --add two && + git ls-files --stage >actual && + cat >expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + 100644 $EMPTY_BLOB 0 two + EOF + test_cmp expect actual -Reset branch 'master' -error: branch 'spam' not found. -fatal: 'spam' could be both a local file and a tracking branch. -Please use -- (and optionally --no-guess) to disambiguate -fatal: Needed a single revision -ok 18 - checkout of branch with a file in subdir having the same name fails +ok 11 - add new file -expecting success of 2024.19 'checkout -- succeeds, even if a file with the same name exists': - git checkout -B master && - status_uno_is_clean && - test_might_fail git branch -D spam && +expecting success of 1700.12 'unify index, two files remain': + git update-index --no-split-index && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + 100644 $EMPTY_BLOB 0 two + EOF + test_cmp ls-files.expect ls-files.actual && - >spam && - git checkout spam -- && - status_uno_is_clean && - test_branch spam && - test_cmp_rev refs/remotes/extra_dir/repo_c/extra_dir/spam HEAD && - test_branch_upstream spam repo_c spam + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + not a split index + EOF + test_cmp expect actual -Reset branch 'master' -error: branch 'spam' not found. -Switched to a new branch 'spam' -Branch 'spam' set up to track remote branch 'spam' from 'repo_c'. -ok 19 - checkout -- succeeds, even if a file with the same name exists +ok 12 - unify index, two files remain -expecting success of 2024.20 'loosely defined local base branch is reported correctly': +expecting success of 1700.13 'rev-parse --shared-index-path': + test_create_repo split-index && + ( + cd split-index && + git update-index --split-index && + echo .git/sharedindex* >expect && + git rev-parse --shared-index-path >actual && + test_cmp expect actual && + mkdir subdirectory && + cd subdirectory && + echo ../.git/sharedindex* >expect && + git rev-parse --shared-index-path >actual && + test_cmp expect actual + ) - git checkout master && - status_uno_is_clean && - git branch strict && - git branch loose && - git commit --allow-empty -m "a bit more" && +Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t1700-split-index/split-index/.git/ +ok 13 - rev-parse --shared-index-path - test_config branch.strict.remote . && - test_config branch.loose.remote . && - test_config branch.strict.merge refs/heads/master && - test_config branch.loose.merge master && +expecting success of 1700.14 'set core.splitIndex config variable to true': + git config core.splitIndex true && + create_non_racy_file three && + git update-index --add three && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + 100644 $EMPTY_BLOB 0 three + 100644 $EMPTY_BLOB 0 two + EOF + test_cmp ls-files.expect ls-files.actual && + BASE=$(test-tool dump-split-index .git/index | grep "^base") && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: + EOF + test_cmp expect actual - git checkout strict | sed -e "s/strict/BRANCHNAME/g" >expect && - status_uno_is_clean && - git checkout loose | sed -e "s/loose/BRANCHNAME/g" >actual && - status_uno_is_clean && +ok 14 - set core.splitIndex config variable to true +expecting success of 1700.15 'set core.splitIndex config variable to false': + git config core.splitIndex false && + git update-index --force-remove three && + git ls-files --stage >ls-files.actual && + cat >ls-files.expect <<-EOF && + 100644 $EMPTY_BLOB 0 one + 100644 $EMPTY_BLOB 0 two + EOF + test_cmp ls-files.expect ls-files.actual && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + not a split index + EOF test_cmp expect actual -Switched to branch 'master' -[master b3a488e] a bit more - Author: A U Thor -Switched to branch 'strict' -Switched to branch 'loose' -ok 20 - loosely defined local base branch is reported correctly - -expecting success of 2024.21 'reject when arg could be part of dwim branch': - git remote add foo file://non-existent-place && - git update-ref refs/remotes/foo/dwim-arg HEAD && - echo foo >dwim-arg && - git add dwim-arg && - echo bar >dwim-arg && - test_must_fail git checkout dwim-arg && - test_must_fail git rev-parse refs/heads/dwim-arg -- && - grep bar dwim-arg +ok 15 - set core.splitIndex config variable to false -fatal: 'dwim-arg' could be both a local file and a tracking branch. -Please use -- (and optionally --no-guess) to disambiguate -fatal: bad revision 'refs/heads/dwim-arg' -bar -ok 21 - reject when arg could be part of dwim branch +expecting success of 1700.16 'set core.splitIndex config variable back to true': + git config core.splitIndex true && + create_non_racy_file three && + git update-index --add three && + BASE=$(test-tool dump-split-index .git/index | grep "^base") && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: + EOF + test_cmp expect actual && + create_non_racy_file four && + git update-index --add four && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + 100644 $EMPTY_BLOB 0 four + replacements: + deletions: + EOF + test_cmp expect actual -expecting success of 2024.22 'disambiguate dwim branch and checkout path (1)': - git update-ref refs/remotes/foo/dwim-arg1 HEAD && - echo foo >dwim-arg1 && - git add dwim-arg1 && - echo bar >dwim-arg1 && - git checkout -- dwim-arg1 && - test_must_fail git rev-parse refs/heads/dwim-arg1 -- && - grep foo dwim-arg1 +ok 16 - set core.splitIndex config variable back to true -fatal: bad revision 'refs/heads/dwim-arg1' -foo -ok 22 - disambiguate dwim branch and checkout path (1) +expecting success of 1700.17 'check behavior with splitIndex.maxPercentChange unset': + git config --unset splitIndex.maxPercentChange && + create_non_racy_file five && + git update-index --add five && + BASE=$(test-tool dump-split-index .git/index | grep "^base") && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: + EOF + test_cmp expect actual && + create_non_racy_file six && + git update-index --add six && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + 100644 $EMPTY_BLOB 0 six + replacements: + deletions: + EOF + test_cmp expect actual -expecting success of 2024.23 'disambiguate dwim branch and checkout path (2)': - git update-ref refs/remotes/foo/dwim-arg2 HEAD && - echo foo >dwim-arg2 && - git add dwim-arg2 && - echo bar >dwim-arg2 && - git checkout dwim-arg2 -- && - git rev-parse refs/heads/dwim-arg2 -- && - grep bar dwim-arg2 +ok 17 - check behavior with splitIndex.maxPercentChange unset -Switched to a new branch 'dwim-arg2' -A dwim-arg -A dwim-arg1 -A dwim-arg2 -Branch 'dwim-arg2' set up to track remote branch 'dwim-arg2' from 'foo'. -fea4556a03c9ebfd8846a6e5b9d34170eeb7706d --- -bar -ok 23 - disambiguate dwim branch and checkout path (2) +expecting success of 1700.18 'check splitIndex.maxPercentChange set to 0': + git config splitIndex.maxPercentChange 0 && + create_non_racy_file seven && + git update-index --add seven && + BASE=$(test-tool dump-split-index .git/index | grep "^base") && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: + EOF + test_cmp expect actual && + create_non_racy_file eight && + git update-index --add eight && + BASE=$(test-tool dump-split-index .git/index | grep "^base") && + test-tool dump-split-index .git/index | sed "/^own/d" >actual && + cat >expect <<-EOF && + $BASE + replacements: + deletions: + EOF + test_cmp expect actual -# passed all 23 test(s) -1..23 -make[4]: Leaving directory '/build/git-2.30.2/t' -make[4]: Entering directory '/build/git-2.30.2/t' -*** t2401-worktree-prune.sh *** -Initialized empty Git repository in /build/git-2.30.2/t/trash directory.t2401-worktree-prune/.git/ -expecting success of 2401.1 'initialize': - git commit --allow-empty -m init +ok 18 - check splitIndex.maxPercentChange set to 0 -[master (root-commit) 50572bf] init - Author: A U Thor -ok 1 - initialize +expecting success of 1700.19 'shared index files expire after 2 weeks by default': + create_non_racy_file ten && + git update-index --add ten && + test $(ls .git/sharedindex.* | wc -l) -gt 2 && + just_under_2_weeks_ago=$((5-14*86400)) && + test-tool chmtime =$just_under_2_weeks_ago .git/sharedindex.* && + create_non_racy_file eleven && + git update-index --add eleven && + test $(ls .git/sharedindex.* | wc -l) -gt 2 && + just_over_2_weeks_ago=$((-1-14*86400)) && + test-tool chmtime =$just_over_2_weeks_ago .git/sharedindex.* && + create_non_racy_file twelve && + git update-index --add twelve && + test $(ls .git/sharedindex.* | wc -l) -le 2 -expecting success of 2401.2 'worktree prune on normal repo': - git worktree prune && - test_must_fail git worktree prune abc +ok 19 - shared index files expire after 2 weeks by default -usage: git worktree add [] [] - or: git worktree list [] - or: git worktree lock [] - or: git worktree move - or: git worktree prune [] - or: git worktree remove [] - or: git worktree unlock +expecting success of 1700.20 'check splitIndex.sharedIndexExpire set to 16 days': + git config splitIndex.sharedIndexExpire "16.days.ago" && + test-tool chmtime =$just_over_2_weeks_ago .git/sharedindex.* && + create_non_racy_file thirteen && + git update-index --add thirteen && + test $(ls .git/sharedindex.* | wc -l) -gt 2 && + just_over_16_days_ago=$((-1-16*86400)) && + test-tool chmtime =$just_over_16_days_ago .git/sharedindex.* && + create_non_racy_file fourteen && + git update-index --add fourteen && + test $(ls .git/sharedindex.* | wc -l) -le 2 - -n, --dry-run do not remove, show only - -v, --verbose report pruned working trees - --expire - expire working trees older than